Assembly asm = Assembly.Load("ClassLibrary1");
Type ob = asm.GetType("ClassLibrary1.UserControl1");
UserControl uc = (UserControl)Activator.CreateInstance(ob);
grd.Children.Add(uc);
Я создаю экземпляр класса, но как я могу создать экземпляр класса, который реализует некоторый интерфейс? т. е. UserControl1 реализует интерфейс ILoad.
U: Я могу привести объект к интерфейсу позже, но я не знаю, какой тип в сборках реализует интерфейс.
[code] Assembly asm = Assembly.Load("ClassLibrary1"); Type ob = asm.GetType("ClassLibrary1.UserControl1"); UserControl uc = (UserControl)Activator.CreateInstance(ob); grd.Children.Add(uc); [/code]
Я создаю экземпляр класса, но как я могу создать экземпляр класса, который реализует некоторый интерфейс? т. е. [b]UserControl1[/b] реализует интерфейс [b]ILoad[/b].
[b]U:[/b] Я могу привести объект к интерфейсу позже, но я не знаю, какой тип в сборках реализует интерфейс.
var comObject = Activator.CreateInstance( Type.GetTypeFromProgID( Outlook.Application )) Since the new Outlook is turned on, that line does not return and just waits for something and hangs arround forever....
Я пытаюсь использовать метод Activator.CreateInstance отражения для создания требуемого модуля с параметрами, как показано ниже.
public TModule CreateModule(params object[]? parameters) where TModule : ApplicationModule
{
/*
* Create module
*/...
Частный динамический GetAnonymousItemData (тип anonType, средство чтения OracleDataReader)
{
var item = new object ;
for (int i = 0; i < reader.FieldCount; i++)
{
item = reader ;
if (i == 0)
{
item = Convert.ToInt64(reader );
}
else
{
item =...