有[可序列化]和[序列化()在C#中有区别吗? [英] is there a difference between [Serializable] and [Serializable()] in c#?

查看:118
本文介绍了有[可序列化]和[序列化()在C#中有区别吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经碰到了使用任何两个符号的例子。我找不到它的任何事情告诉哪一个是常见的一种,为什么2符号是允许的,如果有实际两者之间的细微差别。

I've bumped into examples using either of both notations. I can't find anything about it what tells which one is the common one, why 2 notations are allowed, and if there is actually any subtle difference between the two.

任何人的想法?

推荐答案

不,没有任何功能上的差异。

Nope, no functional difference.

为什么两种不同的风格,你问?所述第一符号是允许为了简便起见。第二符号是允许的,因为某些属性取参数:

Why the 2 different styles, you ask? The first notation is allowed for brevity. The 2nd notation is allowed because some attributes take parameters:

[Category("Foobar related methods.")]
public void Foo()
{
}

另外请注意,[Serializable接口]实际上只是短期的手[SerializableAttribute()] - C#,您可以省略属性后缀以及空构造括号

Also note that [Serializable] is really just short-hand for [SerializableAttribute()] - C# lets you omit the Attribute suffix as well as the empty constructor parens.

这篇关于有[可序列化]和[序列化()在C#中有区别吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆