2012-02-06 15 views
0

私と私の同僚と同じコード(C#のWinFormsのアプリケーション)を実行し、両方のVS 2010を使用して、.NET 3.5用にコンパイルするために設定されたが、我々は、コールをしようとすると、両方のMicrosoft.VisualBasicCollection.Add()メソッドには、最後の3つはオプションですが、4つのパラメータすべてを渡す必要があります。それ以外の場合は、コンパイルエラーが発生します。 しかし私のマシンでは、オプションのパラメータを指定せずに呼び出すことができ、うまくコンパイルできます。 唯一の違いは、私はまた、ReSharperのをインストールしましたが、私はそれがそのようにコンパイルして何かをしなければならないとは思わないということですか? なぜ起こっているのかご存知ですか?オプションパラメータ

おかげ

+3

だったので、彼はまだそれが原因で私たちが渡しているその消費者法であり、なぜあなたはC#のアプリ –

+0

でMicrosoft.VisualBasic.Collectionを使用している...、VS 2008を使用していましたこれは、このC#のコードは、古いVB 6.0のコードからupliftedされている.. – Bohn

+2

書き換えの時間。 –

答えて

2

それは私の同僚のせいです!我々は、すべて2010にアップグレードしていたが、それが問題

+1

だから、彼は明日昼食を買っている、正しい? – Stu

+0

LOL!私は彼に5ドル借りている!今すぐ戻ってきません! – Bohn

+1

ちょうど「あなたが5ドルを借りている人には誰にも知らせません。あなたはVS 2008とVS 2010の違いを誰にも教えてもらえません。 – Stu

1
  1. は、コレクションを使用しないでください。
  2. オプションのパラメータは、C#で許可されている場合、.NET 4.0をターゲットとしています。
+0

私は知っている。これをコンシューマメソッドに渡しているので、このC#コードは古いVB 6.0コードから改善されています。 – Bohn

+3

実際には、オプションのパラメータは.NET 4.0ではなくC#4.0の言語機能です。つまり、Visual Studio 2010でプロジェクトを作成し、.NET 2.0をターゲットにして、C#でオプションのパラメータを使用することができます。 –

+0

@RoyGoode:ありがと。私はこれらの2つの違いに気づいていなかった。興味深い。 – Bohn

関連する問題