请教一个关于反射的问题 public class A{public struct B{public static string C="string";}}以上这个类在一个DLL文件里。我如何用反射获取到string C的值? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的需求是这样的:要根据用户的输入动态决定用哪个B和C,实际上A里面不止一个B,B里面也不止一个C。解决方法其实很简单: _assembly = Assembly.LoadFile("DLL的路径"); //_srcList 里存放A的列表,A级别的类有很多个 _srcList = AssemblyReader.GetClassListFromAssembly(_assembly); //关键就是这个GetNestedTypes方法,可以获取到A里面的内嵌结构,我之前一直用GetMemberinfo(),无法继续解析A里面的B了。 Type[] ti = _srcList["用户选择的B的索引"].GetNestedTypes(System.Reflection.BindingFlags.Public); foreach (Type x in ti) { if (x.Name == "用户选择的C名字") { //fields就是C的列表了 FieldInfo[] fields = x.GetFields(); string str = fields[1].GetValue(null).ToString(); } } 我是用一个classFactory(string dllpath,string usingname) 这个函数。 指定dll和域名空间.然后指定到该类,就好。至于你怎么传参,就是动态的了。 C#生成二维条形码 C# 数据转换 Float 转 DateTime double 转 经纬度 messagebox。show()问题 程序结束时connect对象如果不关闭会有什么后果? 关于音频处理问题 遇到双精度计算结果为NaN值时,如何处理。因为写数据库时提示SQL语句中有“非数字”错误而中断。 C# 填充图像问题 关于dataGirdView设置分页问题 c# 提取HTML代码中的磁力链接的正则表达式如何写? 结构体传值时神奇的乱码问题,求指点 关于c#中使用线程,如何手动释放线程的问题?
//_srcList 里存放A的列表,A级别的类有很多个
_srcList = AssemblyReader.GetClassListFromAssembly(_assembly);
//关键就是这个GetNestedTypes方法,可以获取到A里面的内嵌结构,我之前一直用GetMemberinfo(),无法继续解析A里面的B了。
Type[] ti = _srcList["用户选择的B的索引"].GetNestedTypes(System.Reflection.BindingFlags.Public);
foreach (Type x in ti)
{
if (x.Name == "用户选择的C名字")
{
//fields就是C的列表了
FieldInfo[] fields = x.GetFields();
string str = fields[1].GetValue(null).ToString();
} }