Supose मेरे पास है:कैसे सी # में व्युत्पन्न प्रकार से सामान्य प्रकार के सामान्य तर्क प्रकार प्राप्त करने के लिए
class MyBase<T1, T2>{}
class MyConcreteBase<T2> : MyBase<ConcreteType1, T2>{}
class MyConcrete1 : MyConcreteBase<ConcreteType2>{}
class MyConcrete2 : MyBase<ConcreteType1, ConcreteType2>{}
मैं T1
और T2
के प्रकार कैसे मिलता है अगर मैं MyConcrete1
या MyConcrete2
या MyConcreteBase
या किसी अन्य के कहने है प्रकार के उदाहरण MyBase<T1, T2>
तरह से मैं यह अब मैं .GetType().BaseType
जबकि BaseType.Name.StartsWith("MyBase")
का उपयोग कर "उठने" कर रहा हूँ विरासत श्रृंखला से और उसके बाद का उपयोग कर से प्राप्त .GetGenericArguments()
यह काम कर रहा है, लेकिन मैं इससे संतुष्ट नहीं हूं, खासकर .StartsWith("MyBase")
भाग।
किसी के पास अन्य सुझाव हैं?
यह मेरे उत्तर पर एक त्वरित डाउनवॉटर था। – BoltClock
@ बोल्टक्लॉक गलत प्रश्न का गलत जवाब था। – siride
@ साइराइड: दरअसल। मैं बस इस पर टिप्पणी कर रहा था कि यह कितना तेज़ था :) – BoltClock