2011-02-28 76 views
1

嗨有可能指定一個方法是一個C#類的默認方法?我寫一個簡短類輸出嵌入代碼的視頻,在這裏的基本思想是:C#類的默認方法

public class EmbeddedVideo 
{ 
    public string VideoPath { get; set; } 
    public string ImagePath { get; set; } 

    public string EmbedCode() 
    { 
     return "..."; 
    } 
} 

現在,如果我是在說:

Response.Write(new EmbeddedVideo()); 

,將輸出的GetType結果( ) 方法。我如何指定我希望EmbedCode()方法在此上下文中成爲默認值?

回答

13

覆蓋ToString(),它被調用在許多場景中的字符串轉換髮生:

public override string ToString() 
{ 
    return EmbedCode(); 
} 

「默認」你指的是默認的實現的Object.ToString(),它只是碰巧返回類型名稱:

默認實現返回對象類型的完全限定名稱。

2

聽起來像「默認方法」,你的意思是「控制類型的實例如何顯示在方法如Write」的方法。如果是這樣,你想要做的就是重寫ToString方法。

public override string ToString() { 
    return EmbedCode(); 
}