C#コーディングルール_#30_インタフェースのIとファイル名の不一致

当サイトではアフィリエイト広告を利用しています。

C#コーディングルール

今回はインタフェースの命名のルールと,ファイル名とクラス名が同じでないといけないという2つのルールを解説していきます。

インタフェースの命名

インタフェースの命名ルールはインタフェース名の頭に「I」を付けるというものがあります。頭にIを付けていないと警告となります。

    ///
    /// メンバー
    /// 
    public interface Member
    {
    }

このように「Member」というインタフェースを作ると,頭に「I」が付いていない為警告が出ます。

SA1302

警告原因を見ると,インタフェースの頭が「I」で始まっていないという理由になっています。

    ///
    /// メンバー
    /// 
    public interface IMember
    {
    }

「IMember」にクラス名を変更することで,SA1302の警告が消えます。ただ,このままだと,別の警告が代わりに表示されてしまい,警告が減りません。

SA1649

SA1649の警告が代わりに表示されてしまいました。これは,ファイル名と型名が一致していないという意味です。

現状,インタフェース名は「IMember」ですが,ファイル名は引き続き「Member.cs」のままです。この名前が異なる事への警告なので,ファイル名を「IMember.cs」にすることでこの警告を消すことができます。

これで警告が消えました。この警告があるおかげで,クラス名とファイル名が異なるという事態をなくすことができるので,この警告も無視せずに対応しましょう。