-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 关键字用于定义由 set 访问器分配的值。
  • 未实现 set 访问器的属性是只读的。
  • 对于不需要自定义访问器代码的简单属性,请考虑使用自动实现属性的选项

    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_; }

但它为您提供了所谓的propertyFilePath,可用作obj.FilePath="abc"string abc = obj.FilePath.

于 2012-12-13T15:45:05.903 回答