Я хочу сделать что-то подобное. Но я не могу использовать IMyInterface в качестве универсального типа для MyField, поскольку не обещано, что им будут управлять. Есть ли обходной путь?
public struct Main where T: unmanaged
{
MyField value;
public Main( Flag flag)
{
switch (flag)
{
case Flag.A:
value = new MyField();
break;
...
}
}
}
public struct MyField where T: unmanaged { }
public struct A : IMyInterface where T: unmanaged {...}
public struct B : IMyInterface where T: unmanaged {...}
public struct C : IMyInterface where T: unmanaged {...}
public struct D : IMyInterface where T: unmanaged {...}
public interface IMyInterface where T: unmanaged
{
//Some members.
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... onstraints