У меня есть проект веб-службы с несколькими веб-службами. Две из этих веб-служб совместно используют перечисление, которое определено в классе BL, например:
public class HumanResourcesService
{
public SomeLibrary.Employee GetEmployee(int employeeCode)
{
var employee = new SomeLibrary.Employee();
employee.Type= SomeLibrary.EmployeeType.SomeType;
return employee ;
}
}
public class BankService
{
public bool ProcessPayment(int employeeCode, EmployeeType employeeType)
{
bool processed = false;
// Boring code
return processed;
}
}
Это всего лишь пример.
Обе веб-службы, когда на них ссылаются в веб-проекте, генерируют разные прокси EmployeeType
enum, поэтому мне нужно явно выполнить приведение, чтобы вызвать метод ProcessPayment
в BankService
:
public void SomeMethod(int employeeCode)
{
var hrService = new HumanResourcesService();
var employee = hrService.GetEmployee(employeeCode);
var bankService = new BankService();
bankService.ProcessPayment(employee.Code, (MyProject.BankService.EmployeeType) employee.Type);
}
Я понимаю, что .NET должен сделать это для создания WSDL, но не могу ли я каким-то образом заставить обе службы ссылаться на одно и то же перечисление в прокси-классах, ничего не нарушая?