c# - C# 中 .NET 远程处理中实例的使用
问题描述
我对 C# 中实例的使用有疑问。您能否解释一下以下两行代码之间的区别:
public static DatabaseClass Instance { get; } = new DatabaseClass();
DatabaseClass _database = DatabaseClass.Instance;
解决方案
最大的不同是这是声明
public static DatabaseClass Instance { get; } = new DatabaseClass();
这是用法
DatabaseClass _database = DatabaseClass.Instance;
您将 2 行代码断章取义。真正的上下文是包含这些行的类。一个类很可能是Singleton
public class DatabaseClass
{
private DatabaseClass() {} // hide constructor
public static DatabaseClass Instance { get; } = new DatabaseClass();
}
另一个类有一些方法可以调用上面的类
public class SomeClass
{
public static void DoSomething()
{
DatabaseClass _database = DatabaseClass.Instance;
_database.PerformSomeOperation()
}
}
通过简单地查看声明,这是处理单例的常用方法。
对于你的问题,底线是
line#1是具有默认只读值的静态属性的声明
第 2 行是该属性的用法
推荐阅读
- python - 你如何得到所有能被 10 整除且总和为 100 的数字的所有组合?
- d3.js - 放大缩小d3 js可折叠树
- mongodb - 聚合:嵌套文档中的分组日期(嵌套对象)
- excel - 带有 if/and/or 语句的 For 循环
- java - Spring data - 具有相同标识符的不同对象,即使对象相等
- python - Pygame 'pygame.Surface' 对象不可调用
- node.js - 将 8kHz mulaw 转换为 PCM 16kHz
- python - 为什么当我做子图时窗口正在切割我的桌子?
- python - PYTHON:带有本地文件夹文件调用的导入模块=错误
- javascript - 谷歌地图多个和重叠的复选框