您好,登錄后才能下訂單哦!
• ref / out 在大部分情況下是標識的一部分!
你可以重載一個ref型參數和一個普通參數
你可以重載一個out型參數和一個普通參數
你不可以重載一個ref型參數和一個out型參數
sealed class Overloading
{
void Allowed( int parameter)
{ ... }
void Allowed(ref int parameter)
{ ... }
//正確,重載一個ref型參數和一個普通參數
void AlsoAllowed( int parameter)
{ ... }
void AlsoAllowed(out int parameter)
{ ... }
//正確,重載一個out型參數和一個普通參數
void NotAllowed(ref int parameter)
{ ... }
void NotAllowed(out int parameter)
{ ... }
//錯誤,不能重載一個ref型參數和一個out型參數
}
ref和out修飾符可以是一個函數的標識。但是你不能同時重載ref和out型參數。ref和out修飾符在某種意義上是“安全的“,因為只有ref型實參才能傳遞給ref型函數參數,只有out型實參才能傳遞給out型函數參數。但是,當調用函數的時候,你會非常容易忘記ref和out修飾符,所以最好不要重載ref和out型參數。例如:
sealed class Overloading
{
public static void Example(int parameter)
{ ... }
public static void Example(ref int parameter)
{ ... }
static void Main()
{
int argument = 42;
Example(argument);//在這兒非常容易忘記ref修飾符
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。