我正在尝试记住 C# 语言功能,但我还没有接触过 C#。我不记得确切的语法或找到任何相关文档。
我试图记住的功能是在构造函数的参数中声明一个字段或属性的简写,并在一个语句中将构造函数参数分配给该字段。
如果有帮助的话,我记得使用它的上下文是具有依赖注入的.NET Core Azure Functions。我不确定此功能是否可能特定于 .NET Core、Azure 或依赖项注入框架。
事情是这样的:
class MyClass
{
public MyClass(private IMyDependency thingy = null)
{
...
}
}
上面写的代码相当于:
class MyClass
{
private readonly IMyDependency _thingy;
public MyClass(private IMyDependency thingy)
{
this.thingy = thingy;
}
}
这个功能是真的吗?被移除了吗?是我想象的吗?
如果是真的,语法是什么,它叫什么?
我认为你想做的是改变这个:
class MyClass
{
private readonly IMyDependency _thingy;
public MyClass(IMyDependency thingy)
{
_thingy = thingy;
}
}
进入此:
class MyClass
{
private readonly IMyDependency _thingy;
public MyClass(IMyDependency thingy) => _thingy = thingy;
}