に私は、インタフェースIDigitalState構造へのインターフェイスを制限するだけvb.net
Public Interface IDigitalState
ReadOnly Property Code As Integer
ReadOnly Property Name As String
End Interface
として定義されていると私はやってみたかった何このインタフェースに
Public Structure DigitalState
Implements IDigitalState
Private ReadOnly mCode As Integer
Private ReadOnly mName As String
Public ReadOnly Property Code As Integer Implements IDigitalState.Code
Get
Return mCode
End Get
End Property
Public ReadOnly Property Name As String Implements IDigitalState.Name
Get
Return mName
End Get
End Property
Public Sub New(ByVal code As Integer, name As String)
mCode = code
mName = name
End Sub
End Structure
を実装した構造は、変数を宣言しましたIDigitalStateのnull可能な型として。私は、インターフェイスがnullableであることが許可されていないクラスによって実装される可能性があるため、なぜこれを行うことができないのか理解しています。インターフェイスを定義して構造体によってのみ実装できるようにする方法はありますか?私はそれが可能だと思っているが、それを検討する価値があると思った。
おそらく、ジェネリックスを使用してT:structを使用する方法が見つかるかもしれませんが、あなたのインタフェースが実装者よりも慣習的なものより多くの制御を加えることを望みます。 – hatchet