Item
の使い方に応じて、ジェネリックまたはdynamic
のいずれかを使用できます。
、ジェネリック医薬品のアプローチを使用するなどのItem
を定義するには:
class Item<T> {
public T Variable { get; set; }
}
をあなたはそのVariable
intでアイテムをしたい場合は、この操作を行います。あなたはそのVariable
アイテムが欲しいとき
var intItem = new Item<int>()
// you can set the Variable property to an int now!
intItem.Variable = -1;
をこれは何ですか?
var byteItem = new Item<byte>()
// you can set the Variable property to a byte
byteItem.Variable = 10;
など...
このアプローチの1つの特徴は、アイテムが作成されるとアイテムのVariable
のタイプを変更できないことです。だから、これは不可能です。
intItem.Variable = "Hello";
あなたは新しいアイテムを作成することなく、他の何かにそのタイプを変更したい場合は、動的変数を使用する必要があります。
class Item {
public dynamic Variable {get; set;}
}
あなたは今、このような何かを行うことができます:
var myItem = new Item();
myItem.Variable = "Hello";
myItem.Variable = 10;
これは基本的にobject
としてVariable
の定義と同じであるが、それはobject
との間のキャスト、あなたの時間を節約できます希望のタイプ。
値が範囲外であるかどうかの確認については、dynamic
を使用するとチェックするのが少し難しいかもしれません。しかし、私はこの小さなテストを行なったし、値がオーバーフローしたときに、それだけで周りにラップすることがわかった: `項目
`タイプと間違っ
var item = new Item();
item.Variable = byte.MaxValue;
item.Variable++;
Console.WriteLine(item.Variable); // prints 0
何を?私はあなたが求めていることを理解するのに苦労しています。 – jdphenix
この変数の使い方のサンプルコードを示してください。 – CodeCaster
あなたはgenericsを調べるべきです – Jonesopolis