c# - 从 MainWindow.xaml.cs 类,为什么我无法访问 App.xam.cs 类的自定义属性
问题描述
在MainWindow.xaml.cs
课堂上,当试图访问我Name
在App.xaml.cs
课堂上的财产时,我收到了错误:
“应用程序”不包含“名称”的定义。
为什么?
备注:我正在处理与此类似的场景。但是作者使用的是全局变量,而且我们知道,在大多数情况下,使用属性优于全局变量。所以,在我的情况下,我正在尝试财产。
应用程序.xaml.cs:
public partial class App : Application
{
private string[] name;
public string[] Name
{
get { return name; }
set { name = value; }
}
}
MainWindow.xaml.cs:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
string[] myArray = App.Name //VS2019 Intellisense gives the error: 'App' does not contain a definition for 'Name'
}
}
解决方案
您需要将 Name 属性设为静态,因为它看起来根本不像在 MainWindow 类中实例化 App 类。
......
......
public partial class App : Application
{
private static string[] name;
public static string[] Name
{
get { return name; }
set { name = value; }
}
......
......
}
推荐阅读
- logging - 如何在被其他日志文件覆盖之前备份日志文件?
- php - 如何从 php codeigniter 中的 mysql 时间戳打印格式化的日期时间
- reactjs - TypeError:无法读取开关中未定义的属性“类型”(action.type)
- google-cloud-platform - 有没有办法以编程方式传递凭据以使用 google documentAI 而无需从磁盘读取?
- reactjs - 将参数传递给 useEffect()
- angular - 是否可以在 mat-accord 中用 mat-form-field 替换 mat-expansion-panel-header?
- php - 单页上的 Wordpress 自定义侧边栏
- django - 加载 Django 夹具的问题。UnboundLocalError:分配前引用的局部变量“pk”
- c++11 - 容器线程安全
- java - JavaMail 连接超时不按属性工作