2

Visual Studio intellisense のメソッド スタブ生成でバグを発見しました。

class A { }
class B : A
{
    A a;
    void f() { a.NewMethod(); }
}

で「Generate Method Stub」を選択するとa.NewMethod()、パブリック メソッドを取得する必要があります。代わりに、インテリセンスは自分自身を混乱させ、保護されたメソッドを作成します。

protected void NewMethod()コンパイラは、生成された inへの呼び出しについて正しく不平を言いAます。

これを Microsoft に報告する方法はありますか? この投稿は、それを乗り越えるのはミッションインポッシブルだと言っています。

4

4 に答える 4

6

Microsoft Connectサイトに移動します。少なくとも彼らはそこで聞いています。もちろん、回答 (または修正) を受け取るまでに時間がかかる場合があります。

于 2008-10-29T14:15:45.323 に答える
3

Microsoft の予想される動作は次のとおりです。

「基底クラスの保護されたメンバーは、派生クラスの型を介してアクセスが行われる場合にのみ、派生クラスでアクセスできます。」

http://msdn.microsoft.com/en-us/library/bcd5672a(VS.71).aspx

あなたの場合、 A は B から派生していないため、 a.NewMethod() はエラーを生成します。これはまさにあなたが話していることです。

したがって、「Generate Method Stub」コマンドには欠陥があります。

とはいえ、バグ報告にはMicrosoft Connectを使用してください。バグが何であるかを教えてください # 、そこに投票します。

于 2008-10-29T14:27:05.643 に答える
1

申し訳ありませんが、あなたは正しかったです。Resharper のスタブ ジェネレーターでこれを試したところ、パブリック メソッドが作成されました。

于 2008-10-29T15:02:16.477 に答える
1

あなたのバグがバグであると仮定して、関連する microsoft.public ニュースグループに投稿してください。彼らは通常、かなり反応が良いです。

于 2008-10-29T14:16:12.857 に答える