2010-07-02 40 views

Trả lời

52

Hãy thử như sau

if TypeOf x Is IFoo Then 
    ... 
+1

cảm ơn/từ khóa TypeOf là những gì tôi đã bỏ lỡ – Tahbaza

6

Như thế này:

If TypeOf x Is IFoo Then 
3

Sử dụng this online web solution để chuyển đổi C# để VB.NET, cũng như một số chuyển đổi mã khác.

1

Bản dịch trực tiếp là:

If TypeOf x Is IFoo Then 
    ... 
End If 

Nhưng (để trả lời câu hỏi thứ hai của bạn) nếu mã ban đầu được viết tốt hơn như

var y = x as IFoo; 
if (y != null) 
{ 
    ... something referencing y rather than (IFoo)x ... 
} 

Sau đó, vâng,

Dim y = TryCast(x, IFoo) 
If y IsNot Nothing Then 
    ... something referencing y rather than CType or DirectCast (x, IFoo) 
End If 

tốt hơn.

Các vấn đề liên quan