a我正在尝试使用反射来检索Microsoft.Office.Interop.Excel.Series对象的属性。代码执行时没有错误,但仅返回属性的部分列表(与对象浏览器中列出的... Series对象的属性进行比较)。查看...系列对象的运行时监视列表时,完整列表显示在"动态视图"下。我发现的文档指出这些是动态成员,无法进行编辑。是否可以使用反射来访问动态成员?
我在Office 2013 Professional Plus上使用Windows 8.1,VS 2013。我有很强的VBA背景,大约1年的C#经验。
public void LoadProperties(dynamic SourceObject, dynamic TargetObject)
{
Type sourcetype = SourceObject.GetType();
Type targettype = TargetObject.GetType();
if(sourcetype.Equals(targettype))
{
PropertyInfo[] properties = typeof(Microsoft.Office.Interop.Excel.Series).GetProperties();
foreach (PropertyInfo property in properties)
{
object propertyvalue = property.GetValue(SourceObject);
sourcetype.GetProperty(property.Name, BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static |
BindingFlags.NonPublic ).SetValue(TargetObject,propertyvalue);
}
}
}