kpo*_*zin 9 .net c# polymorphism types
我想编写如下函数
public void Foo(System.Type t where t : MyClass)
{ ... }
Run Code Online (Sandbox Code Playgroud)
换句话说,参数类型是System.Type,我想将允许的Types 限制为派生的MyClass.
有没有办法在语法上指定它,或者t必须在运行时检查?
如果你的方法必须采用Type类型作为它的参数,我认为没有办法做到这一点.如果你有方法调用的灵活性,你可以这样做:public void Foo(MyClass myClass)和通过调用.GetType()来获取Type.
扩大一点.System.Type是参数的类型,因此无法进一步指定应传递的内容.就像采用1到10之间的整数的方法一样,必须采用int然后执行运行时检查是否正确遵守了限制.
| 归档时间: |
|
| 查看次数: |
3894 次 |
| 最近记录: |