你能创建一个需要参数继承自另一个参数的方法吗?
说我正在写一个外部库类。
abstract class ImTheBaseClass
{
public int Age {get;set;}
}
class Does : ImTheBaseClass
{}
class AlsoDoes : ImTheBaseClass
class DoesNot
{}
我可以编写一个方法来接受Do和AlsoDoes(或任意数量的排列)作为参数但拒绝DoesNot(在编译时,而不是运行时)?
答案 0 :(得分:5)
不确定;只需将参数声明为Does
(或作为基类)。
答案 1 :(得分:5)
是的参数为ImTheBaseClass
类型,因此可以传入所有派生类型。
答案 2 :(得分:1)
当然可以。您只需要将基类作为参数
public void MyMethod(ImTheBaseClass myvar)
{
...something
}
然后可以像这样调用它
var x= new Does();
MyMethod(x);
答案 3 :(得分:0)
如果符合您的需要,您可以使用接口而不是基类,那么参数将是该接口。
interface IClass
{
int Age {get;set;}
}
class Does : IClass
{}
class DoesNot
{}