public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
public bool? IsMarried { get; set; } // не обязательный аргумент
public decimal? Salary { get; set; } // не обязательный аргумент
}
使用示例:
public void DisplayPersonInfo(Person person)
{
Console.WriteLine($"Full Name: {person.FirstName} {person.LastName}");
Console.WriteLine($"Age: {person.Age}");
// Вывод информации только если поля установлены
if (person.IsMarried.HasValue)
{
Console.WriteLine($"Is Married: {person.IsMarried.Value}");
}
if (person.Salary.HasValue)
{
Console.WriteLine($"Salary: {person.Salary.Value}");
}
}
一个方法用来操作的所有数据都可以形象地称为执行上下文。这包括:
如果突然出现很多争论,请考虑是否值得将所有内容都作为争论传递。永不改变的事物可以成为不变的。在某些大型操作期间不会改变的内容可以作为字段取出,并将方法本身放入一个单独的类中。
会成功的
事实证明,该字段
_path是一个不可变的执行上下文。通过参数多次传递此类数据是没有意义的。创建带有字段的类并在其中存储常量数据会更容易。这样你就可以减少参数的数量。要直接回答这个问题,您可以将数据分组到一个公共组中并将其作为一个参数传递;为此,您必须创建一个包含字段的类,填充它并将其实例作为参数传递。但我不确定这在所有情况下都很方便。
例如
使用起来很方便,如下所示:
即,接收和传输单个数据结构作为一个参数。
我稍微不同意我同事的观点;在这一点上,类和结构的概念不应该混合在一起;在 C# 中,这些概念略有不同。使用 POCO 类(普通旧 CLR 对象)作为参数可以让您做很多事情:
论证示例:
使用示例:
另外,POCO类广泛应用于WEB框架中,用于封装前后传输的数据,例如ASP.Net绑定模型。一般来说,这是一种需要采用的便捷方法。在面向上下文的设计方法中,基于面向上下文的抽象,按照四人帮推荐的实践,值得您熟悉。