如何解决我们可以使用泛型方法调用抽象类的静态方法吗?
这个问题分为两部分,但首先是一些示例代码:
public abstract class Animal
{
public static string Sound_Made()
{
return "Unknown"
}
}
public class Dog()
{
public static string Sound_Made()
{
return "Woof"
}
}
public class Cat()
{
public static string Sound_Made()
{
return "Meow"
}
}
请注意,Sound_made是静态的,因为它不依赖于实例。
我试图使通用函数具有以下形式:
public string Sound<T>()
{
if (typeof(T).isSubclassOf(Animal))
{
return T.Sound_Made() // This doesn't work since T is generic
}
else
{
return "This is not an animal."
}
}
我也尝试使用:public string Sound<T>() where T : Animal
,但这不允许我为其他类添加功能,为了简化问题我删除了这些功能。
在验证它们在所述通用函数内扩展了动物类之后,我怎么可能在通用函数中调用这些函数?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。