靜態,內部和公共構造函數有什麼區別?爲什麼我們需要將所有這些創建在一起?靜態,內部和公共構造函數有什麼區別?
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