编程语言
首页 > 编程语言> > c# – 如何更改RestSharp params的文化信息

c# – 如何更改RestSharp params的文化信息

作者:互联网

我有一些double类型的变量,我想将其作为GET参数传递给我的asp.net mvc客户端.但是,例如使用德语时,50.1将以50,1发送.

虽然在使用AddParameter方法添加参数时我可以轻松地使用ToString,但是当我依赖AddObject时就不那么容易了.

我使用以下代码:

var client = new RestClient(apiBaseUrl);

var request = new RestRequest(api);
request.RequestFormat = DataFormat.Json;
request.AddObject(data);

//...

我在哪里可以更改RestSharp使用的CultureInfo?

解决方法:

看起来他们隐含地使用当前的文化:

https://github.com/restsharp/RestSharp/blob/master/RestSharp/RestRequest.cs#L286

除非你想修改它们的源代码,否则你可以使用以下方法强制当前线程的文化:

System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;

然后在通话后再将其切换回来.

另一方面,看起来AddObject(…)方法使用非编译反射,因此如果您使用AddParameter(…)添加对象的参数,它应该更快.

标签:c,globalization,windows-phone,restsharp
来源: https://codeday.me/bug/20190629/1323505.html