Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 反射不适用于DevExpress.XtraGrid dll_C#_Devexpress_System.reflection - Fatal编程技术网

C# 反射不适用于DevExpress.XtraGrid dll

C# 反射不适用于DevExpress.XtraGrid dll,c#,devexpress,system.reflection,C#,Devexpress,System.reflection,我正在使用反射获取所有类型的DevExpress.XtraGrid程序集,但它会在windows应用程序中引发ReflectionTypeLoadException。 我的代码: 实际上,我希望获取dll中类型DevExpress.XtraGrid.Columns.GridColumn类的所有属性。只是尝试获取所有类型,因为它没有获取所述类型。我希望: var DLL1 = Assembly.LoadFile(@"D:\References\DevExpress.XtraGrid.v7.3.dl

我正在使用反射获取所有类型的DevExpress.XtraGrid程序集,但它会在windows应用程序中引发ReflectionTypeLoadException。 我的代码:

实际上,我希望获取dll中类型DevExpress.XtraGrid.Columns.GridColumn类的所有属性。只是尝试获取所有类型,因为它没有获取所述类型。我希望:

var DLL1 = Assembly.LoadFile(@"D:\References\DevExpress.XtraGrid.v7.3.dll");
var theType1 = DLL1.GetType("DevExpress.XtraGrid.Columns.GridColumn");//theType1 is giving null
我在System.Windows.Forms dll中对System.Windows.Forms.Label类型进行了相同的测试。它工作得很好,donno为什么不使用DevExpress控件呢


~Deepthi

是的,您会遇到错误,因为DevExpress.XtraGrid依赖于另一个dll。我认为您必须加载DevExpress.XtraGrid dll所需的所有dll

我没有DevExpress,因此无法测试,但我敢打赌他们正在使用模糊处理,而您需要的反射信息在运行时不存在,在这种情况下,答案是您无法在msdn中执行此操作:因此,您可能还需要加载其他dll。如果没有使用单个参数的GetTypes,请发布原始代码。@srimamsakthivel,我认为在第二种情况下只是一个输入错误:-~Grundy:是的,我观察到它在litst中的某个特定类型中失败。但是我如何在同一上下文/实例中加载第二个程序集&我如何知道第二个程序集名称以便也加载它。嗨,pramod,我如何知道DevExpress.XtraGrid dll的所有依赖dll。在DevExpress网站中搜索,但没有任何线索。@deep我使用的是更高版本的DevExpress.data、DevExpress.printing、DevExpress.Utils、DevExpress.xtraeditor、DevExpress.xtralayout、,DevExpress.xtraprinting在我的版本中使用这些dll会造成更多的混乱…在加载DevExpress.XtraGrid dll时,我如何加载这些依赖dll。我的意思是Assembly.LoadFile/LoadFrom采用单一路径,或者我们有其他一些程序集加载方法??为什么不将此dll引用添加到项目中?为什么要动态加载
var DLL1 = Assembly.LoadFile(@"D:\References\DevExpress.XtraGrid.v7.3.dll");
var theType1 = DLL1.GetType("DevExpress.XtraGrid.Columns.GridColumn");//theType1 is giving null