VB.NET, .NET 4
Привет всем,
Предположим, у меня есть интерфейс под названием IParseable (из TParsed, TUnparsed), который требует две функции:
Function Parse(ByVal Value As TUnparsed) As TParsed
Function Unparse(ByVal Value As TParsed) As TUnparsed
Есть ли способ, которым я могу ограничить TParsed и TUnparsed числовыми типами (для которых уже определены такие операции, как "*" и "+")?
Проблема в том, что, когда я пытаюсь реализоватьМой интерфейс и определить одну из функций, например:
Public Function Parse(ByVal Value As TUnparsed) As TParsed Implements IParseable(Of TParsed, TUnparsed).Parse
Return CType(10 * Value, TParsed)
End Function
VS выдает ошибку, говоря, что "*" не определен для TUnparsed.Я понимаю, что, поскольку TUnparsed может быть чем угодно, но есть ли способ ограничить мой универсальный такой, что, скажем, TUnparsed может быть только Double, Integer, Long и т. Д.?
Я спрашиваю это, потому что знаю, что выможет сделать что-то вроде:
Function Blah(Of T As TextBox)(ByVal Control As T) As Object
Требовать, чтобы Control был TextBox (или, может быть, я тоже не очень хорошо понимаю это ....).Но, в любом случае, есть идеи или я не в курсе?Просто пытаюсь освоить эти интерфейсные вещи и универсальные типы.
Заранее большое спасибо, Брайан