如何在 C# 控制台应用程序中设置另一个 class 的 属性

how to set a property of another class in C# console application

我在 C# 控制台应用程序中有以下代码段。

namespace backupSystemAdministration
{
    class backupSystem {

        static void Main(string[] args) {
            backupSystemaccess obj = new backupSystemaccess();
            string input = filepath.Split(',')[0];
        }
        private static void addbackup(string line) {
            backupSystemaccess.wordval = line; //error
        }
    }
  public  class backupSystemaccess {
        public  static  string _word;
         public  static string wordval {
            get {
                return _word;
            }
            set {
                _word = value;
            }
        }
    }
}

我无法从 class backupSystem 设置 属性 backupSystemaccess。在行 backupSystemaccess.wordval=line

中出现错误

创建的 属性 未列出。 附上访问实例时我得到的屏幕。 谁能帮我解决这个问题。

属性 wordval 也必须是 public 因为 wordval 是静态的,所以您也应该将字段 _word 设为静态。同样基于 Naming Guidelines 最好将 wordval 属性 重命名为 Wordval:

static string _word;

public static string Wordval
{
    get
    {
        return _word;
    }
    set
    {
        _word = value;
    }
}

或者您可以使用 Auto-Implemented Properties 代替:

public static string Wordval { get; set; }

您将 wordval 定义为 static,但 _word 不是。我不知道你想达到什么目的,但这 can 行不通。

backupSystemaccess.wordval

说你不希望它是静态的。

另一边我听不懂你的台词

backupSystemaccess = new backupSystemaccess();

也许您应该尝试更好地理解 OOP。

编辑: 现在您正在访问 属性 wordval 权限,但当然它不能设置 _word 因为它没有 "know" 什么(以及内存中的位置)_word 是因为可以有任意多的 _word 但静态方法是唯一的。