1

Visual Studio 2010 に XML スキーマ定義 (XSD) ファイルがあります。DataSet Designer は、厳密に型指定されたデータセット<name>.designer.vbファイルに生成する必要があります。

多くの誤った要因に応じて、散発的に列挙可能な操作 (LINQ または for each ループで使用される) に強力な型指定を提供するようです。

たとえば、生成されたコード ベースで型を検出できる場合とできない場合があります。

スクリーンショットのコード例

問題のあるコードは、生成されたファイルに機能があるかどうかのようです:

Public Overridable Function GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator
    Return Me.Rows.GetEnumerator
End Function

その場合、関数の列挙子を呼び出すと、退屈な が返されobjectます。
そうでない場合、列挙子は適切な型を返します。

私の質問:

一貫して適切な動作を生成するにはどうすればよいですか?

ソース コードには生成されたコードが含まれていないため、各開発者が自分で生成する必要があります。これにより、一部のマシンでは不適切な入力でコンパイラ エラーが発生しますが、まったく同じソース コードを使用しても発生しないマシンもあります。

それと関係があるように見えるいくつかのこと:

  • .NET 4.0 VS .NET 4.0 クライアントを対象とするアセンブリ バージョン
  • 生成中に XSD、デザイナー、または使用状況ファイルが開いているかどうか
  • その他?

考えられる回避策:

  • すべての宣言に厳密な型付け/キャストを含める
  • 正しく生成されたファイルをソース管理に含める
4

1 に答える 1