반응형
개체가 형식이 아닌지 확인 (! = "IS"에 해당)-C #
이것은 잘 작동합니다.
protected void txtTest_Load(object sender, EventArgs e)
{
if (sender is TextBox) {...}
}
보낸 사람이 TextBox가 아닌지 확인하는 방법이 있습니까? "is"에 대한! =과 같은 종류입니까?
논리를 ELSE {}로 이동하지 마십시오. :)
이것은 한 가지 방법입니다.
if (!(sender is TextBox)) {...}
is
키워드 앞에 더 장황한 "오래된"방법을 사용할 수 없습니까?
if (sender.GetType() != typeof(TextBox)) { // ... }
잘 알려진 두 가지 방법은 다음과 같습니다.
1) IS 연산자 사용 :
if (!(sender is TextBox)) {...}
2) AS 연산자 사용 (textBox 인스턴스로 작업해야하는 경우 유용함) :
var textBox = sender as TextBox;
if (sender == null) {...}
다음과 같은 상속을 사용하는 경우 :
public class BaseClass
{}
public class Foo : BaseClass
{}
public class Bar : BaseClass
{}
... Null 내성
if (obj?.GetType().BaseType != typeof(Bar)) { // ... }
또는
if (!(sender is Foo)) { //... }
이 시도.
var cont= textboxobject as Control;
if(cont.GetType().Name=="TextBox")
{
MessageBox.show("textboxobject is a textbox");
}
참고 URL : https://stackoverflow.com/questions/529944/check-if-object-is-not-of-type-equivalent-for-is-c-sharp
반응형
'program tip' 카테고리의 다른 글
ASP.NET GridView에서 부울을 Yes / No로 변환 할 수 있습니까? (0) | 2020.11.23 |
---|---|
자바 : 날짜가 특정 범위 내에 있는지 어떻게 확인합니까? (0) | 2020.11.23 |
Visual Studio 내에서 LARGEADDRESSAWARE를 설정할 수 있습니까? (0) | 2020.11.23 |
내 Android 장치에 특정 패키지가 있는지 어떻게 알 수 있습니까? (0) | 2020.11.23 |
Facebook의 "Messenger"에는 재부팅 후 가장 높은 우선 순위를 갖는 SMS 브로드 캐스트 수신기가 있습니다. (0) | 2020.11.22 |