我想查看某个类型的所有属性,并想检查属性类型是否不是字符串,我该怎么办?
我的课程是:
public class MarkerInfo
{
public string Name { get; set; }
public byte[] Color { get; set; }
public TypeId Type { get; set; }
public bool IsGUIVisible { get; set; }
public MarkerInfo()
{
Color = new byte[4]; // A, R, G, B
IsGUIVisible = true;
}
}
我用来检查类型的代码是:
foreach (var property in typeof(MarkerInfo).GetProperties())
{
if (property.PropertyType is typeof(string))
}
但是这段代码不起作用,不知道怎么做?
答案 0 :(得分:26)
if (property.PropertyType == typeof(string))
答案 1 :(得分:4)
请改用以下内容:
foreach (var property in typeof(MarkerInfo).GetProperties())
{
if (property.PropertyType == typeof(string))
}
答案 2 :(得分:2)
使用==
而不是is
或is String
(保留typeof)