2015-05-21 2 views
1

Я столкнулся с проблемой «курица или яйцо». Наконец, после многих часов борьбы с CIL, я создал экземпляр класса, который был сгенерирован с использованием метода System.Reflection.Emit & Activator.CreateInstance(). Однако, поскольку класс является динамическим, Visual Studio не знает о классе, поэтому я не могу его кодировать. Как сделать его пригодным для использования и доступным для другого кода?Как правильно испускать и использовать класс?

Уточнение: Я создал динамический класс, который представляет содержимое UI ListBox. Пользователи могут войти и изменить содержимое ListBox, создавая новый класс. Мне нужно сделать мой динамический класс пригодным для использования остальной частью приложения, который не знает об этом новом типе/классе.

+0

Можете ли вы сделать шаг назад и объяснить, какую проблему вы пытаетесь решить? – Blorgbeard

+0

Неясные вопросы дают неопределенные ответы. Дайте нам некоторые реальные детали, и мы можем дать некоторые реальные ответы. (Если вы не хотите показывать свой код, возможно, пользовательский интерфейс, в котором вы строите объект, - это может ясно показать, что вы делаете.) – Hogan

+0

Как вы планируете использовать этот класс? Вы можете рассмотреть возможность внедрения интерфейса. – IllidanS4

ответ

3

Вы не можете сделать это доступным статически. Вы должны использовать какой-то динамический доступ. Или, чтобы класс реализовал интерфейс и применил экземпляры этого класса к соответствующему типу интерфейса.

Очень простое решение - использовать dynamic, если имена участников статически известны.

Смежные вопросы