110,538
社区成员
发帖
与我相关
我的任务
分享
IGeneric IObj = (IGeneric)Assembly.Load("SocketMethod").CreateInstance("SocketMethod." + Msg.ToString());
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SocketMethod
{
class Program
{
static void Main(string[] args)
{
// IGeneric IObj = (IGeneric)System.Reflection.Assembly.Load("SocketMethod").CreateInstance("SocketMethod." + Msg.ToString());
A a = new A();
if (a.Check("D1"))
Console.WriteLine("D1有事件");
else
Console.WriteLine("D1无事件");
if (a.Check("D2"))
Console.WriteLine("D2有事件");
else
Console.WriteLine("D2无事件");
}
}
public class A
{
public bool Check(string Msg)
{
IGeneric IObj = (IGeneric)System.Reflection.Assembly.Load("SocketMethod").CreateInstance("SocketMethod." + Msg.ToString());
System.Reflection.MemberInfo[] mis = IObj.GetType().GetMembers();
foreach (System.Reflection.MemberInfo mi in mis)
{
switch (mi.MemberType)
{
case System.Reflection.MemberTypes.Event:
//Console.WriteLine("有事件定义!");
//break;
return true;
case System.Reflection.MemberTypes.NestedType:
//Console.WriteLine("有委托定义!");
//break;
return true;
}
}
return false;
}
}
public interface IGeneric
{
}
//有事件
public class D1 : IGeneric
{
public delegate void EventHandler();
public event EventHandler Click;
}
//无事件
public class D2 : IGeneric
{
public void func()
{
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// IGeneric IObj = (IGeneric)System.Reflection.Assembly.Load("SocketMethod").CreateInstance("SocketMethod." + Msg.ToString());
IGeneric IObj = (IGeneric)System.Reflection.Assembly.Load("ConsoleApplication1").CreateInstance("ConsoleApplication1.D");
System.Reflection.MemberInfo[] mis = IObj.GetType().GetMembers();
foreach (System.Reflection.MemberInfo mi in mis)
{
switch (mi.MemberType )
{
case System.Reflection.MemberTypes.Event:
Console.WriteLine("有事件定义!");
break;
}
}
}
}
public interface IGeneric
{
}
public class D : IGeneric
{
public delegate void EventHandler();
public event EventHandler Click;
}
}