備忘録
- public:どこからでも参照可
- internal:同一アセンブリのみ
- protected:クラス内部とサブクラスのみアクセスすることが可能
- private:クラス内部のみアクセスすることが可
- フィールドの場合はprivate
- 自分のクラスのフィールドのチェックは自分のクラスで行うことで処理が重複せずに、使いやすいクラスになる
- フィールドは同じクラスのメソッドのみが使われている状態が理想的
- (例:顧客クラスの場合、顧客に対するデータを持っていて、そのデータの変数とかをチェック)
- プロパティ:フィールドの値を設定したり取得する。単純に値を取得、セットする
- 自動実装プロパティ:値チェックのロジックがない場合は下記のように書く
public int count {get; set:}
- Dispose:リソースの解放 (int, stringなど)
- メモリ空間を確保
- DBを使っていたりしてアプリの外部のものを使っている
- usingは勝手にDisposeされる
- クラス全体で使うときはIDisposableを実装
- クラス自体はDispose対象
- static:アプリにただ一つ定義したいときに使う (例:DBの接続先のように共通で使えるようにしたい)
- staticのメソッドはインスタンスを作らなくても直接使うことが可能
- アプリで一個だけ定義する
- (例:Counterクラスのアプリに_countが定義されてもどこから呼ばれても_countしかない)
- クラスや変数を定義する時にstaticをつける
- newすることができないのでクラス単位で生成される。インスタンス生成はしない
- 静的メソッドの中で使えるのは静的メンバーのみ。
- クラス名を使ってアクセスを行う
- クラス.メソッド名のように使う