2012-03-01 5 views
5

Я хочу просмотреть все свойства типа и хочу проверить, не является ли тип свойства не строкой, как я могу это сделать?Как проверить, является ли тип строкой в ​​C#?

Мой класс:

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

Но этот код не работает, ни малейшего представления, как это сделать?

ответ

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

== использование и не is или is String (оставьте TYPEOF)

2

Используйте следующую вместо:

foreach (var property in typeof(MarkerInfo).GetProperties()) 
    {    
     if (property.PropertyType == typeof(string))    
    } 
Смежные вопросы