Constraints
他のオブジェクトが従わなければならない一連のルールを取得するオブジェクトがあります。
constraints
GetEnumValueRange<T>()
whereT
は Enum の型であるというメソッドがあります。
たとえば、列挙型を次のように定義できます。
[Flags]
public enum BoxWithAHook
{
None = 0,
Thing1 = 1,
Thing2 = 2,
...
// lots of other things that might be in the box
ThingN = N
}
次に、特定のコンテキスト内で有効な値の範囲を取得できますBoxWithAHook
。
var val = constraints.GetEnumValueRange<BoxWithAHook>();
問題は、この作業を行うためにリフレクションを使用しようとしていることです。BoxWithAHook
タイプがであることを指定することはできませんEnum
。これは私が持っているものの例です:
if (propertyInfo.PropertyType.BaseType == typeof(Enum))
{
var val = constraints.GetEnumValueRange<>(); // what is the generic type here?
// now I can use val to get the constraint values
}
ジェネリック型を指定することはできますか? 理想的には、これはうまくいくでしょう:
constraints.GetEnumValueRange<propertyInfo.PropertyType>();
しかし、明らかにそうではありません