दिलचस्प पोस्ट
रेल नियंत्रक से एसेट पथ तक पहुंचें एंड्रॉइड पर स्मृति त्रुटि से बाहर जावा में रनिंग कमांड लाइन ग्रहण: दूरस्थ VM से जुड़ने में विफल कनेक्शन नहीं हो सका। HTML स्क्रिप्ट टैग: प्रकार या भाषा (या दोनों को न छोड़ें)? jq प्लॉट दिनांकएक्सिस टिक अंतराल काम नहीं कर रहा है यह कैसे पता चलेगा कि क्या फ़ाइल “ एओफ़“ पर है या नहीं? एक वर्ग के उदाहरण चर को छिपाते हुए जावास्क्रिप्ट में एक `नल` मान क्यों है? सी में तार करने के लिए enum नाम कन्वर्ट करने के लिए कैसे रेल 3 – मैं डेटाबेस को पूरी तरह से कैसे बचना चाहूंगा? getSelection () IE में काम नहीं कर रहा है CSS3 के साथ हेक्सागोनल पैटर्न दोहराते उत्पन्न करें ग्रहण "सर्वर स्थान" अनुभाग अक्षम किया गया है और टॉमकेट स्थापना का उपयोग करने के लिए बदलने की आवश्यकता है स्वचालित वेब यूआई परीक्षण

सी # – प्रकार के प्रकारों को प्रकार तर्क के रूप में इस्तेमाल नहीं किया जा सकता

मेरे पास एक जेनेरिक क्लास है, जो मुझे तर्क मानों पर जांच करने में मदद करता है

internal sealed class Argument<T> where T : class { private void TraceAndThrow(Exception ex) { new InternalTraceHelper<T>().WriteError(ex); throw ex; } internal void ThrowNull(object value, string argName) { if (ReferenceEquals(value, null)) { TraceAndThrow(new ArgumentNullException(argName)); } } internal void ThrowIf(bool condition, string argName) { if (condition) { TraceAndThrow(new ArgumentException(null, argName)); } } internal void ThrowNotInEnum(Type enumType, object value) { if (!Enum.IsDefined(enumType, value)) { TraceAndThrow(new ArgumentOutOfRangeException(Resources.ArgEnumIllegalVal.InvariantFormat(value))); } } } 

लेकिन जब मैं इसे एक स्थिर वर्ग के साथ प्रयोग करने का प्रयास करता हूं:

 internal static class Class1 { private static Argument<Class1> _arg; } 

मुझे यह त्रुटि मिली (संकलन में):

स्थिर प्रकारों को प्रकार तर्क के रूप में उपयोग नहीं किया जा सकता

क्या मैं गलत कर रहा हूँ?

Solutions Collecting From Web of "सी # – प्रकार के प्रकारों को प्रकार तर्क के रूप में इस्तेमाल नहीं किया जा सकता"

यह जानबूझकर है

स्थैतिक वर्ग अनुचित उपयोग को रोकने की कोशिश करते हैं, इसलिए लगभग सभी स्थितियों में, आप उन परिस्थितियों में उन का उपयोग नहीं कर सकते हैं, जहां आप सामान्य प्रकार के प्रकार का एक उदाहरण चाहते हैं … और जिसमें प्रकार तर्क शामिल हैं

सी # 4 युक्ति के अनुभाग 10.1.1.3.1 को बहुत ही सीमित परिस्थितियों के लिए देखें, जिसमें आप स्थिर वर्ग प्रकारों का उल्लेख कर सकते हैं।

जेनेरिक केवल उदाहरणों के साथ कार्य करते हैं, स्थैतिक वर्ग नहीं।

चूंकि स्थैतिक वर्गों को तत्काल नहीं किया जा सकता है, इसलिए यह एक स्थिर प्रकार के साथ Argument<T> नहीं बना सकता है

चूंकि स्थैतिक वर्गों में उदाहरण के सदस्य नहीं होंगे, इसलिए मेरी चिंता यह होगी कि मैं उनके साथ किस प्रकार का काम कर रहा हूं।

मुझे विश्वास है कि, अनुपलब्ध है कि आप सामान्य कक्षाओं के रूप में स्थिर कक्षाओं का उपयोग नहीं कर सकते हैं, मेरा मानना ​​है कि आपको एक सामान्य श्रेणी के बजाय विस्तार विधियों के साथ इसकी आवश्यकता है।

जो आप गलत कर रहे हैं वह सामान्य प्रकार तर्क के रूप में एक स्थिर प्रकार का उपयोग कर रहा है।