Я подозреваю, что ответ отрицательный, но можно ли сделать что-то подобное в C# .NET (v2.0).Generic Casting
class Converter<E>
{
public E Make(object o)
{
return o as E;
}
}
Если нет, то можно проверить типы, как это:
public bool IsType(object o, Type t)
{
return o is E;
}
Я не уверен, о терминологии, поэтому довольно трудно Google для меня. Но я предполагаю, что эти две проблемы связаны между собой. Есть идеи?
Это, вероятно, не имеет значения, но на 'как' также работает на обнуляемых типах значений. Так, например, 'o as int?' Компилируется. – svick
Обратите внимание, что в первом примере, если E - тип значения, не равный nullable, то преобразование unboxing должно быть точным; то есть, если объект содержит вложенный в квадрат int, вы не можете распаковать его, чтобы удвоить, даже если вы можете преобразовать int в double. –