typeof&的GetType

时间:2011-03-16 12:16:30

标签: c#

我序列化了下面的一个类,该方法需要对象类型作为参数。

string xml = SerializeObject(data, typeof(ClassData));

我认为第二个参数不是必需的。如何删除第二个参数? 如何将数据类型设为类型

5 个答案:

答案 0 :(得分:6)

你可以这样做:

data.GetType()

会为您提供data

的类型

整个表达式将是

string xml = SerializeObject(data, data.GetType());

GetType()是在Object上声明的方法,可以在对象的实例上使用。

typeof()是一个可以在Type上使用但没有实例的语句。

// Get type from instance
Type type = data.GetType()

// Get type from Type
Type type = typeof(ClassData)

答案 1 :(得分:2)

string xml = SerializeObject(data, data.GetType());

如果你有

Person p = ... ;

获取类型,你可以做

Type t = p.GetType()

如果您需要对象的运行时类型。 p可以是扩展Person的类的对象。

Type t = typeof(Person);

答案 2 :(得分:1)

使用以下内容:

classData.GetType( );

答案 3 :(得分:1)

data.GetType()应该返回'data'类的类型对象。

答案 4 :(得分:1)

要将data的类型设为Type,您可以使用以下语法:

Type dataType = data.GetType();

我希望你能提出这个问题,因为这个问题对我来说并不完全清楚。