我有三个名为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