typeof&GetType

Nim*_*oud 1 c#

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

string xml = SerializeObject(data, typeof(ClassData));
Run Code Online (Sandbox Code Playgroud)

我认为第二个参数是没有必要的.如何删除第二个参数?我怎样才能得到的类型数据类型

Mik*_*erg 6

你可以做:

data.GetType()
Run Code Online (Sandbox Code Playgroud)

哪个会给你类型的 data

整个表达将是

string xml = SerializeObject(data, data.GetType());
Run Code Online (Sandbox Code Playgroud)

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

typeof()是一个可以在Type没有实例的情况下使用的语句.

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

// Get type from Type
Type type = typeof(ClassData)
Run Code Online (Sandbox Code Playgroud)