У меня есть общая функция, которая ограничена структурой. Мои входы в коробке («объекты»). Можно ли отключить значение во время выполнения, чтобы избежать необходимости проверять каждый возможный тип и выполнять листы вручную?Общая разблокировка типов значений в штучной упаковке
См вышеприведенный пример:
public struct MyStruct
{
public int Value;
}
public void Foo<T>(T test)
where T : struct
{
// do stuff
}
public void TestFunc()
{
object o = new MyStruct() { Value = 100 }; // o is always a value type
Foo(o);
}
В примере, я знаю, что о должен быть на структуру (однако, он не должен быть MyStruct ...). Есть ли способ вызвать Foo без тонны кода шаблона для проверки всех возможных типов структуры?
спасибо.
Интересный вопрос. Информация есть все, но, похоже, не существует способа «обобщенного перевода в производную». Очень расстраивает. Кто-то упомянул динамику (потребности 4.5). И мне интересно, можно ли что-то построить с помощью деревьев выражений. –