আমার কাছে একটি বৈশ্বিক পরিবর্তনশীল যা আমার কাস্টম শ্রেণীর উদাহরণ।
অবজেক্টটি সেট করা আছে কিনা বা এটি শুরু করার দরকার হলে আমি কীভাবে চেক করব?
আমার কাছে একটি বৈশ্বিক পরিবর্তনশীল যা আমার কাস্টম শ্রেণীর উদাহরণ।
অবজেক্টটি সেট করা আছে কিনা বা এটি শুরু করার দরকার হলে আমি কীভাবে চেক করব?
উত্তর:
If obj Is Nothing Then
' need to initialize obj: '
Set obj = ...
Else
' obj already set / initialized. '
End If
বা, আপনি যদি এটিকে অন্য উপায়ে পছন্দ করেন:
If Not obj Is Nothing Then
' obj already set / initialized. '
Else
' need to initialize obj: '
Set obj = ...
End If
obj Is Nothing
চেকিংয়ের মতো নয় IsNothing(obj)
! এটি পরীক্ষা করার জন্য সঠিক সিনট্যাক্সের জন্য ধন্যবাদ ... কারণ কেন IsNothing()
অন্যরকম আচরণ করে তা নিশ্চিত নয় ...
Not (obj Is Nothing)
বুঝতে চেয়ে সহজ মনে করি Not obj Is Nothing
। আমার মস্তিষ্ক জানে না "আপত্তি নয়" কী!
এটি করার নিরাপদ উপায় - আপনি যদি বিকল্পটি সুস্পষ্টভাবে ব্যবহার না করে থাকেন তবে তা হ'ল ...
Not TypeName(myObj) = "Empty"
যদি বিষয়টি ঘোষিত না করা হয় তবে এটি কেস পরিচালনা করে। আপনি যদি কিছু আচরণ বন্ধ করে দেওয়ার জন্য কোনও ঘোষণাপত্রটি মন্তব্য করতে চান তবে এটি দরকারী ...
Dim myObj as Object
Not TypeName(myObj) = "Empty" '/ true, the object exists - TypeName is Object
'Dim myObj as Object
Not TypeName(myObj) = "Empty" '/ false, the object has not been declared
এটি কাজ করে কারণ ভিবিএ খালি ভেরিয়েন্ট প্রকার হিসাবে একটি অঘোষিত ভেরিয়েবল স্বয়ংক্রিয়ভাবে ইনস্ট্যান্ট করবে। এটি আচরণ পরিচালনার জন্য সহায়ক বুলিয়ানের প্রয়োজনীয়তা দূর করে।
Option Explicit
। এটি সমস্যা ছাড়া কিছুই লাভ করে না। "স্যুইচ" আচরণের জন্য, শর্তসাপেক্ষ সংকলন ব্যবহার করুন।