【发布时间】:2009-09-06 20:38:51
【问题描述】:
在 C# 中,您可以继承多少个类?
当你写的时候:
using System.Web.UI;
这是否考虑从一个类继承?
【问题讨论】:
标签: c# inheritance using-directives
在 C# 中,您可以继承多少个类?
当你写的时候:
using System.Web.UI;
这是否考虑从一个类继承?
【问题讨论】:
标签: c# inheritance using-directives
一个使用指令:
using X.Y.Z;
仅表示如果标识符不在本地命名空间中,则命名空间X.Y.Z 也将被搜索以查找该标识符。这使您可以拥有一些更简洁的代码,例如,如果您有using System.IO.Path,则不必执行System.IO.Path.Combine()。我不相信您可以拥有多少 using 语句。
C# 不允许多重继承 -- 你只能从一个类继承。但是,您可以实现任意数量的接口。
【讨论】:
不,
using directive 允许您在向代码中添加控件或类时不必键入完全限定的命名空间。
例如,如果我添加:
using System.Web.UI;
那么我可以简单地写:
Page.Something
代替:
System.Web.UI.Page.Something
继承
您只能inherit from one class,但您可以实现任意数量的Interfaces。
如果我的所有页面都继承自一个基类,那么该基类将需要继承自 Page 类才能发挥作用。
【讨论】:
你只能从一个类继承。
编写“使用 System.Web.UI”与继承无关。 该语句仅表示您想“使用”命名空间 System.Web.UI 中的类,以便您可以直接编写类名,而不是让它以命名空间名作为前缀。
【讨论】:
没有。
using 使外部定义的类可见class Cat : Animal 定义了一个类 Pet,它从 Animal 派生(继承)
C# 与 C++ 不同,不支持多重继承,因此您只能从一个类派生它(但是,您可以实现任意数量的接口)
【讨论】:
我想在 Jen 给出的答案中添加一个附录。说 C# 不支持多重继承是正确的,但是知道可以通过忽略 CLS(命令语言子系统)在 .NET 中实现多重继承会很有用。这是一项令人讨厌的工作,并且涉及到您滚动自己的 vtable,但这是可能的。
【讨论】: