遍历接口中所有成员

i设备基本资料 targetEquip = ios.CreateObject<i设备基本资料>();
foreach (var mi in Equip.GetType().GetMembers())
{
switch (mi.MemberType)
{
case System.Reflection.MemberTypes.Constructor:

break;
case System.Reflection.MemberTypes.Event:

break;
case System.Reflection.MemberTypes.Field:
break;
case System.Reflection.MemberTypes.Method:

break;
case System.Reflection.MemberTypes.Property:
if (mi.Name != "Oid" )
{
PropertyInfo pi = Equip.GetType().GetProperty(mi.Name);
if (pi.CanWrite)
{
object value = pi.GetValue(Equip, null);
if (value != null) //value = "null";
pi.SetValue(targetEquip, value, null);
//targetEquip.GetType().GetProperty(mi.Name).SetValue(value.GetType(), value, null);
}
}
break;
case System.Reflection.MemberTypes.TypeInfo:

break;
case System.Reflection.MemberTypes.Custom:

break;
case System.Reflection.MemberTypes.NestedType:

break;
case System.Reflection.MemberTypes.All:

break;
default:
throw new Exception("Invalid value for MemberTypes");
}
}

原文地址:https://www.cnblogs.com/jacker1979/p/2344448.html