有對象的列表:C#獲取來自列表特定屬性的屬性對象
List<ConfigurationObjectBase> ObjectRegistry;
具有以下屬性和上面的一些對象的與屬性飾:
[AttributeUsage(AttributeTargets.Property, Inherited = true, AllowMultiple = true)]
public sealed class PropertyCanHaveReference : Attribute
{
public PropertyCanHaveReference(Type valueType)
{
this.ValueType = valueType;
}
public Type ValueType { get; set; }
}
現在,我想找到其屬性用該屬性裝飾的所有對象。
嘗試下面的代碼,好像我做錯了:
List<ConfigurationObjectBase> tmplist = ObjectRegistry.Where(o => (o.GetType().GetProperties().Where(p => p.GetCustomAttributes(typeof(PropertyCanHaveReference), true).Length > 0)));
感謝您的時間。
不應該第二個'Where'是'Any'? –
乍一看你的代碼看起來是正確的(儘管你可能想要堅持約定並調用屬性類「PropertyCanHaveReferenceAttribute」)。實際上會發生什麼「錯誤」?你會得到哪些錯誤信息或沒有結果?請提供無法運行的示例對象或[最小,完整且可驗證的示例](http://stackoverflow.com/help/mcve) –