在我的解决方案中,有一个包含几个文件的文件夹.所有这些文件都具有Build Action"Embedded Resource".
使用此代码,我可以获得一个文件:
assembly.GetManifestResourceStream(assembly.GetName().Name + ".Folder.File.txt");
Run Code Online (Sandbox Code Playgroud)
但有没有办法获取*.txt
此文件夹中的所有文件?一个名称列表或迭代它们的方法?
mar*_*c_s 85
你可以看看
assembly.GetManifestResourceNames()
Run Code Online (Sandbox Code Playgroud)
它返回包含的所有资源的字符串数组.然后,您可以筛选该列表,以查找*.txt
存储为嵌入资源的所有文件.
有关详细信息,请参阅MSDN文档GetManifestResourceNames
.
dbv*_*ega 18
试试这个,返回一个包含Folder目录下所有.txt文件的数组.
private string[] GetAllTxt()
{
var executingAssembly = Assembly.GetExecutingAssembly();
string folderName = string.Format("{0}.Resources.Folder", executingAssembly.GetName().Name);
return executingAssembly
.GetManifestResourceNames()
.Where(r => r.StartsWith(folderName) && r.EndsWith(".txt"))
//.Select(r => r.Substring(folderName.Length + 1))
.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
注意:取消注释该//.Select(...
行以获取文件名.
尝试一下。在这里您可以获得所有文件
string[] embeddedResources = Assembly.GetAssembly(typeof(T)).GetManifestResourceNames();
Run Code Online (Sandbox Code Playgroud)
T当然是您的类型。所以你可以通用使用
归档时间: |
|
查看次数: |
35417 次 |
最近记录: |