2
讓我們asume接口C#是通用型與普通型約束
interface IOwnedBy<T> where T : IOwner
{
T Owner { get; }
}
和
interface IOwner
{
public int Id { get; }
}
某處在我的代碼,我想做到以下幾點:
if (obj is OwnedBy<IOwner>)
{
DoSomethingWith(obj.Owner.Id);
}
基本上,我想檢查obj是否是任何OwnedBy實現。由於IOwner是任何泛型參數的類型約束,所以我認爲這是可行的。但是這種情況從未得到滿足。
任何方式沒有使用很多反射?
我只是寫了一個確切的答案,並且正在研究一個現場示例 - 如果需要,您可以將其包含在內。沒有重複你的答案。 http://rextester.com/BRT23576 – Jamiec
謝謝你們,很好的解釋和例子! – mbue