私はCは、構造体でなければならない一般的な制約がある場合:C#ジェネリックと制約
class MyNum<C> where C : struct
{
C a;
public MyNum(C a)
{
this.a = a;
}
}
struct myStruct
{
public int a;
}
私はこれがコンパイルされることを理解する:
myStruct n = new myStruct();
n.a = 5;
MyNum<myStruct> str = new MyNum<myStruct>(n);
しかし、なぜこのコンパイルは希望を。 ¿番号5は構造ですか?私は、このことによって考え
:
int b = 5;
bがint型であることが、構造体を入力しないでしょう。私はここで何かを逃していると思う。私はBをインスタンス化
int b = 5;
アム:
また、単に正しい用語を使用するには? intインスタンスを作成しますか?何らかの理由で、私が "インスタンス"を考えるとき、私は参照型を考えます。ここで
:
ここCar c1 = new Car();
私は - 私は、車のインスタンスを作成したり、C1をインスタンス化することを理解しています。
であなただけの代わりにMyNumを使用することができませんか? –
Nekresh