但是,您无法为类级别一般类型参数提供方法级别约束。类级别一般类型参数的所有约束都必须在类作用范围中定义。 在重写定义了一般类型参数的虚拟方法时,子类方法必须重新定义该方法特定的一般类型参数: public class BaseClass 子类实现必须重复在基础方法级别出现的所有约束: public class BaseClass 请注意,方法重写不能定义没有在基础方法中出现的新约束。 此外,如果子类方法调用虚拟方法的基类实现,则它必须指定要代替一般基础方法类型参数使用的类型实参。您可以自己显式指定它,或者依靠类型推理(如果可用): public class BaseClass 一般静态方法 C# 允许定义使用一般类型参数的静态方法。但是,在调用这样的静态方法时,您需要在调用场所为包含类提供具体的类型,如下面的示例所示: public class MyClass 静态方法可以定义方法特定的一般类型参数和约束,就像实例方法一样。在调用这样的方法时,您需要在调用场所提供方法特定的类型 — 可以按如下方式显式提供: public class MyClass 或者依靠类型推理(如果可能): int number = MyClass.SomeMethod(3,"AAA"); |
正在阅读:C# 最强大的功能--泛型简介C# 最强大的功能--泛型简介
2005-06-23 10:16
出处:
责任编辑:moningfeng
键盘也能翻页,试试“← →”键