Я делаю довольно обширные и постоянные модификации стороннего продукта для моего работодателя.Одним из основных соображений при реализации моего кода было максимально разделить его, чтобы интеграция изменений от поставщика была максимально безболезненной.До сих пор одним из наиболее полезных инструментов для достижения этой цели был частичный класс.Используя частичные классы, я могу хранить любые новые методы, которые мне нужно реализовать, в своем собственном файле.
Но сегодня у меня произошел сбой, и мне нужно кое-что решить, как.Допустим, мне нужно расширить следующий интерфейс.
public partial interface ICondition
{
void MethodA();
void MethodB();
}
, сделав интерфейс частичным и добавив файл с именем ICondition.CompanyName.cs
public partial interface ICondition
{
void MethodC();
}
, что я хочу сделатьсостоит в том, чтобы реализовать интерфейс так же, как я объявил, с MethodA()
и MethodB()
, реализованными в одном файле частичного класса, и MethodC()
в другом.
public partial class Condition : ICondition
{
public void MethodA(){ }
public void MethodB(){ }
}
и моим классом Condition.CompanyName.cs
public partial class Condition : ICondition
{
public void MethodC() { }
}
Это, конечно, не работает, поскольку интерфейс должен быть реализован в одном файле.Я надеюсь, что есть какое-то объявление или немного синтаксической магии, о которой я не знаю, что позволит мне делать то, что я хочу, и хранить эти методы в отдельных файлах, но с тем же интерфейсом.
Edit
Это действительно работает, моя проблема заключалась в том, что у меня было два частичных класса в разных пространствах имен из-за глупой опечатки.Полагаю, сегодня утром я начал слишком рано, спасибо всем за ваше время и внимание.