VB.net анонимный класс с наследованием
Представьте, что у меня есть такой класс:
Class A
Public Function Some(str As String) As String
Return "Some " + str
End Function
End Class
У меня есть такой код потребления:
Public Sub Foo()
Dim thisWorks = New With {.prop = "thing"}
Dim thisDoesntWork = New inherits A with { .prop = Some("thing") }
End Sub
Я пытаюсь создать анонимный тип с наследованием, чтобы я мог использовать методы внутри. Возможно ли это ?
Пример использования: я пытаюсь создать класс, который имеет такие методы, как Select, From и т. д. это поможет в более чистом построении запросов. В потребляющем коде я бы просто создал анонимный тип, наследующий от класса, и использовал методы.
1 ответ:
То, что вы хотите, невозможно (по крайней мере, не так, как вы это описываете).
Из того, что я думаю, я понял ; вы должны попытаться имитировать то, что было donne для Linq ; интерфейс (например, IEnumerable) со всеми методами, которые вы хотите (или, возможно, абстрактный класс bu, который мешает вам наследовать от чего-то другого) + что-то еще (вероятно, модуль, если вы хотите их как метод расширения), определяющий Select и т. д. действуя на интерфейсе.
С этого момента вы можете создавать классы, которые реализуйте интерфейс и используйте свой пользовательский выбор и т. д. на них