Я могу ошибаться, но достаточно взглянуть на определение самой функции:
def test(x: X[_]): X[_ <: F] = x
единственная информация, которую дает экзистенциальный тип, - это то, что что-то существует. и с помощью этой сигнатуры вы пытаетесь «сузить» результат функции
, чтобы показать его на практическом примере. скажем, у вас есть что-то вроде этого:
def test(x: Option[_]): Option[_ <: String]
и затем вы называете это проходящим внутри Option[Int]
. Вы ожидаете, что это назначение будет правильным?
val result: Option[_ <: String] = test(Some(1): Option[_])
Правильно, в HyperlinkField нет свойства текста всплывающей подсказки / альтернативного текста . Чтобы обойти этот недостаток, вам нужно использовать поле шаблона и добавить обычный элемент управления Hyperlink.
<asp:TemplateField HeaderText="Href">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#
Eval("Href") %>' Text='<%# Eval("Href") %>' ToolTip='<%# Eval("Text") %>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
Однако выполнение этого в программном обеспечении требует большой работы. Вам нужно создать свой собственный класс, который реализует интерфейс ITemplate . Вот учебник по этому вопросу.