|
分類:[C#]
初めての投稿になりますが、よろしくお願いします。 現在C#を勉強しているのですが、基本的な概念がどうもわかっていなく今回投稿させていただきました。
内容は、現在データベーステーブルに存在しているTaskテーブルに、 Id,Title,Contents,Limitの列名があるのですが、静的クラスからフィールド変数とプロパティの設定をする場合、 下記のコードのようになぜ、staticをつけるのでしょうか? また、他のクラスからたとえばGetTitle()を呼ぶときは、そのままGetTitle()とコードを書いても良いものなのでしょうか? また静的クラスのメリットとは、インスタンスの複数生成しないで済むほかにメリットはあるのでしょうか?
初歩の初歩での質問で申し訳ありませんが、アドバイスよろしくお願いします。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.Reflection; using System.IO;
namespace TaskManage { static public class Dialogs { // 静的フィールド変数_titleを宣言 // メッセージボックスのタイトル文字列を格納 static private string _title; // メッセージボックスのタイトルを取得できる静的なTitleプロパティを宣言 static private string Title { get { // フィールド変数_titleの値がnullか空白だった場合は、GetTitleメソッドの戻り値を格納します if (string.IsNullOrEmpty(_title)) { _title = GetTitle(); } return _title; } } // Jbc27-1001 static private string GetTitle() { // GetExecutingAssemblyメソッドで、 // 現在実行中のコードを格納しているアセンブリ(コンパイル済みのコードライブラリファイル)を取得。 Assembly assembly = Assembly.GetExecutingAssembly(); // 次にPathクラスのGetFileNameWithoutExtensionメソッドを使用して、 // 拡張子を除いたファイル名を取り出した結果を返す。(TaskManage.exe)→(TaskManage)という文字列を取得。 return Path.GetFileNameWithoutExtension(assembly.CodeBase); } } }
|