C# - 子类中的自定义构造函数

use*_*188 1 c# constructor

我有一个基类:

class SDKBaseClass
{
    public SDKBaseClass();
    public SDKBaseClass(EndpointAddress remoteAddress);
}
Run Code Online (Sandbox Code Playgroud)

要创建SDKBaseClass的对象:

string host = "192.168.0.1";
string port = "4321";

Uri uri = new Uri(string.Concat(new String[] {
    "net.tcp://", host, ":", port
}));

SDKBaseClass sdkBaseClass = new SDKBaseClass(new EndpointAddress(uri, new AddressHeader[0]));
Run Code Online (Sandbox Code Playgroud)

我想创建继承自SDKBaseClass的子类:

class SDKChildClass : SDKBaseClass
{
    SDKChildClass(string host, string port);
}
Run Code Online (Sandbox Code Playgroud)

以及在SDKChildClass构造函数中创建Uri对象的位置:

public SDKChildClass(string host, string port)
{
    Uri uri = new Uri(string.Concat(new String[] {
        "net.tcp://", host, ":", port
    }));

    //what's next?
}
Run Code Online (Sandbox Code Playgroud)

我迷路了,我不知道SDKChildClass构造函数中的下一个应该是什么.它应该从基类的一个构造函数继承吗?

PS.SDKBaseClass来自DLL库,所以我不知道它的构造函数实现.

Amy*_*y B 8

将URI构造逻辑移动到一个方法并像这样调用它:

public SDKChildClass(string host, string port) : base(ConstructEndpoint(host, port))
{
}
Run Code Online (Sandbox Code Playgroud)

这称为构造函数链接.你可以链接到base()和this()