不允许来自静态类型的数据

时间:2011-01-22 11:39:56

标签: c# xml web-services asmx

我在.net中创建一个API,它将使用xml数据与其客户端进行通信。 客户端软件可以使用任何语言php,asp.net等。 开发此类API的最佳方法是什么, 我试图使用.net webservices',但[webmethods]不允许非静态数据, 在我的API中,有很多东西只适用于非静态数据。 你能建议任何解决这个问题的方法吗? 如何在不使用.net webservies的情况下开发它?

1 个答案:

答案 0 :(得分:3)

根据评论,您实际上是指“不允许静态类”。所以...不要SE静态课。我建议将这些静态属性移动到默认实例中:

class Foo {
    private static readonly Foo @default =
        new Foo();
    public static Foo Default { get { return @default; } }
    public int A { get; set; }
    public string B { get; set; }

}

并将Foo.Default对象的属性视为现有的静态属性。

请注意,对于XmlSerializer,您需要一个公共ctor,因此我没有将其称为单例,因为严格来说它不会。