2012-03-01 3 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))    
    } 
関連する問題