我正在开发一个网络应用程序。我创建了一个接口 ITest
public interface ITest
{
void Add();
}
& 一个实现 ITest 的用户控件
public partial class WebUserControl1 : System.Web.UI.UserControl, ITest
{
public void Add()
{
throw new NotImplementedException();
}
}
在我的网页上,我放置了用户控件。但是,当我将用户控件类型转换为 IType 类型时,它会引发异常(System.InvalidCastException)
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// WebUserControl11.Add();
foreach (var uCnt in this.Page.FindControlsOfType<UserControl>())
{
if (uCnt.Visible)
{
((ITest)uCnt).Add(); //Error : Casting Exception
}
else
{
}
}
}
}
我可以直接调用 Add 方法,但是我想使用 ITest 接口调用它