2

これが私のコードです:

var assem = Assembly.GetExecutingAssembly();
var fs = assem.GetManifestResourceStream("res.resources");
var rr = new ResourceReader(fs);`
IDictionaryEnumerator dict = rr.GetEnumerator();

助けてくれてありがとう

4

3 に答える 3

2

LINQを使用して、提供されたデータを辞書に変換できます。ResourceReaderこれにより、作業が簡単になる場合があります。

using System.Linq;
using System.Collections.Generic;

var assem = Assembly.GetExecutingAssembly();
var fs = assem.GetManifestResourceStream("res.resources");
var rr = new ResourceReader(fs);

Dictionary<string, object> data = rr
                .OfType<DictionaryEntry>()
                .Select(i => new { Key = i.Key.ToString(), value = i.Value })
                .ToDictionary(i => i.Key, i => i.value);

// Getting all resource names
IEnumerable<string> names = data.Keys;

// Getting all values
IEnumerable<object> values = data.Values;
于 2012-06-29T07:20:25.040 に答える
1

MSDN ドキュメントからの適応:

var assem = Assembly.GetExecutingAssembly();
var fs = assem.GetManifestResourceStream("res.resources");
var rr = new ResourceReader(fs);`
IDictionaryEnumerator dict = rr.GetEnumerator();    
while (dict.MoveNext())
   Console.WriteLine("   {0}: '{1}' (Type {2})", 
                     dict.Key, dict.Value, dict.Value.GetType().Name);
rr.Close();
于 2012-06-29T07:04:49.527 に答える
0

アセンブリ内のすべてのリソースのリストが必要な場合は、次を使用します

var assem = Assembly.GetExecutingAssembly(); 
var resources = assem.GetManifestResourceNames();
于 2012-06-29T07:02:43.643 に答える