如何在 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
但静态方法是唯一的。
我在 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
但静态方法是唯一的。