У меня абсурдная ситуация (не вините меня, это стороннее программное обеспечение), где мне нужно иметь две ссылки (Erp.Contracts.BO.Quote и Erp.Contracts.BO.SalesOrder), но тип Erp.Tablesets. QuoteQtyRow определен в обеих сборках!
Как использовать их в коде?
void Absurdity()
{
Erp.Tablesets.QuoteQtyRow qqr_Quote = null; //<-- my intention is to use the one from the quote assembly here.
Erp.Tablesets.QuoteQtyRow qqr_SO = null; //<-- my intention is to use the one from the sales order assembly here.
}
Компилятор выдает ошибку. А именно: «Тип Erp.Tablesets.QuoteQtyRow существует в обеих сборках».
РЕДАКТИРОВАТЬ: ОГРАНИЧЕНИЯ:
У меня нет возможности использовать внешний псевдоним, как указано в этом ответе Одноименный класс в двух сборках (намеренно). Я ограничен средой, предоставляемой сторонним программным обеспечением. По сути, мне нужен способ провести различие в теле метода.
Я понимаю, что могу полностью избежать этой проблемы, используя ключевое слово dynamic, но я ищу возможное строго типизированное решение.
Возможно, решения нет, но я хочу исчерпать все свои ресурсы, прежде чем откажусь от проблемы.