私はWebアプリケーションを開発しています。インターフェイス ITest を作成しました
public interface ITest
{
void Add();
}
& ITest を実装するユーザーコントロール
public partial class WebUserControl1 : System.Web.UI.UserControl, ITest
{
public void Add()
{
throw new NotImplementedException();
}
}
私のウェブページにユーザーコントロールを配置しました。しかし、ユーザーコントロールを IType 型に型キャストすると、Exception(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 Interface を使用して呼び出したい