静态,内部和公共构造函数有什么区别?为什么我们需要将所有这些创建在一起?静态,内部和公共构造函数有什么区别?
static xyz()
{
}
public xyz()
{
}
internal xyz()
{
}
静态,内部和公共构造函数有什么区别?为什么我们需要将所有这些创建在一起?静态,内部和公共构造函数有什么区别?
static xyz()
{
}
public xyz()
{
}
internal xyz()
{
}
静态构造函数将在第一次实例化类型的对象或调用静态方法时调用。并且将只运行一次
公共构造是所有其他类型
内部构造访问只有在同一程序
这三个还有受保护的顶部访问类型是唯一进入从封闭类型
和受保护的内部派生类型是仅在同一组件可访问类型或那些从封闭类型派生
一个d私人这与类型本身和任何嵌套类型仅可访问
受保护的内部只能由同一个程序集中的类型访问,或者从包含类型(其他程序集)派生,而不是“派生...”。 –
new
你的代码实际上并没有编译,因为内部和公共的构造函数是不同的修饰符,你不能这样做。您需要选择内部或公共(或私人)。
public
和internal
之间的区别在于,internal
构造函数只能从同一组件内被调用,而public
一个可以从其他组件如被称为好。
static
是一个只在第一次引用类时才被调用的构造函数。静态成员不属于类的实例,而是“属于类本身”。有关static
的更多信息,请参阅http://msdn.microsoft.com/en-us/library/79b3xss3(v=vs.80).aspx。
静态构造函数被称为第一次使用类型。无论是在静态环境中还是通过创建实例。
创建新实例时调用所有其他构造函数。修饰符只是确定哪些代码可以创建实例。
如果你的构造函数是私有的,只有类本身和嵌套类型可以创建一个实例(也许在静态工厂方法中)。这就像公共/私人/内部方法一样工作。
您不需要创建所有类型的构造函数。访问修饰符与其他访问修饰符具有相同的功能 - 以确定如何访问构造函数。
internal
标准的项目调用,该标准“仅在同一个程序集中的文件中可访问”。protected
和private
构造操作如您所愿 - 构造函数是满足对访问修饰符的条件的项目进行访问。
你并不需要创建他们。 – Otiel
为什么倒票?所以他不知道什么,大莳萝,这不像他问一个愚蠢的问题。 –
@Gilad - 一个简单的谷歌将提供明确答案的问题不是一个好问题。 – Oded