- - PR -
VS.NETでVB.NET開発時のプロシージャ自動入力機能について
1
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-09-19 14:03
VS.NETでVB.NETを使って開発を実施する場合の
プロシージャ自動入力機能が予期せぬ動きをしてしまい困っています。 現在下記のような構成のプログラムを作成中です。 親クラス(C#) public abstract class A { protected abstract void methodA(); } 子クラス(C#) public class B : A { protected override sealed void methodA() { 〜処理〜 } } 孫クラス(VB.NET) Public Class C Inherits B Protected Overrides Sub methodA End_Sub End Class 上記のように作成したとき、孫クラスのクラス宣言を記述し終えると 自動的にmethodAのクラス宣言文が出てきてしまいます。 親クラスでsealed指定しているので孫クラスでは継承できず エラーになるのでオーバーライドされることはないのですが 自動的にクラス宣言文が出てきてしまうのを回避させたいと思っています。 このような要件を満たしたいとき、ロジックもしくはVS.NETの設定を どのようにすればよろしいのでしょうか。 以上、よろしくお願いいたします。 | ||||||||||||||||
|
投稿日時: 2003-09-19 14:29
うわっ、本当だ……
が勝手に挿入されちゃう……
ちなみにVS.NET2003の改良機能のようですね。VS.NET2002では、こうなりませんでした。 たしかに便利な機能だけど、ここまでくると過剰な改良だなぁ…… なお、[ツール]-[オプション]で、[テキストエディタ]-[Basic]-[VB固有]の、「InterfaceとMustOverrideメンバの自動挿入」をOFFにすると、こうならなくなりました。 [ メッセージ編集済み 編集者: ぢゃん♪ 編集日時 2003-09-19 14:31 ] | ||||||||||||||||
|
投稿日時: 2003-09-19 14:46
ほぇ〜?“VB.NETだけ”で作った場合、挿入されませんでした。そういえばC#とVB.NETで継承したクラスのメンバをどう解決するかが違うんでしたっけ? 『クロス言語開発は本当にできるのか?』 http://www.atmarkit.co.jp/fdotnet/onepoint/onepoint01/onepoint01_01.html この辺が関係しているかもしれませんね。
それすると、必要なものも挿入されないんじゃ? | ||||||||||||||||
|
投稿日時: 2003-09-19 15:08
なるほど、CLS仕様の隙間ですか……。 システム開発でチームごとに別々の(.NETでの)言語を割り当てる、なんてことをすると、かえって危険ですね。 (.NET Framework & J2EEのような)全く違うものを併用するのとは違って、ほとんど同じ動きをするだけに、違いをさほど意識しないままに……。
もちろん、VS.NET2002程度まで逆戻りです [ メッセージ編集済み 編集者: ぢゃん♪ 編集日時 2003-09-19 15:39 ] |
1