初投稿させて頂きます。
インターフェイスの使い方について、2点分からない事があります。
[質問1]-------------------------------------------------------------
インターフェイスでReadOnlyのプロパティが定義されている場合、
そのインターフェイスを継承したクラスで読み書き可能なプロパティの
定義に変更する事は可能でしょうか?
例)インターフェイス:IDataParameter.IsNullable
↓やりたい事のイメージ(下記記述ではコンパイルエラーが出ます。)
Public ReadOnly Property IsNullable() As Boolean Implements System.Data.IDataParameter.IsNullable
Get
…
End Get
Set(ByVal Value As Boolean)
…
End Set
End Property
[質問2]-------------------------------------------------------------
インターフェイスで定義されているプロパティで、戻り値が別のインターフェイス型となっている場合、
その戻り値を別のインターフェイス型を継承したクラス型にする事は可能でしょうか?
例)インターフェイス:IDbCommand.Parameters
↓やりたい事のイメージ(下記記述ではコンパイルエラーが出ます。)
Public ReadOnly Property Parameters() As NewParameterCollection Implements System.Data.IDbCommand.Parameters
Get
End Get
End Property
Public Class NewParameterCollection
implements System.Data.IDataParameterCollection
…
End Class
--------------------------------------------------------------------
開発環境はVB.Net2003、及び、VB.Net2005両方で作成を考えています。
以上、宜しくお願い致します。
インターフェイスメンバの別名定義によって解決可能です。
Private ReadOnly Property PiyoImpl() As IPiyo Implements IHoge.Piyo
Get
Return Me.Piyo
End Get
End Property
' Piyo クラスは IPiyo を実装
Public Property Piyo() As Piyo
Get
return Me._piyo
End Get
Set
Me._piyo = value
End Set
End Property
Private _piyo As Piyo