首页 > 解决方案 > C# 中 .NET 远程处理中实例的使用

问题描述

我对 C# 中实例的使用有疑问。您能否解释一下以下两行代码之间的区别:

public static DatabaseClass Instance { get; } = new DatabaseClass();

DatabaseClass _database = DatabaseClass.Instance;

标签: c#.net

解决方案


最大的不同是这是声明

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 行是该属性的用法


推荐阅读