से उप-वर्ग का 'टाइप` कैसे प्राप्त करें मेरे पास एक सार आधार वर्ग है जहां मैं एक ऐसी विधि को कार्यान्वित करना चाहता हूं जो विरासत वर्ग की विशेषता गुण पुनर्प्राप्त करे। कुछ इस तरह ...बेस क्लास
public abstract class MongoEntityBase : IMongoEntity {
public virtual object GetAttributeValue<T>(string propertyName) where T : Attribute {
var attribute = (T)typeof(this).GetCustomAttribute(typeof(T));
return attribute != null ? attribute.GetType().GetProperty(propertyName).GetValue(attribute, null) : null;
}
}
और इसलिए तरह लागू ...
[MongoDatabaseName("robotdog")]
[MongoCollectionName("users")]
public class User : MonogoEntityBase {
public ObjectId Id { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
public string email { get; set; }
[Required]
[DataType(DataType.Password)]
public string password { get; set; }
public IEnumerable<Movie> movies { get; set; }
}
लेकिन इसके बाद के संस्करण कोड GetCustomAttribute()
साथ निश्चित रूप से एक उपलब्ध विधि क्योंकि यह एक ठोस वर्ग नहीं है नहीं है।
उत्तराधिकारी वर्ग में typeof(this)
क्या है विरासत वर्ग तक पहुंचने के लिए? या यह अच्छा अभ्यास नहीं है और क्या मुझे विरासत वर्ग में विधि को पूरी तरह कार्यान्वित करना चाहिए?
'मोंगोइन्टिटीबेस' से 'उपयोगकर्ता' का उत्तराधिकारी नहीं होना चाहिए? –
आप सही हैं, धन्यवाद। मैंने ठीक कर दिया – bflemi3