문제

나는 방법을 알고있을 테스트하시는 경우,형식의 사용은 예:키워드

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 */}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top