首先,这严格来说是一个 C# 问题!请将您的知识限制在 C# 中。
在我正在开发的一个应用程序中,我们有一些类可以提供预设的“原型”。在非常高的水平上:
public class Foo
{
#region Variables / Properties
public bool Bar { get; set; }
public string Name { get; set; }
public int Fooby { get; set; }
#endregion Variables / Properties
#region Prototypes
public Foo SomePrototype = new Foo
{
Bar = false,
Name = "Generic False State",
Fooby = -1
};
public Foo SomeOtherPrototype = new Foo
{
Bar = true,
Name = "Generic True State",
Fooby = Int32.MaxValue
};
#endregion Prototypes
#region Methods
// ...Behaviors here.
#endregion Methods
}
请注意“原型”部分。我一直明白,在 C# 中,做这种“原型”的“正确”方法是:
public Foo SomePrototype
{
get
{
return new Foo
{
Bar = false,
Name = "Generic False State",
Fooby = -1
};
}
}
虽然我猜任何一个“原型”实现都可以工作,但问题:我在我们的代码库中看到的方式有哪些含义(即第一个示例?)
对我来说明显的含义是“原型”的所有用法都只是对那个面向公众的Foo
变量的引用,这可以提供一些有趣的交互......我只是想知道是否还有更多需要注意的地方。