- PR -

タイプセーフで名前と値をもち、色々な型が混在できるデータコンテナは?

1
投稿者投稿内容
がらす
ベテラン
会議室デビュー日: 2005/07/14
投稿数: 99
投稿日時: 2005-12-09 02:29
いつもお世話になっております。

コンテナにデータを詰め込んでサーバに送るモデルの設計をしています。
データは int, double, bool, string, List<> などなど何でもアリで、それぞれ名前も持つ必要があります。

今のところは Hashtable に詰め込んでいるのですが、これでは型情報が失われるために暫定的なものです。いずれは
- タイプセーフ
- 各要素のタイプがバラバラでOK
- name - value ペア
- シリアル化可能
なもので実現する必要があります。

Collections ネームスペース など探して見ましたが、適当なものが見つかりません。なにか良い方法は無いでしょうか?自作になるのでしょうか?
Hashtableを2つ持ち、片方は名前とオブジェクトを保持し、もう片方は名前とタイプを保持…なんてものを考えてますが、この辺の経験が無く、自分の考えていることが間違っているのか良く分かりません。

どうぞよろしくお願いします。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-12-09 07:37
引用:

がらすさんの書き込み (2005-12-09 02:29) より:
今のところは Hashtable に詰め込んでいるのですが、これでは型情報が失われるために暫定的なものです。いずれは


いや、型情報は失われないでしょ。Object.GetType()で型情報を得られるはずです。
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2005-12-09 09:32
>コンテナにデータを詰め込んでサーバに送るモデルの設計をしています。
XML で送る、のが トレンドなのでは、データ量を気にしいの人々は
バイナリーXMLとか 言っているみたいですが
がらす
ベテラン
会議室デビュー日: 2005/07/14
投稿数: 99
投稿日時: 2005-12-09 10:42
甕星さん、すみません。
「タイプセーフでない」と「型情報が失われる」を混同して書いてしまいました。

MMXさん、
Webを参照するとVSが勝手にプロキシクラスを作ってくれたのでこれで行こうかと思ってるんですが、それはSOAP Formatter を使うので同じことになるんですよね?WebMethodに渡す引数にするコンテナクラスとして良い物は無いか探しているのですが、こんなに都合の良い物は存在しないのでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)