meg*_*sta 0 c# compiler-construction visual-studio
不确定它是否合乎逻辑但想要学习.如果我们在创建新类时没有声明我们的基类,则visual studio和编译器都知道它继承了"object".有没有办法告诉编译器和visual studio(对于intellisense)我的基类不是"对象",例如它是"myobject"?也许是visual studio上的任何配置?
你可以说"从'myobject'继承你所有的课程",我知道但只是想知道它是否有可能.
不,绝对不是.这是C#规范的一部分,绝不是可选的.从10.1.4.1节:
如果类声明没有类库,或者类库仅列出接口类型,则假定直接基类为
object.
没有特定于实现的摆动室 - 这就是它的方式.就个人而言,我很高兴 - 我希望能够通过查看源代码来告诉直接基类,而无需了解任何项目配置.
编辑:为了清楚起见,C#可以设计为可以指定不同的类型作为基本类型.例如,我可以想象(但不喜欢)一种语言:
class Foo
{
}
Run Code Online (Sandbox Code Playgroud)
编译:
csc /evil:DefaultBaseClass=System.IO.Stream Foo.cs
Run Code Online (Sandbox Code Playgroud)
相当于:
class Foo : Stream
{
}
Run Code Online (Sandbox Code Playgroud)
这根本不会破坏.NET - 这是一个纯粹的语言决定.什么是由.NET执行是大多数类型结束了至少间接基类System.Object.我不认为某种语言可以设计为允许您设置"并行"类型层次结构.
| 归档时间: |
|
| 查看次数: |
1364 次 |
| 最近记录: |