यह अनिवार्य रूप से है कि मैं क्या करना चाहते हैं:किसी संपत्ति के लिए वर्चुअल गेटर और सार सेटटर को कैसे परिभाषित किया जाए?
public abstract class Uniform<T>
{
public readonly int Location;
private T _variable;
public virtual T Variable
{
get { return _variable; }
}
}
public class UniformMatrix4 : Uniform<Matrix4>
{
public override Matrix4 Variable
{
set
{
_variable = value;
GL.UniformMatrix4(Location, false, ref _variable);
}
}
}
Variable
के लिए गेटर सभी व्युत्पन्न वर्ग में एक ही होगा, लेकिन सेटर अलग होने की जरूरत है।
वास्तव में ... मैं कक्षाओं को व्युत्पन्न नहीं करना चाहता हूं (यह केवल एक फ़ंक्शन कॉल है जो प्रत्येक प्रकार के लिए भिन्न होगा) लेकिन मैं नहीं सोच सकता कि यह और कैसे करें।
संपादित करें: तो यह स्पष्ट नहीं था कि समस्या क्या मैं आ रही है, है मैं एक सिंटैक्स त्रुटि हो रही है:
'UniformMatrix4.Variable.set': cannot override because 'Uniform.Variable' does not have an overridable set accessor
और मुझे यकीन है बनाने का तरीका नहीं कर रहा हूँ एक "अतिरंजित सेट एक्सेसर" ... virtual
और abstract
सेटटर पर अनुमति नहीं लगती है।
अपने संपादित के बारे में: यही कारण है कि मैं जवाब है कि मैं दे दिया दिया है। मैंने पहले इस समस्या से परेशान किया है। –