Configuring limits in a usercontrol I am trying to solve the warning, which avoids the call of a virtual method, I have seen different answers, but none of them seems to solve my doubt, I understand why this warning appears and is one of the ones you should not suppress. My code gets data from Matlab and uses a method to configure the limits in a usercontrol. Should I build another class to call from there the method?
abstract public class MatlabData:eSoundMaster
{
    //[sdon] changed to override from derived class
    public bool EQAMAvail = false;
    public readonly int numTonspuren = 32;
    public readonly int numSubgroups = 8;
    public readonly int numStandardTS = 22;
    public readonly int numPremiumTS = 10;
    public readonly int numOutputs = 2;
    public readonly int numSoundtrackLUTs = 124;

    public MatlabData(int nTonspuren, int nIntermediateMixerChannels, int nStandardTS, int nPremiumTS, int LimiterNumSettings)

    {
        //Override predefined vars with values from child class
        this.numTonspuren = nTonspuren;
        this.numSubgroups = nIntermediateMixerChannels;
        this.numStandardTS = nStandardTS;
        this.numPremiumTS = nPremiumTS;
        //this.ProjectType = ProjectType;
        this.LimiterNumSettings = LimiterNumSettings;
        ConfigLimiter();
    }
    
    public bool isEQAMAvailable()
    {
        return EQAMAvail;
    }

    public virtual void ConfigLimiter()
    {
        //Overwrite from derived class
    }
}

class MatlabData_MLBevo : MatlabData
{
    public new const int numTonspuren = 32;
    public new const int numSubgroups = 8;
    public new const int numStandardTS = 22;
    public new const int numPremiumTS = 10;
    public new const int LimiterNumSettings = 7;
    
    public MatlabData_MLBevo()
        :base(numTonspuren, numSubgroups, numStandardTS, numPremiumTS, LimiterNumSettings)
    {
        EQAMAvail = false;
    }

    //ConfigLimiter method in this class override method in base class automatically
    //parts of the label already configured in matlabconstants region of this class
    public override void ConfigLimiter()
    {
        LabelText = new string[LimiterNumSettings];
        LabelText[0] = &quot;Threshold (dB)&quot;;
        LabelText[1] = &quot;Out Gain (dB)&quot;;
        LabelText[2] = &quot;Knee Depth (dB)&quot;;
        LabelText[3] = &quot;Ratio (dB)&quot;;
        LabelText[4] = &quot;Attack Time (ms)&quot;;
        LabelText[5] = &quot;Decay Time (ms)&quot;;
        LabelText[6] = &quot;Post Limiter Gain&quot;;

        LabelName = new string[LimiterNumSettings + 2];
        LabelName[0] = &quot;LimiterCore1.threshold&quot;;
        LabelName[1] = &quot;LimiterCore1.outputGain&quot;;
        LabelName[2] = &quot;LimiterCore1.kneeDepth&quot;;
        LabelName[3] = &quot;LimiterCore1.ratio&quot;;
        LabelName[4] = &quot;LimiterCore1.attackTime&quot;;
        LabelName[5] = &quot;LimiterCore1.decayTime&quot;;
        LabelName[6] = &quot;PostLimGain.gainDB&quot;;
        LabelName[7] = &quot;gsys.SYS.&quot;;
        LabelName[8] = &quot;Limiter_Stereo.Limiter_CH&quot;;

        LabelMinimum = new double[LimiterNumSettings];
        LabelMinimum[0] = -60;      
        LabelMinimum[1] = 0;        
        LabelMinimum[2] = 0.1;      
        LabelMinimum[3] = 1;        
        LabelMinimum[4] = 0.009;    
        LabelMinimum[5] = 0.01;     
        LabelMinimum[6] = -100;     

        LabelMaximum = new double[LimiterNumSettings];
        LabelMaximum[0] = 0;        
        LabelMaximum[1] = 100;      
        LabelMaximum[2] = 60;       
        LabelMaximum[3] = 100;      
        LabelMaximum[4] = 1000;     
        LabelMaximum[5] = 1000;     
        LabelMaximum[6] = 20;   
    }
}
There are quite a few issues in this code to worry about on top of the virtual call in the constructor...
abstract public class MatlabData:eSoundMaster

The accessibility modifier should always come first and classes in C# are always PascalCase.
public abstract class MatlabData : ESoundMaster

You are using public readonly fields in the base class:
 public readonly int numTonspuren = 32;


It's usual to have public readonly fields use PascalCase
You then hide them with constants in the derived class and pass them to the base class's constructor. Don't hide the fields!

Don't abbreviate in your code. If you are going to, be consistent about it. E.g. nTonspuren vs numTonspuren.
Methods in C# should be PascalCase. isEQAMAvailable should be IsEQAMAvailable. That said, EQAMAvail should be a readonly property and the method should be removed.
In general, and without a good reason not to*, one should prefer properties to fields in C#. It's idiomatic to do that and it's an extra level of abstraction and leaves you free to change how that property is implemented without breaking consumers.
From the example, it's not clear why you have a class hierarchy at all here. It looks like you need one class with a factory:
// Typed directly on CodeReview, apologies for errors.
public class LabelDefinition 
{
    public string Text { get; }
    public string Name { get; }
    // etc.
}

public class MatlabData : eSoundMaster
{
    public bool EQAMAvail { get; }
    public int NumTonspuren { get; }
    public int NumSubgroups { get; }
    public int NumStandardTS { get; }
    public int NumPremiumTS { get; }
    public int NumOutputs { get; }
    public int NumSoundtrackLUTs { get; }

    public MatlabData(
        int numTonspuren, 
        int numIntermediateMixerChannels, 
        int numStandardTS, 
        int numPremiumTS,
        LabelDefinition[] labels,
        string[] additionalLabelNames)

    {
        NumTonspuren = numTonspuren;
        NumSubgroups = numIntermediateMixerChannels;
        NumStandardTS = numStandardTS;
        NumPremiumTS = numPremiumTS;
        LabelText = labels.Select(l =&gt; l.Text).ToArray();
        LabelName = labels.Select(l =&gt; l.Name).Concat(additionalLabelNames).ToArray();
        // etc.
    }
}

public class MatlabDataFactory
{
    public MatlabData CreateDefault =&gt; new MatlabData(...);
}

*There are vanishingly few reasons to use a public field over a property.