[英]How to declare a property of an anonymous class
在我的应用程序中,我必须对一些数据进行序列化/反序列化。 现在,我使用如下代码:
public class Outer
{
public Inner Inner { get; set; }
}
public class Inner
{
public string InnerProperty { get; set; }
}
如何避免声明内部类? 我需要这样的东西:
public class OuterNew
{
public class Inner2
{
public string InnerProperty { get; set; }
}
}
但是内部类必须是属性(具有get / set)才能正确地进行序列化/反序列化。
您第一个程序段中的代码是可以的,应该是要使用的代码。 它没有问题,所以我不确定您要解决的问题。
在第二个代码块中,您仍然需要创建属性。 现在,您只有一个内部类,坐在那里等待使用。
您可以通过使用dynamic
来避免创建反序列化类,但实际上,请继续使用您现在的代码。 不使用dynamic
您的代码将不那么容易出错。
您对Inner2的定义仅定义一个类,您仍然需要一个属性:
public class OuterNew
{
public class Inner2
{
public string InnerProperty { get; set; }
}
public Inner2 Inner { get; set; }
}
但是正如您所看到的,这只会更改Inner2的全名,
它现在称为public class <namespaces>.OuterNew.Inner2
。
因此,您最好使用第一个代码段,并且一般不建议使用嵌套的公共类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.