![](/img/trans.png)
[英]Why can't I create an abstract constructor on an abstract C# class?
[英]I can't get the attribute name of an abstract class in c#
這是 class:
public abstract class DbAttributeInstance
{
public static DbAttribute AALLAN;
public static DbAttribute AANGXZ;
public static DbAttribute AANGYZ;
public static DbAttribute ABLE;
public static DbAttribute ABOP;
...
}
我使用以下代碼獲取成員名稱,但一無所獲:
System.Reflection.PropertyInfo[] properties = typeof(DbAttributeInstance).GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);
此操作的最終目的是測試 class DbAttributeInstance
的每個屬性的有效性,如下所示:
if (elem.IsAttributeValid(DbAttributeInstance.GEOM)) then...
但是DbAttributeInstance
中的屬性太多了,無法一一測試。 我想使用以下表格測試每個成員:
//original way to be replaced
elem.IsAttributeValid(DbAttributeInstance.member1)
elem.IsAttributeValid(DbAttributeInstance.member1)
elem.IsAttributeValid(DbAttributeInstance.member1)
elem.IsAttributeValid(DbAttributeInstance.member1)
elem.IsAttributeValid(DbAttributeInstance.member1)
...
//new
foreach (member in DbAttributeInstance's members) {
elem.IsAttributeValid(member)
}
根據MSDN ,我認為你需要使用另一個標志:
有一個BindingFlags.Static
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.