I以下の場合があります。今が実装
public interface IPerson { .. }
public class Person : IPerson { .. }
public class User : Person { .. }
と、 「User」オブジェクトがある場合、これが反射を使用してIPersonを実装するかどうかをどのように確認できますか?より正確には、プロパティ「SomeUser」を持つ可能性のあるオブジェクトがあります。これは、インタフェース「IPerson」を実装するいくつかのタイプでなければなりません。私の場合、私は実際にユーザーを持っていますが、これは私がリフレクションを通してチェックしたいものです。 ...私はそれが「ユーザー」であるため、プロパティの種類を確認する方法を見つけ出すことはできませんが、私はそれがIPersonを実装しているかどうかを確認したい:
var control = _container.Resolve(objType); // objType is User here
var prop = viewType.GetProperty("SomeUser");
if ((prop != null) && (prop.PropertyType is IPerson))
{ .. }
(これは私の単純化であることに注意してください実際の場合ですが、ポイントは同じである必要があります...)
すでにオブジェクトインスタンスがある場合は、オブジェクトが特定のインタフェースを実装しているかどうかを確認するためにリフレクションを必要としません。 'if(objUser is IPerson)'を確認するだけです。 –
0xA3のコメントに正解がないのですか? – itchi