我有此代码:

public IHttpActionResult Get([FromUri]GetFilesRequest request)


如果request为null,我想创建一个新的GetFilesRequest,因为在构造函数中,我这样做是为了创建该类的默认参数:

public GetFilesRequest()
    {
        Sort = "latest";
        Filter = "";
    }


所以我在考虑:

public IHttpActionResult Get([FromUri]GetFilesRequest request = new GetFilesRequest)


但我收到此警告:

'request' is of type 'GetFilesRequest'. A default parameter value of a reference type other than string can only be initialized with null.

最佳答案

否-默认值必须是编译时常量。您可以改用过载吗?

public IHttpActionResult Get()
{
     return Get(new GetFilesRequest());
}

关于c# - 在C#中使用可选参数作为对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23770192/

10-10 17:42