私は不動産の彼のタイプが欲しい、これを行うと、メソッドにこれを渡すために(これは今重要ではありませんが、NHibernateはで作られたプロキシクラスを埋めるために)私の性質の一部では一般的な方法MethodBase.GetCurrentMethod()を通じてプロパティタイプを取得できません。ReflectedType;
を呼んでいますこれは魔法ですが、これらのプロパティのいくつかは「入れ子になっています」という意味です。たとえばAddressプロパティにはこれがありますが、AddressのCountryプロパティにもこの機能があります。
私が問題になっているように見えるのは、MethodBase.GetCurrentMethod()を呼び出すとAddressゲッターがカントリーゲッターをトリガーしているからです。私の国のプロパティでは、それは型としてアドレスを返します。実際には、問題のプロパティの型は実際には国にあります。ここで
は、いくつかのコードスニペットです:
public virtual Country Country
{
get
{
_country = Backoffice.Library.Serialization.Reflection.GetPossiblyProxyProperty(MethodBase.GetCurrentMethod().ReflectedType, _country);
return _country;
}
set { _country = value; }
}
私は、これは間違ったタイプを返す理由としてはかなり無知だ、私は本当にこれはおそらくのように汎用的になりたい、私はちょうど行うのOFCができtypeof演算(国)が、その後、私は吸う:(
ええ、私はthaを考え出した何らかの理由で、何らかの理由でMethodBaseオブジェクトを返します。これをMethodInfoにキャストすれば、ReturnTypeプロパティを取得できます。これはMethodBaseにはありませんが、私にはそれがあります。 –