Это не сработает.
Resharper использует имя, предоставленное самим интерфейсом - и для его реализации вы не можете изменить это имя (даже регистр).
«MyMethod» - это имя, указанное в «IMyInterface». Вы должны сохранить регистр для реализации этого метода, и, поскольку вы реализуете его явно, вариантов нет.
Редактировать после комментариев:
Вот пример. Я только что сделал интерфейс, вот так:
internal interface IMyInterface
{
void testmethod();
}
Это нарушает мои действующие соглашения об именах (в этом случае Resharper просит использовать метод test заглавными буквами).
Если я создам класс, который реализует этот интерфейс:
class MyClass : IMyInterface
{
И я выбираю «Реализовать интерфейс явно», Resharper создает:
class MyClass : IMyInterface
{
#region IMyInterface Members
void IMyInterface.testmethod()
{
throw new NotImplementedException();
}
#endregion
}
В этом случае не жалуется на корпус в строке: void IMyInterface.testmethod()
Не было бы никакого способа реализовать интерфейс, использующий другой регистр, чем тот, который находится в интерфейсе, однако - не имеет значения, определен он явно или неявно - интерфейс определяет имя метода, включая регистр.
Я думаю, что путаница может быть связана с тем, что вы предполагаете, что в моем случае testmethod
- это private - это не приватный метод, это публичная, явная реализация IMyInterface.testmethod
, поэтому вы можете сделать:
IMyInterface myClass = new MyClass();
myClass.testmethod(); // This is public on IMyInterface, not private!
Вы не можете изменить регистр метода, реализующего ваш интерфейс - это ограничение .NET, а не ограничение Resharper.