C#:读取嵌入在资源文件中的文件内容

Elm*_*mex 2 .net c# resources

如何在ResourceManager类的帮助下读取嵌入在resx文件中文本文件

以下代码段有什么问题?

ResourceManager resman = new ResourceManager("Mynamespace.RESXFileName", Assembly.GetExecutingAssembly());
Stream stream = resman2.GetStream("ResourceName");
Run Code Online (Sandbox Code Playgroud)

流是alway = null!

spe*_*der 7

        using (var resourceStream = Assembly.GetExecutingAssembly()
                    .GetManifestResourceStream(resourceName))
        {
            if (resourceStream != null)
            {
                using (var textStreamReader = new StreamReader(resourceStream))
                {
                    text = textStreamReader.ReadToEnd();
                }
            }
            else
            {
                throw (new MissingManifestResourceException(resourceName));
            }
        }
Run Code Online (Sandbox Code Playgroud)

资源名称由名称空间和文件名确定.Say文件MyTxt.txt存在于项目的根目录中,该文件具有默认名称空间,MyNs然后资源名称将为:MyNs.MyTxt.txt

编辑

我应该学习阅读这个问题.我没有测试,但这应该给你你想要的:

    static object GetResxObject(string resxPathName, string resourceKey)
    {
        using (var resxReader = new ResXResourceReader(resxPathName))
        {
            return resxReader
                .Cast<DictionaryEntry>()
                .Single(d => string.Equals(d.Key,
                                           resourceKey))
                .Value;
        }
    }

    ...
    var myString=(string)GetResxObject(@"path\to\resx.resx","myStringKey");
Run Code Online (Sandbox Code Playgroud)