たぶん私の質問は奇妙です...フレーズにリフレクションを使用することは可能かどうか疑問に思いました。
C#でのリフレクションと比較してみました。これまで、プロパティの名前を文字列として、値をオブジェクトとして、次のように渡していましたCmp("foo", "abc")
。
このようにしてfoo
、クラスに既存のプロパティがあるかどうかを確認し、値の型がプロパティの種類と一致するかどうかを確認する必要があります(上記の例では、fooは文字列プロパティであり、値は文字列です)。この方法は問題なく機能します。
フレーズをパラメータとして送信し、リフレクションなどで分析できるのではないかと思います。
つまり、上記の例のように、このような関数を呼び出す代わりに、Cmp("foo", "abc")
このような関数Cmp(A.foo == "abc")
(プロパティA
を持つクラスfoo
)を呼び出すだけで、プロパティがfoo
であり、値がであると分析します"abc"
。
私はそれが奇妙に聞こえることを知っています、そしてそれは私にとって必要ではありません。そのアイデアのためだけに。
出来ますか?
編集
私が明確でなかった場合、私はCmp(string, string)
メソッドを書きました、そしてそれはうまくいきます!次のようなメソッドを作成する方法
があるかどうかを知りたいだけです。パラメータがフレーズであること。Cmp
Cmp(A.foo == "abc")
編集2
たとえば、Cでそのようなことを行うことができます。次のようなマクロを作成できます。
#define Cmp(phrase) printf(##phrase)
次に、それを次のように呼び出すとCmp(A.foo == "abc")
、出力は次のようになります。
A.foo == "abc"
フレーズ全体をパラメータとして渡し、それを分析するようなものです。マクロはプリコンパイルされたものであることを知っています。C#にそのようなものがあるかどうかを知りたいだけです。