我见过一个使用没有括号的函数的单例代码。我想知道没有括号的函数和带有不带参数的括号的函数之间有什么区别。
代码public static MySingleton Instance
中没有括号:
(顺便说一下代码是统一并用 c#写的)
public class MySingleton
{
private static MySingleton instance;
public MySingleton ()
{
if (instance != null)
{
Debug.LogError ("Cannot have two instances of singleton.");
return;
}
instance = this;
}
public static MySingleton Instance
{
get
{
if (instance == null)
{
new MySingleton ();
}
return instance;
}
}
}
答案 0 :(得分:2)
public static MySingleton Instance
不是一种方法,而是Property
MSDN文档
属性是一种成员,它提供了一种灵活的机制来读取,写入或计算私有字段的值。属性可以像它们是公共数据成员一样使用,但它们实际上是称为访问器的特殊方法。这样可以轻松访问数据,并且仍然有助于提高方法的安全性和灵活性。
使用属性,您可以将私有成员的访问权限授予外部代码。如果您只提供“获取”访问权限,则只能进行读取操作。
在这里,您将私有成员的实例公开为属性。
答案 1 :(得分:2)