Можно ли различать типы с одинаковыми полностью определенными именами?

2

В сценарии я хотел бы иметь возможность ссылаться на две аналогичные сторонние сборки (например, assem1 и assem2), которые определяют тип с тем же самым полным именем (например, Example.MyType). Есть ли способ отличить их от них отдельно? Я считаю, что ответ не есть, но подтверждение или исправление будут удобны.

Изменить: ответили для С# 2.0 и выше ниже, но вам нужен ответ в VB.Net 1.1

Теги:
namespaces

2 ответа

4
Лучший ответ

Вы можете сделать это на С# - вам нужно использовать extern aliases, чтобы указать, какой из них вы хотите в каждом случае. У Энсона Хортона есть прохождение, которое полезно.

Я не знаю, имеет ли VB аналогичную функцию.

Конечно, стоит избегать этой ситуации, если возможно:

  • 0
    Спасибо Джон, это именно то, что мне нужно. К сожалению, это только в C # 2.0 и выше, и мне нужен VB.Net 1.1, который я, вероятно, должен был упомянуть. Я подожду немного ответов, прежде чем поставить галочку.
  • 0
    @Rich: Боюсь, я даже не знаю, доступна ли эта функция в VB. Если это так, я ожидаю, что это будет в VB 8 (VS 2005).
0

Возможно, я неправильно понял вопрос; если вы хотите ссылаться на него как часть проекта (например, в VS), это не поможет вам. Но если вам нужно ссылаться на тип в файле конфигурации или что-то еще, то работает следующее:

Используйте полное имя, включая имя сборки (лучше всего, если сборка названа сильной), и вы можете рассказать об этом отдельно. Посмотрите Type.AssemblyQualifiedName для получения дополнительной информации.

  • 0
    Спасибо Lucero, нужно ссылаться на них в коде, к сожалению.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню