我写了这段代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Net.Mail;
using System.Net;
public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Foo m_oFoo = new Foo() {
S1 = "N"
};
List<Foo> m_List = new List<Foo>();
m_List.Add(m_oFoo);
IFoo m_oIFoo = (IFoo)m_List[0];
m_oIFoo.S2 = "C";
Response.Write(m_oIFoo.S1);
Response.Write(m_oIFoo.S2);
}
}
public class Foo
{
public string S1 { get; set; }
public Foo()
{
}
}
public class IFoo: Foo
{
public string S2 { get; set; }
public IFoo(){}
}
但是编译器说“无法在 'IFoo' 类型上投射 'Foo' 类型的对象。” 我如何将 Foo 转换为 Foo1 而无需声明具有所有 Foo 方法的施法者,因为这是一个示例,Foo 有 100 多个方法。
谢谢您的帮助