我已經嘗試了幾種方法來獲取名稱,包括調查PropertyItems
和老式的ToString()
方法,嘗試獲取圖像資源的名稱作爲字符串。如何獲取圖像資源的名稱作爲字符串
我有一個圖像的選擇,命名,在資源文件中。我沒有問題使用resource.imageName
顯示圖像。我想嘗試將imageName
作爲字符串來減少我的代碼中其他地方的錯誤和拼寫錯誤。
使用resource.imageName.ToString()
爲我提供了字符串System.Drawing.Bitmap
我已經嘗試了幾種方法來獲取名稱,包括調查PropertyItems
和老式的ToString()
方法,嘗試獲取圖像資源的名稱作爲字符串。如何獲取圖像資源的名稱作爲字符串
我有一個圖像的選擇,命名,在資源文件中。我沒有問題使用resource.imageName
顯示圖像。我想嘗試將imageName
作爲字符串來減少我的代碼中其他地方的錯誤和拼寫錯誤。
使用resource.imageName.ToString()
爲我提供了字符串System.Drawing.Bitmap
您可以創建一個功能:
public static string GetPropertyName<T>(Expression<Func<T>> propertyExpression)
{
return (propertyExpression.Body as MemberExpression).Member.Name;
}
然後以這種方式使用它:
public class ClassName {
public Foo { get; set; }
}
...
...
...
var inst = new ClassName();
var propertyName = GetPropertyName(() => inst.Foo);
這不是我是誰想出了這個,我從其他主題中拿走它並運行它以查看它是否有效,但是我的瀏覽器崩潰了,並且找不到原始主題的鏈接。我會盡快編輯我的帖子。
編輯:I've found it!這是我從中摘錄的片段。祝你好運。編輯2:如果您能夠輕鬆獲取resource.imageName,那麼只需將它傳遞給GetPropertyName函數即可。如果不是這樣,我想我的答案是不完整的
謝謝,那有效!沒有需要classname位,而是用資源文件代替inst – Adsy2010
'BMP = Resources.imgname;'將是一個編譯錯誤是有一個錯字。當出現拼寫錯誤時,使用字符串變量獲取它們將導致運行時錯誤。 – Plutonix