我序列化了下面的一个类,该方法需要对象类型作为参数。
string xml = SerializeObject(data, typeof(ClassData));
我认为第二个参数不是必需的。如何删除第二个参数? 如何将数据类型设为类型?
答案 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();
我希望你能提出这个问题,因为这个问题对我来说并不完全清楚。