ここでいくつかの質問を読みましたが、一般的なコンセンサスは、プロジェクト内のすべてのクラスにインターフェイスは必要ないということです。次のような投稿を読みました: Is it the best practice to extract an interface for every class? .
これが .NET Framework クラスにどのように適用されるかを知りたいです。私が見たすべてのクラスは、SQLConnection が dbConnection から継承するなどの抽象クラスから継承するか、Component クラスが IComponent インターフェイスを実装するなどのインターフェイスを実装していると思います。
私は 2 か月前にダウンロードした Reflector のコピーを持っており、ライセンスを待っています (最近料金を支払いました)。(Reflector を使用して) コードをステップ実行し始めると、次のようなコードが表示されますか?
Public Class Foo
Public Name As String
Public Property NameProperty()
Get
Return Name
End Get
Set(value)
Name = value
End Set
End Property
Public Shared Sub Main()
Dim f As Foo = New Foo
f.NameProperty = "Ian"
End Sub
End Class
次のようなコードではなく:
Public Class Foo
Implements IFoo
Public Name As String
Public Property NameProperty() Implements IFoo.NameProperty
Get
Return Name
End Get
Set(value)
Name = value
End Set
End Property
Public Shared Sub Main()
Dim f As IFoo = New Foo
f.NameProperty = "Ian"
End Sub
End Class
Public Interface IFoo
Property NameProperty()
End Interface
2 番目のコード フラグメントで使用されているインターフェイスがあることに注意してください。インターフェイスを使用しないことが適切な場合を理解するのにまだ苦労しています。一部の開発者は決して言わない。主観的な部分もあると思います。