-3

私はc++のコーダーなので、質問があります。今度はc#コードを読む必要があります。これは名前空間のクラスです。私が理解していないのは最後のメンバーです。

public string FilePath
{
            get { return this.filePath; }
            set { this.filePath = value; }
}

それがメンバー変数なのかメンバー関数なのかわかりません。

メンバー関数として見ると、次のようになります。

public string FilePath(***)
{
****;
}

しかし、ここには()同様のパラメーターがありません。どのタイプの関数ですか?

  class INIFileOperation
    {
    private string filePath;

    [DllImport("kernel32")]
    private static extern long WritePrivateProfileString(string section,
    string key,
    string val,
    string filePath);

    [DllImport("kernel32")]
    private static extern int GetPrivateProfileString(string section,
    string key,
    string def,
    StringBuilder retVal,
    int size,
    string filePath);

    public string ReadAppPath()
    {
        string appPath = Path.GetDirectoryName(Application.ExecutablePath);

        return appPath + "\\Setting.ini";
    }

    public INIFileOperation()
    {
        this.filePath = ReadAppPath();
    }

    public void Write(string section, string key, string value)
    {
        WritePrivateProfileString(section, key, value.ToUpper(), this.filePath);
    }
    public string Read(string section, string key)
    {
        StringBuilder SB = new StringBuilder(255);
        int i = GetPrivateProfileString(section, key, "", SB, 255, this.filePath);
        return SB.ToString();
    }
    public string FilePath
    {
        get { return this.filePath; }
        set { this.filePath = value; }
    }
}
4

3 に答える 3

5

これはメソッドではありませんが、これはc#でクラスのプロパティを定義できる方法です。

MSDN プロパティは、プライベートフィールドの値を読み取り、書き込み、または計算するための柔軟なメカニズムを提供するメンバーです。プロパティは、パブリックデータメンバーであるかのように使用できますが、実際にはアクセサーと呼ばれる特別なメソッドです。これにより、データに簡単にアクセスでき、メソッドの安全性と柔軟性を高めることができます。

  • プロパティを使用すると、クラスは、実装コードまたは検証コードを非表示にしながら、値を取得および設定するための公的な方法を公開できます。
  • getプロパティアクセサーはプロパティ値を返すために使用され、setアクセサーは新しい値を割り当てるために使用されます。これらのアクセサーは、異なるアクセスレベルを持つことができます。
  • valueキーワードは、セットアクセサーによって割り当てられる値を定義するために使用されます。
  • セットアクセサーを実装しないプロパティは読み取り専用です。
  • カスタムアクセサコードを必要としない単純なプロパティの場合、自動実装されたプロパティを使用するオプションを検討してください

    public string FilePath
    {
         get 
         { 
             return this.filePath; 
         }
         set 
         { 
             this.filePath = value; 
         }
    }
    

あなたはここまたはここでもっと読むことができます

于 2012-12-13T15:42:17.400 に答える
2

FilePathは、それが見つかったクラスに属するパブリック文字列変数です。getとsetは、変数にアクセスしたときに変数を取得および設定する方法を定義します。

http://www.csharp-station.com/Tutorial/CSharp/lesson10

于 2012-12-13T15:46:02.223 に答える
1

あなたが見ることができます

public string FilePath
        {
            get { return this.filePath; }
            set { this.filePath = value; }
        }

一種の執筆として

public string GetFilePath() { return this.filePath; }
public string SetFilePath(string value_) { this.filePath = value_; }

ただし、またはpropertyとして使用できる、いわゆるFilePathが提供されます。obj.FilePath="abc"string abc = obj.FilePath

于 2012-12-13T15:45:05.903 に答える