다음과 같이 나는 인터페이스를 구현하는 클래스가 : 나는 다음과 같은 멤버 변수가 다른 클래스에서C# 및 ReSharper에서 : 확인 객체의 유형
public class Database : IStore
;
private IStore store;
다음과 같이 저장 변수에 유형 검사를 수행하는 방법 :
if (store is Database)
ReSharper에서이 조건이 항상있을 것입니다 주장 및 데이터베이스의 인스턴스는 동적으로 런타임에 할당됩니다 그릇된. 또한 "데이터베이스로 저장"은 항상 null이 될 것이라고 주장합니다. 왜 그런가요? 이 인터페이스 유형 멤버가 보유한 런타임 객체 유형을 확인하는 가장 좋은 방법은 무엇입니까? 아마도 '이것이 사실이 아닐 수도 있습니다'라고 항상 말하고있는 것일까 요? R 번호 중 하나가 두 개의 서로 다른 IStore
유형을 가지고, 그리고 클래스가 다른 하나를 구현 할 때 실제로 당신이 일에 대해 테스트하고, 을 혼동하거나처럼
개인 필드 저장소가있는 전체 클래스를 표시 할 수 있습니까? –
질문 작성에 대한 설명 : 서명/추억 노트를 추가하지 마십시오. 사용자 이름이 이미 있습니다. 추가 서명이 필요하지 않습니다 (이름이 게시물에 있어야한다고 생각하면 프로필을 수정해야합니다), 질문에 "미리 감사드립니다"를 추가하지 말고 좋은 대답을 수락하십시오. –
질문에 업데이트 : 미안하지만, 인터페이스 부분에 대해 나쁘다 - 그것은 인터페이스 였고 누군가가 최근에 "추상 클래스"로 변경되어 일부 일반적인 메소드를 사용할 수있게되었습니다. 따라서 IStore는 이제 공용 추상 클래스에 대한 나쁜 이름입니다. :-) – user392005