문제
나는 방법을 알고있을 테스트하시는 경우,형식의 사용은 예:키워드
if (foo is bar)
{
//do something here
}
하지만 당신은 어떻게 당신 테스트에 대한되지 않"바"?, 나를 찾을 수가 없는 키워드와 함께 작동하는 것입 테스트에 대한 부정적인 결과입니다.
BTW-나는 끔찍한 느낌이 soooo 분명하므로 사전에 사과...
해결책
if (!(foo is bar)) {
}
다른 팁
사용할 수도 있습니다 으로 연산자.
으로 연산자를 사용하여 수행 변환 사이에 호환되는 유형입니다.
bar aBar = foo as bar; // aBar is null if foo is not bar
없는 특정 키워드
if (!(foo is bar)) ...
if (foo.GetType() != bar.GetType()) .. // foo & bar should be on the same level of type hierarchy
을 명확히 해야할지 여부를 테스트하는 개체 정확히 특정 형식이나 할당 에서는 특정 유형입니다.예를 들어:
public class Foo : Bar {}
과가 있다고 가정:
Foo foo = new Foo();
를 알고 싶은 경우에는지 여부를 foo 지 않 Bar(),그 다음 아래와 같이 할 것입니다:
if(!(foo.GetType() == tyepof(Bar))) {...}
하지만 경우에 당신이 있는지 확인하려면 foo 서 파생되지 않 막대,그때 쉽게 확인을 사용하는 것으로 키워드를 사용합니다.
Bar bar = foo as Bar;
if(bar == null) {/* foo is not a bar */}
제휴하지 않습니다 StackOverflow