日期:2014-05-18  浏览次数:20837 次

.NET 中C# 如何读取资源dll 中的资源
例如DevExpress.XtraBars.v7.3.resources.dll
可以通过GetString(string Name) 获取对应的资源值




------解决方案--------------------
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1)); 
Image img= ((System.Drawing.Image)(resources.GetObject("picFrom.Image")));
http://blog.csdn.net/cdo/archive/2005/01/05/240363.aspx 

------解决方案--------------------
可用反射;
------解决方案--------------------
Resources.你的资源的类名.资源文件中的键值,注意要引用using System.Globalization;.cs文件的用法如Resources.BaseInfo.MessageConfirmDelete
------解决方案--------------------
C# code

Assembly assm = this.GetType().Assembly;//Assembly.LoadFrom(程序集路径);
            foreach (string resName in assm.GetManifestResourceNames())
            {
                Stream stream = assm.GetManifestResourceStream(resName);
                ResourceReader rr = new ResourceReader(stream);
                IDictionaryEnumerator enumerator = rr.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    DictionaryEntry de = (DictionaryEntry)enumerator.Current;
                    //de.Key是资源名
                    //de.Value是资源内容
                }
            }

------解决方案--------------------
占位学习
------解决方案--------------------
探讨
C# code
Assembly assm=this.GetType().Assembly;//Assembly.LoadFrom(程序集路径);foreach (string resNamein assm.GetManifestResourceNames())
{
Stream stream= assm.GetManifestResourc?-

------解决方案--------------------
DevExpress.XtraBars.v7.3.resources.dll 是C#写的标准的类库? 还就是个资源文件?
你没试过1楼提供的方法?
------解决方案--------------------
使用完整的命名空间+"."+路径和文件名 , 区分大小写
------解决方案--------------------
那个dll的源码可以直接下载的,楼主你为什么还要去用dll来获取对应的资源值呢。

另外DevExpress.XtraBars.v7.3.resources.dll是单纯针对resx文件编译的dll文件,内部不含有任何类,所以无法通过常规方式来获取它的资源值,不过你可以使用Reflector工具来查看该dll文件。