私は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;
}
編集:私は、外部データソースから設定私が得るパラメータ名/の多くを持って
、私が持っていると思いますそのための2つのインスタンスインスタンス。長さ、重さ、高さはイラストだけです。
EDIT:
私はコンパイル時に連結のを作るための方法は、(C++のような)があることと思うので、私はジェネリックを選びました。それは可能ですか?
もっと洗練されたソリューションを教えてください。
ありがとうございました!
ここであなたが達成しようとしていることは何ですか?それはおそらく重要です...これらの値は*どういう意味ですか? –
特定のクラスを参照するために文字列リテラル名が必要な特別な理由はありますか?おそらく、あなたが達成しようとしていることを詳述すれば、より良い方法を見つけることができます! –
より洗練されたソリューションは、変数名にクラス名を含めないことです。なぜあなたはそうしたいのですか? – ken2k