コンストラクターに送信されたクラスのフィールドを初期化するための、次のような簡単な方法を覚えているようです。
Class A {
int n;
public A(int N) : n(N) {}
}
手がかりはありますか?
コンストラクターに送信されたクラスのフィールドを初期化するための、次のような簡単な方法を覚えているようです。
Class A {
int n;
public A(int N) : n(N) {}
}
手がかりはありますか?
次のように、コンストラクターの後にクラス フィールドを初期化する簡単な方法があります。
public class A
{
public int N;
public string S;
public A() {}
}
class B
{
void foo()
{
A a = new A() { N = 1, S = "string" }
}
}
それは C++ ですが、質問に C# というタグを付けました。C# には初期化リストの概念がなく、コンストラクターでフィールドを割り当てるだけです。ただし、同様の方法でコンストラクターをチェーンしたり、基本クラスのコンストラクターを呼び出したりすることができます
// call base class constructor before your own executes
public class B : A
{
public B(int whatever)
: base(something)
{
// more code here
}
}
// call secondary constructor
public class B : A
{
private int _something;
public B() : this(10) { }
public B(int whatever)
{
_something = whatever;
}
}