그래도 작동하지 않습니다.
Resharper는 인터페이스 자체에서 제공하는 이름을 사용하고 있으며이를 구현하기 위해이 이름을 변경할 수 없습니다 (대소 문자 포함).
"MyMethod"는 "IMyInterface"에 지정된 이름입니다. 이 방법을 구현하려면 케이스를 보존해야하며 명시 적으로 구현 중이므로 옵션이 없습니다. 댓글 후
편집 : 여기
은 예입니다. 난 그냥과 같이, 인터페이스를 만들어 :
internal interface IMyInterface
{
void testmethod();
}
이 내 현재의 명명 규칙을 (ReSharper에서이 경우 testmethod을 활용하도록 요청) 위반합니다. 나는 다음이 인터페이스를 구현하는 클래스 한 경우
:
class MyClass : IMyInterface
{
을 내가 "명시 적 인터페이스 구현"을 선택, ReSharper에서 (가) 작성 :이 경우
class MyClass : IMyInterface
{
#region IMyInterface Members
void IMyInterface.testmethod()
{
throw new NotImplementedException();
}
#endregion
}
, 그것은 하지 않습니다 라인의 케이스에 대해을 불평하는 것은 : void IMyInterface.testmethod()
은을 사용하여 인터페이스를 구현 할 방법이 없습니다 인터페이스와 다른 케이스 - 명시 적으로 또는 암시 적으로 정의되었는지 여부는 중요하지 않음 - 인터페이스는 케이스를 포함하여 메소드 이름을 결정합니다. 그것이 왜 공개, IMyInterface.testmethod
의 명시 적 구현의 민간 방법이 아닙니다 -
나는 혼란으로 인해 당신이, 내 경우에는, testmethod
이 개인이라고 가정하고 있다는 사실 것 같아요
IMyInterface myClass = new MyClass();
myClass.testmethod(); // This is public on IMyInterface, not private!
인터페이스를 구현하는 메소드의 대소 문자는 변경할 수 없습니다.이 제한은 Resharper 제한이 아니라 .NET 제한입니다.
개인용 메서드와 명시 적 구현에 대한 동일한 규칙을 사용하면 5.0.1659.36 –