私はリフレクトベースのオブジェクトトランスレータで作業しています。反射でネイティブオブジェクトを検出する
基本的にオブジェクトのプロパティをループし、変換されたオブジェクトの同じ名前/タイプのプロパティに値を割り当てます。
ObjectA.Name = "ジョー"
がに変換します。私は、プロパティがあるときのために、特別なケースを配置する必要があり
ObjectB.Name = "ジョー"
ObjectA.Address
などのカスタムクラスです。 210私はPropertyTypeは
propInfo.PropertyType.IsClass
のIsClassフラグと、このような性質を検出することができ期待していたが、このフラグはまた、文字列プロパティにtrueを返すように表示されます。
私はプロパティが非ネイティブタイプであることを確認する別の方法はありますか?
文字列は値型ではありません - それは*クラスです。どのプロパティに*変更可能な*オブジェクトが含まれているかを判断しようとしているなら、それには幸運です...(また、 "ネイティブ"タイプをどう定義しますか?) – cdhowie
"ネイティブタイプ" == "参照型" –
「ネイティブ」という単語は、質問/タイトルから削除する必要があります。ややこしい。私が「ネイティブ」を読むとき、私はWIN32のコンストラクトを考えます。 – Amy