我想找到在C#示例DEFS類優雅的解決方案:C#泛型類DEFS
相反的:
class Class1
{
public static readonly string length = "length_Class1";
public static readonly string height = "height_Class1";
public static readonly string width = "width_Class1";
}
class Class2
{
public static readonly string length = "length_Class2";
public static readonly string height = "height_Class2";
public static readonly string width = "width_Class2";
}
創建模板類。我想到了以下解決方案,但它看起來不那麼優雅:
internal abstract class AClass
{
}
internal class Class1 : AClass
{
}
internal class Class2 : AClass
{
}
class Class1<T> where T : AClass
{
public static readonly string length = "length_" + typeof(T).Name;
public static readonly string height = "height_" + typeof(T).Name;
public static readonly string width = "width_" + typeof(T).Name;
}
編輯:
我有很多來自外部數據源中設置的參數名稱,我得到的/,我想有兩個Defs實例。長度,重量,高度僅用於插圖,還有更多。
編輯:
我選擇了泛型,因爲我認爲有一種方法(++和C一樣),使concatination在編譯的時候。有可能這樣做嗎?
你能幫助我更優雅的解決方案嗎?
謝謝!
你試圖在這裏達到什麼目的?這可能很重要......這些值是什麼意思*意思是*? – 2012-03-12 09:44:16
是否有任何特殊原因需要字符串字面名稱來引用特定的類?也許如果你闡述了你希望達到的目標,我們可以找到更好的方法! – 2012-03-12 09:44:15
更優雅的解決方案是不將類名包含在變量名中。你爲什麼想要這樣做? – ken2k 2012-03-12 09:44:53