如何在C#里写这样的类 MyError.ErrorTypeA.show();

如果创建一个MyError类,可以这样调用:

 static void Main(string[] args)
{
    MyError.ErrorTypeA.show();
    MyError.ErrorTypeB.show();
}

我觉得应该把MyError声明为一个静态类,
但是如何声明那些具体的错误[ErrorTypeA,ErrorTrypeA,...],
让每个错误都有一个共同的方法show();

 public static class MyError
{
    public static ??? ErrorTypeA;
}
 interface IMyErr
{
void show();
}
class ErrorTypeA : IMyErr
{
public void show()
{
...
}
}
class ErrorTypeB : IMyErr
{
public void show()
{
...
}
}
class ErrorTypeC : IMyErr
{
public void show()
{
...
}
}
public static class MyError
{
    public static IMyErr ErrorTypeA = new  ErrorTypeA();
        public static IMyErr ErrorTypeB = new  ErrorTypeB();
        public static IMyErr ErrorTypeC = new  ErrorTypeC();
}

foreach (var f in typeof(MyError).GetFields(BindingFlags.NonPublic))
{
if (f.Name.StartWith("ErrorType"))
f.GetMethod("show").Invoke(null);
}

抱歉,我没表达清楚,我的问题是,如何实现MyError这个类呢?

可以去知乎上面或者github上面有

很明显是多态,MyError作为基类,其他的A,B,C,....作为 继承子类,public 或者private继承它,使用一般的方法也行,重写它们