c#构造函数问题,收到父类

  • 本文关键字:父类 构造函数 问题 c#
  • 更新时间 :
  • 英文 :


有一点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 -谢谢你的支持!

最新更新