【转】编写高质量代码改善C#程序的157个建议——建议128:考虑让派生类的名字以基类名字作为后缀

 

建议128:考虑让派生类的名字以基类名字作为后缀

派生类的名字可以考虑以基类名字作为后缀。这带来的好处是,从类型的名字上我们就知道它包含在哪一个继承体系中。

Exception及其子类就是这样一个典型的例子。所有的异常都应该继承自System.Exception,而所有的异常都应该命名为CustomedException。如果在VS中输入Exception,再按Tab键,会自动生成如下代码:

    [Serializable]
    public class MyException : Exception
    {
        //
        // For guidelines regarding the creation of new exception types, see
        //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconerrorraisinghandlingguidelines.asp
        // and
        //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp07192001.asp
        //

        public MyException()
        {
        }

        public MyException(string message) : base(message)
        {
        }

        public MyException(string message, Exception inner) : base(message, inner)
        {
        }

        protected MyException(
            SerializationInfo info,
            StreamingContext context) : base(info, context)
        {
        }
    }

 

从这里我们可以看出,微软支持让派生类的名字以基类名字作为后缀。

在FCL中,这类常用的例子还有Attribute、EventArgs等。

 

 

转自:《编写高质量代码改善C#程序的157个建议》陆敏技

posted @ 2017-12-08 17:44  指间的徘徊  阅读(228)  评论(0编辑  收藏  举报