【发布时间】:2012-02-27 03:02:06
【问题描述】:
public class BusinessObjects<O>
where O : BusinessObject
{
void SomeMethod()
{
var s = O.MyStaticMethod(); // <- How to do this?
}
}
public class BusinessObject
{
public static string MyStaticMethod()
{
return "blah";
}
}
是否有正确的面向对象的方法来实现这一点,还是我需要求助于反射?
编辑:我试图过度简化这个问题而忽略了一个重要点。 MyStaticMethod 使用反射并且需要派生类型来返回正确的结果。然而,我刚刚意识到我的设计中的另一个缺陷是我不能拥有静态虚拟方法,我认为这就是我所需要的。
看来我需要找到另一种方法来解决这个问题。
【问题讨论】:
-
查看这里了解更多信息:stackoverflow.com/q/196661/114029
-
我认为这是一个很好的问题。目前无法在 C# 中完成。但这对于 Microsoft 添加到 .Net 5+ 是有用的