Дизайнер ненавидит (то есть не поддерживает) общие элементы управления, и это не изменится в ближайшее время, так что не делайте этого. Вместо этого рассмотрите возможность иметь свойство (или подобное), которое принимает Type
, и выполняйте некоторую работу во время выполнения (отражение и т. Д.) - или: не используйте конструктор.
Например, если у вас есть:
public Type ControlType {get;set;} // comparable to T in the original
Вы можете использовать:
IElement el = (IElement) Activator.CreateInstance(ControlType);
Это даст вам все, что у вас есть в данный момент (new
, IElement
и т. Д.), Но просто не может выполнить проверку во время компиляции.