Вызов функции, если ее DLL доступна? - PullRequest
0 голосов
/ 09 июля 2009

Я хочу вызывать управляемый код тогда и только тогда, когда текущая исполняемая сборка ссылается на него и соответствует этому имени функции.

У меня есть функция

Public Function TestReadableProperties() As String

    ' Not sure where to go with this line
    ' Dim names = Reflection.Assembly.GetExecutingAssembly.GetReferencedAssemblies()


    Return bLib.bReflection.GetAllReadableProperties(Me)
End Function

если bLib.dll отсутствует, то я не хочу, чтобы проект, использующий эту DLL, жаловался или аварийно завершал работу. Хотелось бы, чтобы не было предупреждений о конфликтующих версиях зависимых сборок. Этот код удобен для тестирования, но я хотел бы удалить зависимость от этой библиотеки, не удаляя функциональность, если зависимости совпадают.

Возможно ли это?

1 Ответ

0 голосов
/ 09 июля 2009

Просто поместите вызов вашей функции между оператором try и catch.

Public Function TestReadableProperties() As String
    Try
        Return bLib.bReflection.GetAllReadableProperties(Me)
    Catch
        ''// bLib is not available, let's return nothing
        Return Nothing
    End Try
End Function

Извините за забавный комментарий, просто обмануть маркер, чтобы фактически увидеть его как комментарий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...