外部プログラムがクラス内の変数を取得/設定するための簡単な方法を作成しようとしています。私が持っているのは、次のようないくつかの変数を持つクラスです。
class myClass
{
public int one
{
get{ /* get code here */ }
set{ /* set code here */ }
}
}
単なる変数「1つ」ではなく、100近くの変数があります。getおよびsetコードを使用して、すべて同じ方法で設定されます。私が欲しいのは、変数を取得して設定する簡単な方法です。例:これを行う代わりに:
myClass c = new myClass();
c.one = 5;
私はこれに似た何かをする方法を見つけたいと思います:
myClass c = new myClass();
c.setVariable("variableName", value);
「variableName」テキストを列挙型リストから取得して、次のように参照できるようにすることが理想的です。
c.setVariable(enumName.varName, value);
どうすればいいのか、それが可能かどうかもわかりません。私が言ったように、私は独自のget / setコードを必要とする100近くの変数を持っていますが、さまざまな理由から、1つのpublicget関数と1つのpublicset関数だけを使用したいと思います。
リフレクションはあまり効率的ではないと思いますので、なるべく避けたいと思います。
このようなものが使用されているC#の他のコードを見たことがあります:
this["variableName"] = value;
しかし、私もこれを機能させる方法を見つけることができないようです...