2013-07-24 18 views
13

私はResourcesフォルダにたくさんのtxtファイルを持っています。そのうちの1つはcorner.txtです。文字列でリソースを取得

Properties.Resources.corner 

私はファイル名を文字列変数にとどめています。私はこのコードスニペットを使ってこのファイルにアクセスできます。例えば:私は経由でこのファイルにアクセスしたい

string fileName = "corner.txt"; 

Properties.Resources.fileName 

は、この可能ですか?どうすればアクセスできますか?

+0

あなたが尋ねていることはまったく不明です。この 'fileName'はどこですか?それは生成された資産ですか?完全に分離したクラスで宣言したローカル変数ですか?何? –

+2

Duplicate:http://stackoverflow.com/a/3314213/2524304 – FSou1

+0

太字でテキストを設定しても、求めているものはクリアされません。 fileNameはフルパスかファイル名だけですか?それともあなたがアクセスしたいクラスですか? – Abbas

答えて

36

私はこの問題、このコードスニペットを解きますファイル名を使用しないでください、私はtxtファイルの文字列を使用します。これは私には便利です。

ありがとうございます。

+0

私はそれを手に入れませんでした。もう少し詳しく教えてください。 – Catbuilts

9

あなたはそのようなReflectionを使用することができます。

var type = typeof(Properties.Resources); 
var property = type.GetProperty(fileName, BindingFlags.Static| BindingFlags.NonPublic|BindingFlags.Public); 
var value = property.GetValue(null, null); 

またはそのようなResourceManagerを使用します。私は、そう

string st = Properties.Resources.ResourceManager.GetString(tableName); 

value = Properties.Resources.ResourceManager.GetObject(fileName, Properties.Resources.Culture); 
関連する問題