0

string.formatフォーマット文字列に対して逆型ルックアップを実行することは可能ですか?たとえば、{0:0.00}の書式設定文字列があるとします。これは、小数をフォーマットするために使用されます。それを関数に渡して、この場合は10進数の型を返すようにすることはできますか?または、{0:y yy yyy yy}を渡して、DateTimeを返しますか?

これに沿って(フォーマット指定子が特定のデータ型に対して有効かどうかを確認できますか?)、String.Formatの場合、探しているタイプを渡すことができません。試してみるタイプのリストがあると思います。

何か案は?

編集:私は常に文字列として入ってくるデータベースからデータを読んでいます。その種類はわかりません。私はそれを他のデータベースに適合させたいと思っています。そこでは、それがどのタイプであるかがわかります。私がタイプを知る方法は、誰かがstring.formatパラメーターを提供したためです。string.formatパラメーターだけのタイプは提供しません。だから私は提供されたフォーマットからタイプを取得できるかどうかを確認しようとしていました。これは悪いデザインだと思いますが、それは私が強制されていることです。

4

1 に答える 1

0

私はこのようなものに出くわしたことはなく、絶対に可能ではありません。一部のフォーマット文字列は、複数のタイプで機能します。私はこれを行うための箱から出して何もありませんと言うつもりです。

ここを見ると、ほとんどの数値形式は、int、float、double、decimalなどの任意の数値型で機能します...ご指摘のとおり、日付でのみ機能するものもありますが、説明するための優れたAPIを設計するのは困難です。それ。

コメンテーターがここで言ったように、あなたが達成しようとしていることをより広く反映する質問を投稿すると、あなたはいくつかのより良いアイデアを得るかもしれません。

于 2012-08-01T02:42:41.183 に答える