c#静的変数と静的属性の違い

5461 ワード

プログラミングの初期セグメントは通常、フレームワークを細かく構築する必要がないため、静的変数と静的方法を使用するのが好きです.しかし、パッケージ性の破壊が大きく、internal staticやpublic staticが宣言したものはほとんどプログラムの中でどこでも使えますが、問題になりやすいと思います.先日、プログラムが起動したときに構成ディレクトリを確認し、このディレクトリが存在しない場合は作成する問題がありました.
手順は次のとおりです.
 
    public class ClassDebug

    {

        public static string     

          {

            get

            {

                string tempPath =

                    Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "    ");

                if (!Directory.Exists(tempPath))

                {

                    Directory.CreateDirectory(tempPath);

                }

                return tempPath;

            }

        }

    }

 
 
public class HostInfo

    {

        private string _ip = "127.0.0.1";

        private string _port = "80";



        public string Ip

        {

            get { return _ip; }

            set { _ip = value; }

        }



        public string Port

        {

            get { return _port; }

            set { _port = value; }

        }

    }

 
次のプログラムが実行されると、ディレクトリが作成され、初期化フェーズでディレクトリを変更する機会がありません.デフォルトのIpとPortの値を取得します.
public static string MyPath= Path.Combine(ClassDebug.ClassDebug.    , host.Ip + "_" + host.Port);

      

        public static void Main(string[] args)

        {

            //    

            Console.ReadLine();

        }

    

次こそ正しい方法で、时には本当に手間を省くだけで、コードを何行も書くことができません.しかし、静的変数には何のメリットもないと思います.
        public static string MyPath

        {

            get

            {

                //            

                    HostInfo host = new HostInfo();

                host.Ip = LoginWindow.Ip;

                host.Ip = LoginWindow.Port;

                return Path.Combine(ClassDebug.ClassDebug.    , host.Ip + "_" + host.Port);

            }

        }

public static void Main(string[] args)

        {

            //    

            Console.ReadLine();

        }