У меня есть класс, объявленный как:Сложная декларация класса смущает формы дизайнера?
public class Foo<T> : Panel where T : Control, IFooNode , new()
{
...
}
Я добавил его вручную, чтобы проверить это, но я в конце концов, нужно что-то, что может быть отображено в конструкторе форм. Конструктор форм не нравится, он говорит:
Could not find type 'FooTestNameSpace.Foo'. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully built.
Интересно, что я также получить предупреждение, что подобное, но включает в себя универсальный тип я использовал в моем объявлении переменной. Предупреждение является:
Could not find type 'FooTestNameSpace.Foo<FooTestNameSpace.FooNodeType>'. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully built.
Декларация в моем простом классе Form1 является:
private FooTestNameSpace.Foo myFoo;
(FooNodeType действительно просто подкласс ярлыка, который имеет одно вспомогательное свойство не используется еще, это реализовать IFooNode).
Итак, мой вопрос ... С помощью этого типа настройки, как я могу получить Foo для отображения в дизайнере форм, или, по крайней мере, заставить его признать, что Foo является законным? Есть ли атрибут Designer, который может справиться с этим? Меня не волнует, если мой Foo-элемент управления отображается как пустой ящик, если он вообще появляется!
Дизайнер хорош для простого перетаскивания вещей. Для более сложных подписей классов вы можете ожидать слишком многого. –
Возможно, было бы более полезно, если бы вы также точно объяснили, что именно вы пытаетесь выполнить с этим классом, и, возможно, еще немного кода. Вполне возможно, что у вас просто отсутствует оператор using, но из вашего фрагмента невозможно сказать. –