我有三個名爲Person,City和District的類,以及其他一些類。確定作爲參數發送的對象類型
我發送這三個類中的一個作爲函數參數。我想做一個手術取決於這三個人中的哪一個已經被發現。我怎樣才能做到這一點?所有這三個類都擴展了一個實體類。
現在是這樣的:
public void Insert (City newCity)
但我想它是這樣的:
public void Insert (Entity e)
或類似的東西,而且無論它是(市或人),我想用它的屬性。
謝謝!
假設多態性是不可能的(即'e.DoTheThing(..如果(e是City){...} else if(e是Person){...}否則if(e是District){...}'? –
這裏有點難以猜出你在做什麼,沒有更多的代碼。但是看看'is'或'as'運算符來確定你正在處理的是哪一種類型/類。 –
爲什麼不只是使用'Insert'的三個重載?對一個方法的參數做類型檢查看起來很奇怪,而不是僅僅爲每個實體使用不同的方法...... – Chris