如何在C#中检查类型是否为字符串

本文关键字:类型 是否 字符串 检查 | 更新日期: 2023-09-27 18:26:31

我想遍历一个类型的所有属性,并想检查一个属性类型是否不是字符串,我该怎么做?

我的课是:

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))              
}

但是这个代码不起作用,你知道怎么做吗?

如何在C#中检查类型是否为字符串

if (property.PropertyType == typeof(string))

使用以下内容:

foreach (var property in typeof(MarkerInfo).GetProperties())
{               
    if (property.PropertyType == typeof(string))              
}

使用==,而不是isis String(保留类型)