如果我从一个基类继承并希望将继承类的构造函数中的某些东西传递给基类的构造函数,我该怎么做?
例如,
如果我从Exception类继承,我想做这样的事情:
class MyExceptionClass : Exception
{
public MyExceptionClass(string message, string extraInfo)
{
//This is where it's all falling apart
base(message);
}
}
Run Code Online (Sandbox Code Playgroud)
基本上我想要的是能够将字符串消息传递给基本的Exception类.
在this关键字是冒号之前.任何人都可以解释结肠在这种情况下的含义吗?我不相信这是一种安慰.
谢谢
using System;
namespace LinkedListLibrary
{
class ListNode
{
private object data;
private ListNode next;
public ListNode(object dataValue)
: this(dataValue, null)
{
}
public ListNode(object dataValue, ListNode nextNode)
{
data = dataValue;
next = nextNode;
}
public ListNode Next
{
get
{
return next;
}
set
{
next = value;
}
}
public object Data
{
get
{
return data;
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有下一个代码:
struct T
{
public T(int u)
{
this.U = 10; //Errors are here
}
public int U { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)
C#编译器在规定的行中给出了一对错误:1)在将控制权返回给调用者之前,必须完全分配自动实现的属性"TestConsoleApp.Program.TU"的后备字段.考虑从构造函数初始化程序中调用默认构造函数.2)在分配所有字段之前,不能使用'this'对象
我做错了什么?帮帮我理解
我时不时地碰到我以前见过的语法,但从未使用过.这是其中一次.
有人可以按照C#构造函数方法解释":this"或":base"的用途吗?
例如:
public MyClass(SomeArg arg) : this(new SomethingElse(), arg)
{
}
Run Code Online (Sandbox Code Playgroud)
我的直觉是它用于将默认参数映射到另一个构造函数方法.