यहाँ मैं करना चाहते हैं क्या है:क्या कोई सामान्य प्रकार की बाधा पर निर्दिष्ट कर सकता है जिसे इसे सामान्य प्रकार को लागू करना होगा?
public interface IRepository<TSet<TElement>> where TSet<TElement> : IEnumerable<TElement>
{
TSet<TEntity> GetSet<TEntity>();
}
.NET में इस तरह के एक निर्माण संभव है?
संपादित करें: प्रश्न पर्याप्त स्पष्ट नहीं था। यहाँ मैं क्या करना चाहते है, का विस्तार:
public class DbRepository : IRepository<DbSet<TElement>> {
DbSet<TEntity> GetSet<TEntity>();
}
public class ObjectRepository : IRepository<ObjectSet<TElement>> {
ObjectSet<TEntity> GetSet<TEntity>();
}
अर्थ है, मैं करने के लिए विवश प्रकार हैं: - एक सामान्य पैरामीटर स्वीकार करते हैं - एक दिया एकल सामान्य पैरामीटर इंटरफ़ेस को लागू।
क्या यह संभव है? वास्तव में, मैं केवल पहली चीज़ से खुश रहूंगा।
public interface IRepository<TGeneric<TElement>> {
TGeneric<TArgument> GetThing<TArgument>();
}
यह संभव है लेकिन बिंदु क्या है? यदि 'TSet' लागू करता है 'IENumerable ' आप 'IENumerable ' पर प्रतिबंध भी सेट कर सकते हैं। –
Aliostad
@Aliostad: संपादन देखें। मैं केवल "टेलीमेंट" सेट करना चाहता हूं जब फ़ंक्शन को कॉल किया जाता है, इंटरफ़ेस पर टाइप पैरामीटर के रूप में नहीं। –
क्या 'तत्व' और 'इकाई की अलग-अलग चीजें हैं? – AakashM