嗨伙计们我在控制器中有一个功能,我收到一个表单的信息,实际上我有这个代码:
public Actionresult functionOne(string a, string b, string c = "foo" )
Run Code Online (Sandbox Code Playgroud)
我试着把它转换成类似的类
public class bar
{
public string a {get;set;}
public string b {get;set;}
public string c {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
并将它们作为对象接收
public Actionresult functionOne(bar b)
Run Code Online (Sandbox Code Playgroud)
此外,我试图将defaultvalue放在'c'但不工作,我试过这个:
public class bar
{
public string a {get;set;}
public string b {get;set;}
[System.ComponentModel.DefaultValue("foo")]
public string c {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
没有发生任何事情,我收到它 null
我也试过了
public class bar
{
public string a {get;set;}
public string b {get;set;}
public string c
{
get
{
return c;
}
set
{
c="foo"; //I also tried with value
}
}
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能写出这个默认值?
谢谢.
Ani*_*tel 21
如果您使用的是C#6,则可以执行以下操作:
public class Bar {
public string a { get; set; }
public string b { get; set; }
public string c { get; set; } = "foo";
}
Run Code Online (Sandbox Code Playgroud)
否则你可以这样做:
public class Bar {
public string a { get; set; }
public string b { get; set; }
private string _c = "foo";
public string c
{
get
{
return _c;
}
set
{
_c = value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
1)使用对象的构造函数:
public class bar
{
public bar()
{
c = "foo";
}
public string a {get;set;}
public string b {get;set;}
public string c {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
2)使用新的自动属性默认值。 请注意,这适用于C#6+:
public class bar
{
public string a {get;set;}
public string b {get;set;}
public string c {get;set;} = "foo";
}
Run Code Online (Sandbox Code Playgroud)
3)使用背景字段
public class bar
{
var _c = "foo";
public string a {get;set;}
public string b {get;set;}
public string c {
get {return _c;}
set {_c = value;}
}
}
Run Code Online (Sandbox Code Playgroud)
4)使用Null合并运算符检查
public class bar
{
string _c = null;
public string a {get;set;}
public string b {get;set;}
public string c {
get {return _c ?? "foo";}
set {_c = value;}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33864 次 |
| 最近记录: |