有一点c#语法我不懂。
我是一对夫妇类的接收端。简而言之,就是这个
public class ParentClass
{
public ParentClass();
public RandomEnumerated Random_Enumerated; //No get/set. Relevant?
}
public class ReceivedClass : ParentClass
{
public ReceivedClass();
public char Random_Field { get; set; }
}
当我这样做
public class ExtendedReceivedClass : ReceivedClass
{
public ExtendedReceivedClass();
public char A_New_Random_Field_of_My_Own { get; set; }
}
我被错误击中ExtendedReceivedClass.ExtendedReceivedClass()必须声明一个主体,因为它没有标记为抽象,外部或部分FuelTaCSClient
所以我们不能做父类做的事情
public ParentClass();
or
public ReceivedClass();
I have to do this
public ExtendedReceivedClass () {}
我的问题是
是公共ReceivedClass();在ReceivedClass构造函数?与ParentClass相同。
b
如果是,为什么他们可以做一个快捷版本,而我不能
或
如果它不是,它是什么?
">我是一对夫妇的接收端"—我想你正在使用Visual Studio的"Go To definition"查看那些类。或类似的,它们是在另一个DLL中定义的?
你会注意到Visual Studio向你展示了方法签名,而不是方法的主体:当它只有一个DLL时,很容易获得签名,但很难获得用于构建DLL的原始c#代码。这只是为了给你一个可用方法的概述,它不应该是有效的c#。
public ParentClass();
在c#中无效。这是构造函数的签名(表明存在一个公共无参数构造函数),但是当您在c#中定义构造函数时,您需要提供一个主体:
public ParentClass()
{
// ...
}
我将接受这个答案,因为它似乎最有意义。我相信,当我让VS告诉我父类中有什么内容时,它会给我一个简短的,稍微有点歪斜的版本。
我正在使用第三方搜索工具通过名称对父类进行硬搜索,如果我看到任何肯定或反驳这个结论的东西,我将发布更新。
感谢所有帮助过我的人!还有canton7 -谢谢你的支持!