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 2

1 ответ:

То, что вы хотите, невозможно (по крайней мере, не так, как вы это описываете).

Из того, что я думаю, я понял ; вы должны попытаться имитировать то, что было donne для Linq ; интерфейс (например, IEnumerable) со всеми методами, которые вы хотите (или, возможно, абстрактный класс bu, который мешает вам наследовать от чего-то другого) + что-то еще (вероятно, модуль, если вы хотите их как метод расширения), определяющий Select и т. д. действуя на интерфейсе.

С этого момента вы можете создавать классы, которые реализуйте интерфейс и используйте свой пользовательский выбор и т. д. на них