[英]How can I convert the instantiation of an object to a lambda expression
請問,有可能將該代碼轉換為lambda表達式嗎?
var person = new Person();
person.Age = 17;
person.FirstName = "Todor";
person.SecondName = "Todorov";
這是沒有用的,但是是的:
Func<Person> person = () =>
{
return new Person()
{
Age = 17,
FirstName = "Todor",
SecondName = "Todorov"
}
};
這種方法將創建某種只讀變量,因為每次調用它時,您都會獲得一個帶有硬編碼值的新實例。
另一種方法可能是使生成器起作用:
Func<int, string, string, Person> generatePerson = (int a, string f, string s) =>
{
return new Person()
{
Age = a,
FirstName = f,
SecondName = s
};
};
這就像一個外部構造函數,它將生成您可以參數化的不同對象
var person = generatePerson(17, "Todor", "Todorov");
您也可以跳過輸入類型的聲明:
Func<int, string, string, Person> generatePerson = (a, f, s) =>....
出於清楚的原因,我這樣做了。
您可以做的一件事是
new Person(){
Age = 17,
FirstName = "Todor",
SecondName = "Todorov"
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.