Ответ 1
Предположим, что у вас есть 2 сборки (ClassLibrary1.dll
и ClassLibrary2.dll
), которые определяют один и тот же класс в одном и том же пространстве имен:
namespace Foo
{
public class Bar
{
}
}
Теперь в проекте потребления вы можете определить дополнительный псевдоним в ссылках библиотеки классов:
И теперь вы можете сделать следующее, чтобы помочь компилятору устранить неоднозначность:
extern alias lib1;
extern alias lib2;
class Program
{
static void Main()
{
var barFromLib1 = new lib1::Foo.Bar();
var barFromLib2 = new lib2::Foo.Bar();
}
}