मैंने इस प्रश्न के लिए कुछ समान धागे देखे हैं, लेकिन उनमें से कोई भी वास्तव में उस प्रश्न का उत्तर नहीं देता जिसे मैं पूछना चाहता हूं।सी #: इंटरफेस में एनम्स
स्टार्टर्स के लिए, दुर्भाग्यवश मैं मौजूदा एपीआई कोड के साथ काम कर रहा हूं, इसलिए दुख की बात है, जबकि मैं जो पूछ रहा हूं उसे करने का एक बेहतर तरीका हो सकता है, मैं इसे उसी तरह से करने के लिए बंद कर रहा हूं क्योंकि यह ऐसा है पिछड़ा संगतता गैर-विचारणीय है।
मेरे पास एक प्रतिक्रिया वर्ग है जिसमें वर्तमान में त्रुटि कोड और स्ट्रिंग विवरण के लिए एक enum शामिल है। त्रुटि कोड उन प्रतिक्रियाओं के एकदम सही और पूर्ण सेट को परिभाषित करते हैं जो सभी बहुत ही अर्थात् उन परिचालनों के साथ मिलते हैं जहां उनका उपयोग किया जाता है।
असुविधाजनक रूप से, मुझे अब एपीआई ऑब्जेक्ट्स के एक समान सेट के लिए एक अलग वर्कफ़्लो जोड़ना होगा, और इसके लिए एक स्ट्रिंग विवरण की आवश्यकता होगी, जो ठीक है, लेकिन एक एनम त्रुटि कोड भी है जो त्रुटि कोडों का एक पूरी तरह से असंबंधित सेट शामिल है। त्रुटि कोड (और ऑब्जेक्ट मॉडल के अन्य पहलुओं) का उपयोग बहुत से वर्गों में किया जाएगा, इसलिए इंटरफ़ेस जाने के लिए अच्छा लगेगा ताकि मैं ऑब्जेक्ट को उसी ढांचे के माध्यम से चला सकूं।
यहां एक इरादा अनुबंध करना है जो कहता है "मेरे पास एक त्रुटि कोड है, और उस त्रुटि कोड का विवरण है।"
लेकिन, जैसा कि तक मुझे पता है वहाँ एक इंटरफेस जैसे
public interface IError
{
enum ErrorCode;
string Description;
}
है और न ही करने के लिए एक आइटम जोड़ने के लिए कोई तरीका नहीं है
public interface IError<T> where T: enum
{
T ErrorCode;
string Description;
}
किसी को व्यक्त करने के लिए एक तरह से हर कुछ के खिलाफ चलाने है इससे पहले की तरह?
क्या आपरेशन आप की आवश्यकता होगी इस इंटरफ़ेस द्वारा प्रदान की गई त्रुटि कोड पर प्रदर्शन करने के लिए? यदि आपको एनम-विशिष्ट व्यवहार तक पहुंच की आवश्यकता नहीं है, तो आप त्रुटि कोड को बिना किसी नुकसान के किसी भी प्रकार के होने की अनुमति दे सकते हैं। –