public interface IAutomatizableEvent
{
Event AutomatizableEventItem { get; }
bool CanBeAutomatic { get; }
bool IsAutomaticallyRunning { get; }
bool OnBeforeAutomaticCall();
bool OnAutomaticCheck();
void OnAutomaticStart();
void OnAutomaticCancel();
}
public abstract class AutomatizableEvent : IAutomatizableEvent
{
public AutomatizableEvent()
{
}
#region Implementation of IAutomatizableEvent
public abstract Event AutomatizableEventItem { get; }
public abstract bool CanBeAutomatic { get; }
public abstract bool IsAutomaticallyRunning { get; }
public abstract bool OnBeforeAutomaticCall();
public abstract bool OnAutomaticCheck();
public abstract void OnAutomaticStart();
public abstract void OnAutomaticCancel();
#endregion
}
public static class EventSystem
{
public static List<EventSystemBase<Event, AutomatizableEvent>> AutomatizableEvents { get; set; }
[...]
}
में सार्वजनिक पैरामीटर रहित कन्स्ट्रक्टर होना चाहिए, है ना?
public abstract class EventSystemBase<T, K> : AutomatizableEvent
where T : Event
where K : AutomatizableEvent, new()
मेरा प्रश्न ... नहीं करता 'है "प्रकार' AutomatizableEvent 'है ताकि इसे सामान्य वर्ग में' EventSystemBase 'पैरामीटर' के 'के रूप में उपयोग करने के लिए एक सार्वजनिक parameterless निर्माता होना चाहिए" टी AutomatizableEvent क्या एक सार्वजनिक पैरामीटर रहित कन्स्ट्रक्टर है ??
'नई() 'बाधा को पूरा करने के लिए, आप कक्षा को' = new AutomatizableEvent() 'के साथ प्रारंभ करने में सक्षम होना चाहिए, जिसे आप सार नहीं बना सकते हैं। एक ठोस बाल वर्ग बनाएं और इसके बजाय इसका उपयोग करें। – ja72