Yat*_*rix 0 c# generics inheritance .net-3.5
我正在创建一个派生自的抽象类.我有一个Value可以是众多数据类型的属性.我看到一篇关于泛型的文章,我只是想知道我的理解是否正确.
有抽象:
BaseClass<T>
Run Code Online (Sandbox Code Playgroud)
并继承它像:
InheritingClass: BaseClass<int>
Run Code Online (Sandbox Code Playgroud)
基本上等于:在BaseClass中定义的类型的任何地方T,int通过InheritingClass使用时将其视为一个类型?
这是我的理解,我只是想确保在构建其余的这些类之前这是正确的,并且发现我已经离开了.这是我第一次使用泛型.
不,不是的; 这意味着你的班级特别只是继承自BaseClass<int>.如果您T在自己中定义泛型类型参数InheritingClass,如下所示:
InheritingClass<T> : BaseClass<int>
Run Code Online (Sandbox Code Playgroud)
那个类型参数只适用于InheritingClass和它自己的成员,并不适用BaseClass于任何方式.也不对T在InheritingClass自动解析到int,由于血统.换句话说,两个类型参数彼此独立.