- - PR -
Imageクラスを継承するには
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2005-03-22 19:08
Imageクラスを継承してImageに対するプロパティを追加した派生クラスを作成したのですが、以下のように表示され作成できません。
Public Class test Inherits Image End Class @以下の状態では、「基本クラス'Image'に、引数なしで呼び出せるアクセス可能な'Sub New'が指定されていないため、クラス'test'は、'Sub New'を宣言しなければなりません。」となります。 AそこでSub Newを宣言すると、「'test' の基本クラス 'System.Drawing.Image' には、引数なしで呼び出される、アクセス可能な 'Sub New' がないため、この 'Sub New' の最初のステートメントは、'MyBase.New' または 'MyClass.New' に対して呼び出さなければなりません。」となります。 BSub Newを作成し、その中に「MyBase.New」を記述すると、「'New' にアクセスできないため、オーバーロードの解決に失敗しました。」となります。 Imageクラスは抽象基本クラスとなっていますが、継承はどのようにすればできるのでしょうか? Windows2000Pro SP4 VB.NET2003 |
|
投稿日時: 2005-03-22 19:51
System.Drawing.dllをildasm.exeで見てみてください。
アクセス可能範囲を表すキーワードがassemblyになっているでしょう。 これは、VB.NETで言うFriendです。 つまり、同じアセンブリ内からでないとnewできないということです。 Imageから直接継承することはあきらめてください。 |
|
投稿日時: 2005-03-22 20:05
一郎さんありがとうございました。
BitmapがImageを継承しているのに自分で作ったクラスが継承できない理由がわかりました。 別な方法を考えて見ます。 |
1
