2009-06-17 6 views
0

私はArcGIS IFeatureオブジェクトを取得して簡単に設定するために必要なプロパティを持つクラスでワーピングしています。 基本的には、getおよびset操作はfeature.get_value(index)feature.set_value(indes, value)を使用し、強く型付けされた値を公開します。
私はアプリケーション全体で共通のプロパティを表すためにドメイン(基本的にはIDictionary<string, object>)を使用するいくつかのフィールドを持っています。
私はラッピングクラスでドメインのキー(通常のint値)のみを使用し、ToString()メソッドでドメインを使用して、UIの文字列に変換すると考えました。
後でアプリケーションの文字列を使用することができます(実際のドメインフィールドはほとんどの場合ヌル文字を渡すことが容易になります)。GetDomainValue(index)SetDomainValue(index, value)を使用するようにこれらのフィールドのゲッターとセッターのみを変更します。キーと値の間の基底フィーチャオブジェクトへの変換を行います。値やキーを使うべきですか?

どのようなアプローチが良いと思いますか?私のクラスは値がどのように保存されているか気にしないので、ストリングのアプローチはもう少し「永続的な無知」であると考えました。 一方、コードがループを少しジャンプして、機能に含まれるものを返すのではなく、すべてのゲッターがドメインを反復処理する必要があります。

答えて

0

私はドメイン値に固執してしまったので、呼び出し元コードが有効な値を渡したことを確認することもできます。

0

Nullable< Int32>でドメインフィールドを表すと考えるとよいでしょう。これにより、ドメイン値が指定された機能を表現する方法が得られますが、適切な場合にはnullを直接指定することもできます。

+0

ええ、私はintを使いましたか?どこにでもアプローチすることができましたが、代わりにドメイン値を使用するようになりました。このようにして、呼び出しコードが無効な値をフィールドに入れようとしていないことを確認することもできます。 –

関連する問題