要约束子类都具有一个静态方法,可以使用where\ T\ :\ classwhere\ T\ :\ new()约束条件结合起来使用。以下是一个示例:\n\ncsharp\npublic\ class\ MyBaseClass<T>\ where\ T\ :\ class\n{\n\tpublic\ static\ void\ MyStaticMethod()\n\t{\n\t Console.WriteLine("This\ is\ a\ static\ method\ in\ the\ base\ class");\n\t}\n}\n\npublic\ class\ MySubClass\ :\ MyBaseClass<MySubClass>\n{\n\t//\ 子类继承了静态方法\n}\n\nclass\ Program\n{\n\tstatic\ void\ Main(string[]\ args)\n\t{\n\t MySubClass.MyStaticMethod();\ //\ 调用静态方法\n\t}\n}\n\n\n在上面的示例中,MyBaseClass<T>类约束了T必须是一个类,而MySubClass继承了MyBaseClass<MySubClass>,因此MySubClass也具有了静态方法MyStaticMethod。在Main方法中,我们可以直接通过MySubClass.MyStaticMethod()调用这个静态方法。

C# 约束子类继承静态方法 - 使用泛型约束

原文地址: https://www.cveoy.top/t/topic/qqoF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录