【C#】interfaceとは
普段は意識しない interface ですが、理解を深めるためにまとめました。
interface の利点ですが、機能を強制することです。(そしてユーザには保証します)
色々なinterfaceがありますが、例として IDisposable を挙げます。
VisualStudioで定義を見るとこんな感じになってます(一部省略)
public interface IDisposable { void Dispose(); }
これを実装すると
static void Main(string[] args) { var obj = new ClassA(); Console.WriteLine("Main finished."); Console.ReadLine(); // 入力待ち } class ClassA : IDisposable { public ClassA() { Console.WriteLine("ClassA constructor"); } public void Dispose() { Console.WriteLine("ClassA Dispose"); } }
となりますが、public void Dispose()を省略するとエラーになります。
そのため「機能を強制する」ことになります。
ただし、これは「使用を強制する」ものではありません。
上記もそうですが、Dispose() は使用していません。
このように IDisposable については、最後にリソースを開放するべきクラスなどに使用することができます。
他の主要な interface としては、IComparableやIEnumerableなどが有名です。
実戦で役立つ C#プログラミングのイディオム/定石&パターン
- 作者: 出井秀行
- 出版社/メーカー: 技術評論社
- 発売日: 2017/02/18
- メディア: 大型本
- この商品を含むブログ (1件) を見る