我在看“System.Exception”的structurall的派生类是否等同于`System.Exception`?
它是正确的,所有(或大多数情况下)的System.Exception
派生类,无论是用户定义或系统定义为structurally equivalent到它们的基类System.Exception
,尽管它们是non nominally equivalent?
谢谢。
我在看“System.Exception”的structurall的派生类是否等同于`System.Exception`?
它是正确的,所有(或大多数情况下)的System.Exception
派生类,无论是用户定义或系统定义为structurally equivalent到它们的基类System.Exception
,尽管它们是non nominally equivalent?
谢谢。
不。当我从System.Exception继承时,我将新变量添加到派生类。一些库存异常也是如此。
不一定(可能根本没有)。根据定义,任何继承于System.Exception的类都将实现System.Exception实现的所有内容。但是,它也会有自己的差异。
让我们来看一个简单的例子:ArgumentNullException。这是一个System命名空间异常,所以由C#的创建者定义。比较System.Exception与System.ArgumentNullException显示差异。例如:
ArgumentNullException具有带签名ArgumentNullException(String,String)的附加构造方法,允许您传入参数的名称为null。
ArgumentNullException有一个额外的属性:ParamName,用于保存参数名称为null并导致异常。
由于我只看最高级别,所以在实现这些方法之间的常用方法时也可能存在差异。
只要说一下,孩子班级很少看起来与其父母完全相同。
也许你可以分享你的问题,为什么这是相关的,你想如何使用这些信息来构造你的代码中的异常 - 例子可以很好地工作。 – Snympi