C#の汎用制約-

1134 ワード

`class b {
} class c { public c(string s) {
}
public void hello(T t) where T: new()
{ 
}

} class a where T:class { public T x; } public class FanxingClient : MonoBehaviour {
void Start () {
    a abc = new a();
    abc.x.hello(new b());

    a abc2 = new a();
    abc2.x = new c("");
}`

メモを取って、今日C#の汎用コンストレイント対クラスのコンストレイントとメソッドのコンストレイントクラスのコンストレイントを学びました.class a where T:class
{
public T x;
}
制限汎用クラスのTタイプは参照タイプのみ、struct、値タイプに制限int、floatなどのキーワードを直接使用することもできる.メソッドの制約:
public void hello(T t) where T: Struct
    { 
    }

クラスのコンストレイントと似ていますが、パラメータのコンストレイントもできます.
public void hello(T t) where T: new()
    { 
    }

制限は无参の构造方法でしかできません注:自分のいくつかの理解、间违った地方、指摘を歓迎します~~~