C# 静态类没有构造函数

C# 静态类没有构造函数,c#,serialization,C#,Serialization,我有一门课是这样的: public static class Extras { static Extras() { } public static string SerializeObject<T>(this T toSerialize) { XmlSerializer xmlSerializer = new XmlSerializer(toSerialize.GetType()); StringWriter

我有一门课是这样的:

public static class Extras
{
    static Extras()
    {

    }

    public static string SerializeObject<T>(this T toSerialize)
    {
        XmlSerializer xmlSerializer = new XmlSerializer(toSerialize.GetType());
        StringWriter textWriter = new StringWriter();

        xmlSerializer.Serialize(textWriter, toSerialize);
        return textWriter.ToString();
    }
}
有人能告诉我为什么吗


谢谢。

静态类无法实例化。只能通过类名调用方法或属性:

var s = Extras.SerializeObject<int>(3); // OK

Extras e = new Extras(); // not OK
e.SerializeObject<int>(3); // not OK
如果在intellisense列表中没有看到
序列化对象
,则需要使用语句添加一个
,在您的情况下:

using ReablementExtras;
您看到“无构造函数”错误的原因是该构造函数是静态的。静态构造函数不能直接调用,但框架会在您访问此类的第一个方法或属性之前调用它们


静态构造函数也不能有访问修饰符(public、private等),也不能有任何参数。

是否尝试创建该类的实例?根据定义,创建静态类的实例是不可能的。“引用类”是什么意思?请在“引用”该类的地方发布代码。请显示产生此编译器错误的代码。您只需要无参数构造函数静态类从不实例化,因此不需要构造函数。
MyClass c = new MyClass();
var s = c.SerializeObject();
using ReablementExtras;