値またはキーを使用する必要がありますか?
-
05-07-2019 - |
質問
ArcGIS IFeatureオブジェクトを、簡単に取得および設定するために必要なプロパティを持つクラスでワープしています。
基本的に、getおよびset操作は、 feature.get_value(index)
および feature.set_value(indes、value)
を使用し、厳密に型指定された値を公開します。
ドメイン(基本的には IDictionary< string、object>
)を使用して、アプリケーション全体の共通プロパティを表すフィールドがいくつかあります。
最初は、ラッピングクラスでドメインのキー(通常のint値)のみを使用し、 ToString()
メソッドでドメインを使用して、UIの文字列に変換すると考えました。
後で、アプリケーションで文字列を使用できることがわかりました(実際のドメインフィールドはほとんどの場合null可能なので、nullを簡単に渡すことができます)。 index)および SetDomainValue(index、value)
メソッドは、基になるフィーチャオブジェクトとの間でキーと値の間を変換します。
どのアプローチがより良いと思いますか?私のクラスは値がどのように保存されているかを気にせず、文字列表現だけであるため、文字列アプローチはもう少し「永続的な無知」であると考えました。 一方、コードをループに少しジャンプさせます-機能の内容を返す代わりに、すべてのゲッターがドメインを反復する必要があります。
解決 2
ドメイン値に固執したため、呼び出しコードが有効な値を渡したことも確認できます。
他のヒント
Nullable&ltを使用して、ドメインフィールドを表すことを検討することをお勧めします。 ; Int32>
。これにより、ドメイン値が指定されている機能を表すことができますが、必要に応じて null
を直接指定することもできます。