- PR -

interface を using に使いたい。

1
投稿者投稿内容
武史
ベテラン
会議室デビュー日: 2007/09/21
投稿数: 71
投稿日時: 2009-01-27 20:48
今更ながら、Visual Studio 2005 に移行して、vb で using が
使えるのを喜んでいます。

さて、using も便利なんですが、interface の場合は何か利用方法って
あるのでしょうか?

イメージとしては次のような事をしたいと思っています。

コード:
Using hoge As IHoge ' ここに、Interface を書きたい。

End Using




次のようなイメージでコードを書ければよいのですが、、、

コード:
Public Interface IHoge
	Implements IDisposable

End Interface



または、

コード:
Using hoge As IHoge and IDisposable

End Using




何か、よい方法はないでしょうか?
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2009-01-27 21:34
引用:

武史さんの書き込み (2009-01-27 20:48) より:
さて、using も便利なんですが、interface の場合は何か利用方法って
あるのでしょうか?



ご提示の例を見ましたが、何がわからなくて何をお聞きになりたいのかがよくわかりません。

コード:
' IHogeインタフェース
Public Interface IHoge
    Inherits IDisposable

End Interface

' IHogeインターフェースを実装するクラスの例
Public Class Hoge
    Implements IHoge
   ' 実装は省略
End Class

' Usingを使うときのコード
Using Hoge As IHoge = New Hoge()

End Using



ご提示の例からすると上記のようなことをしたいとおっしゃっているように思えますが、
普通にできますし、それは実験コードを書けばわかると思うので・・・。
武史
ベテラン
会議室デビュー日: 2007/09/21
投稿数: 71
投稿日時: 2009-01-27 21:41
よねKEN 殿

ありがとうございました。

普通に、inherits でよかったんですね、、、

てっきり、interface は、implements しかできないと思ってました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2009-01-28 18:09
引用:

武史さんの書き込み (2009-01-27 21:41) より:

普通に、inherits でよかったんですね、、、
てっきり、interface は、implements しかできないと思ってました。


むしろ Interface のコード部に Implements なんて書けないので、この返答は何だかおかしいと思いますね。 "Implements するためのものだと思っていました" という意味で仰っているのかとも考えましたが、話の流れ ("普通に、inherits でよかったんですね") からして、Interface を使う時の話ではないのでそれもおかしいと考えました。 1 番の肝の部分が正しく理解できていないのではないかと老婆心です。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
セラフ
ベテラン
会議室デビュー日: 2005/12/01
投稿数: 95
お住まい・勤務地: 東北の顔の形といえば
投稿日時: 2009-01-28 18:27
ちなみに蛇足ですが・・・

Interface は多重継承可能です。

コード:
Public Interface IHoge
    Inherits IDisposable,IList


.NETで多重継承なんて!!っと意外にに思い込んでる人が多いので念のため・・・
武史
ベテラン
会議室デビュー日: 2007/09/21
投稿数: 71
投稿日時: 2009-01-28 19:30
じゃんぬねっと様ありがとうございます。

日本語にしただけですが、
「interface は、他のクラスから実装しかできないと思っていました」
って事です。
interface は、実装(implement)するためのもので、継承(inherit)できるなんて、
思ってもいなかったので。

これで、理解してそうですかね?


セラフ殿ありがとうございます。

多重継承も、interface だとできるんですね。知りませんでした。
多重実装だけかと思ってたのですが、interface だと、それが自然ですね。
1

スキルアップ/キャリアアップ(JOB@IT)