5 / 5

"Sintia, can a single class have both a static constructor and a usual one?" I asked.
Sintia replied, "Yes, that is an absolutely valid case. As long as the class itself is not static , it is possible. Take a look at this code sample:"

class DroidCleaner
{
    private static string _shieldsLockDownKey; // Static field

    private string _name; // Non-static field

    static DroidCleaner() // Static constructor
    {
        _shieldsLockDownKey = "02344F70"; // Initializing static fields
    }

    public DroidCleaner(string name) // Instance (usual) constructor
    {
        _name = name; // Initializing instance (usual) fields
    }

    public static void SetNewShieldsLockDownKey(string key) // Static method
    {
        _shieldsLockDownKey = key; // Only has access to static fields
    }

    public void PrintName() // Non-static method
    {
        Console.WriteLine(_name); // Has access to instance fields
    }
}