Cra*_*man 1 c# delegates function
我有这个代码
private static Func<fLogin,BusinessObject.User> Make = f =>
new BusinessObject.Usuario {
Name = f.txtU.Text,
Pass = f.txtPass.Text,
};
Run Code Online (Sandbox Code Playgroud)
所以.User类就是这个.
public class User
{
public string Name {get; set; }
public string Pass {get; set; }
public Company Com {get; set; }
}
Run Code Online (Sandbox Code Playgroud)
并且用户在这里有公司的公司
public class Company
{
public string CompanyName {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
所以,这是问题,当我想访问公司名称,给我错误
private static Func<fLogin,BusinessObject.User> Make = f =>
new BusinessObject.Usuario {
Name = f.txtU.Text,
Pass = f.txtPass.Text,
Com.CompanyName = f.txtC.text
};
Com.CompanyName = f.txtC.text
Run Code Online (Sandbox Code Playgroud)
这是不可能的?
您收到错误的原因
Com.CompanyName = f.txtC.text
Run Code Online (Sandbox Code Playgroud)
是你必须Com在对象初始化程序中设置CompanyName属性,而不是在属性上设置Com属性.修复方法是使用嵌套对象初始值设定项设置Com为Company具有正确CompanyName属性的new :
private static Func<fLogin,BusinessObject.User> Make = f =>
new BusinessObject.User
{
Name = f.txtU.Text,
Pass = f.txtPass.Text,
Com = new Company { CompanyName = f.txtC.text },
};
Run Code Online (Sandbox Code Playgroud)