दिलचस्प पोस्ट
दृश्य में मैं वास्तव में क्या करूँगा DIDUnload? क्या आप exit_status_ready को जांचना है अगर आप recv_ready () की जांच करने जा रहे हैं? बिल्ट एंडियन के लिए लिटिल एंडियन को परिवर्तित करना वैकल्पिक स्थितीय तर्कों को तर्क दें? प्रति अनुरोध करने के लिए .net HttpWebRequest पर सुरक्षाप्रोटोकॉल (एसएसएल 3 या टीएलएस) सेट करें उद्देश्य-सी स्वत: संदर्भ गणना और कचरा संग्रहण के बीच अंतर क्या है? सी ++: एक खाली वर्ग के ऑब्जेक्ट का आकार क्या है? .NET में एक ऑब्जेक्ट सब कुछ है? जेएलैबल या जेटेबल सेल पर एक्शनलिस्टर JBoss में एक सर्वलेट से स्प्रिंग बीन्स तक पहुंचें एक संरचना या संघ में 'अहस्ताक्षरित अस्थायी: 3' क्या होता है? आर में पुनरावृत्त मूल्यों का अनुक्रम केवल एक & nbsp; के साथ तत्वों को निकालें jQuery का उपयोग करके स्थान रेंज में यादृच्छिक डबल उत्पन्न करें मेरे एंड्रॉइड एप्लिकेशन में वेबपेज से क्लिक ईवेंट प्राप्त करें

निर्धारित करें कि एक जेनेरिक परम एक नल योग्य प्रकार है

मेरे पास निम्न VB.NET फ़ंक्शन हैं, उदाहरण के लिए:

Public Function MyFunction (Of TData) (ByVal InParam As Integer) As TData End Sub 

फ़ंक्शन में, मैं यह कैसे निर्धारित कर सकता TData कि TData एक योग्य प्रकार है?

Solutions Collecting From Web of "निर्धारित करें कि एक जेनेरिक परम एक नल योग्य प्रकार है"

एक तरीका है:

 If Nullable.GetUnderlyingType(GetType(TData)) <> Nothing 

… कम से कम, सी # है:

 if (Nullable.GetUnderlyingType(typeof(TData)) != null) 

यह मानते हुए कि आप पूछ रहे हैं कि क्या यह एक नल योग्य मूल्य प्रकार है यदि आप पूछ रहे हैं कि क्या यह एक नल योग्य मूल्य प्रकार या कक्षा है तो सी # संस्करण होगा:

 if (default(TData) == null) 

लेकिन मुझे यकीन नहीं है कि कोई सरल VB अनुवाद वहां काम करेगा, क्योंकि "कुछ नहीं" VB में थोड़ा अलग है।

VB.net:

 Dim hasNullableParameter As Boolean = _ obj.GetType.IsGenericType _ AndAlso _ obj.GetType.GetGenericTypeDefinition = GetType(Nullable(Of )) 

सी#:

 bool hasNullableParameter = obj.GetType().IsGenericType && obj.GetGenericTypeDefinition().Equals(typeof(Nullable<>)); 

आप इस जवाब में दिए गए कोड का इस्तेमाल कर सकते हैं, एक एक्सटेंशन जोड़ सकते हैं

 public static bool IsNullable(this Type type) { Contract.Requires(type != null); return type.IsDerivedFromOpenGenericType(typeof(Nullable<>)); } 

और कहो

 bool nullable = typeof(TData).IsNullable();