我正在开发一个使用webservices来搜索数据,在数据库中插入记录等的应用程序。
我遇到了一个问题:我在最后用空格填充空格的对象中有一些字符串属性,或者只有空格。这真烦人:/
我有一个想法:在将对象发送到客户端之前修剪webservice上的所有字符串属性。这将解决我的问题:D
这是否可以使用反射或其他东西?
//WebMethod
public MillenniumCoreCustomer LoadCustomer()
{
MyObject returnObj = new MyObject();
returnObj = GetDataFromSourceNotControlatedByMe();
// I want to trim all string properties here
return returnObj;
}
答案 0 :(得分:0)
你可以,但这是一个糟糕的主意。
想象一下,您发送了10,000个对象。您将在这些10,000行上使用反射来修剪字符串属性。更糟糕的是,您将“搜索”每个对象的属性列表,直到找到字符串为止。
只需在字符串属性上调用Trim()
即可。你已经知道他们是哪一个。
修改强> 在你的代码中你已经有了对MyObject的引用,它已经暴露了哪些属性是字符串而哪些属性不是。只需在这些属性上调用Trim(),但由于字符串是不可变的,请确保执行类似
的操作myObject.StringProperty=myObject.StringProperty.Trim();
答案 1 :(得分:0)
这是一个非常糟糕的主意。
您的服务旨在查询数据库并返回数据。这就是应该做的。
如果您不想要尾随空格,则不要将尾随空格放入数据库中。