您可以指定一个C#类的默认方法吗?我正在编写一个简短的类来输出视频的嵌入代码,这是基本的想法:
public class EmbeddedVideo
{
public string VideoPath { get; set; }
public string ImagePath { get; set; }
public string EmbedCode()
{
return "...";
}
}
现在,如果我要说:
Response.Write(new EmbeddedVideo());
它将输出GetType()方法的结果。如何指定我希望EmbedCode()方法成为此上下文中的默认值?
答案 0 :(得分:13)
覆盖ToString()
,在许多发生字符串转换的场景中调用它:
public override string ToString()
{
return EmbedCode();
}
您所指的“默认”是Object.ToString()
的默认实现,只是返回类型名称:
默认实现返回Object类型的完全限定名称。
答案 1 :(得分:2)
听起来像“默认方法”,你的意思是“控制类型实例如何在Write
等方法中显示的方法”。如果是这样,您要执行的操作是覆盖ToString
方法。
public override string ToString() {
return EmbedCode();
}