У меня есть CheckBox и HtmlInputCheckBox.Эти проверенные свойства являются общими.Я хочу получить значение проверенного свойства. Я буду делать с использованием отражения, но я не хочу использовать отражение. Пример кода таким образом,
<input type="checkbox" id="checkBoxHtml" runat="server" />
<asp:CheckBox ID="checkbox" runat="server" />
Это в gridview.
Я могу найтиих с использованием FindControl в gridview, но FindControl Return Type является Control.Поэтому мне нужно использовать Cast для получения проверенного значения.Элемент управления, к которому я хочу получить доступ, может быть другого типа.Например, CheckBox или HtmlInputCheckBox и т. Д. Поэтому я хочу выполнить приведение с использованием одного типа.
Я так думал,
public interface ICommonClass
{
bool GetChecked();
}
public class NewCheckBox:CheckBox,ICommonClass
{
public bool GetChecked()
{
return Checked;
}
}
public class NewHtmlInputCheckBox:HtmlInputCheckBox,ICommonClass
{
public bool GetChecked()
{
return Checked;
}
}
var obj = (ICommonClass)gridview.FindControl("checkbox");
var obj = (ICommonClass)gridview.FindControl("checkboxHtml");
obj.GetChecked();
Этот код не выполняется.Потому что это дает ошибку, когда он делает, чтобы бросить.Правильный, это уже :) Я привел этот пример, потому что я говорю свою мысль.Такое можно сделать?