C#类的默认方法

Pay*_*lch 1 c# syntax class

您可以指定一个方法,它是C#类的默认方法吗?我正在编写一个简短的类来输出视频的嵌入代码,这是基本的想法:

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

    public string EmbedCode()
    {
        return "...";
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我要说:

Response.Write(new EmbeddedVideo());
Run Code Online (Sandbox Code Playgroud)

它将输出GetType()方法的结果.如何指定我希望EmbedCode()方法在此上下文中是默认方法?

Bol*_*ock 13

覆盖ToString(),在发生字符串转换的许多场景中调用:

public override string ToString()
{
    return EmbedCode();
}
Run Code Online (Sandbox Code Playgroud)

您所指的"默认"是默认实现Object.ToString(),只是返回类型名称:

默认实现返回Object类型的完全限定名称.