C# 有没有一种方法可以将一个属性的处理委托给另一个属性?

C# 有没有一种方法可以将一个属性的处理委托给另一个属性?,c#,C#,简单地说,我想做: class Foo { Bar myBar; // I want to replace: string Name { get => myBar.Name; set => myBar.Name = value; } // ...with something like: string Address => myBar.Address; // this only implements 'get', but I wa

简单地说,我想做:

class Foo {
  Bar myBar;
  
  // I want to replace:
  string Name { 
    get => myBar.Name;
    set => myBar.Name = value;
  }

  // ...with something like:
  string Address => myBar.Address; // this only implements 'get', but I want 'set' as well
}

我假设答案是无聊的“不,也没有计划这么做”,但我想我会问同样的问题:)

正如我所怀疑的,答案基本上是“不”(见评论)。有一些相当复杂的方法可以通过或T4模板实现这种效果。

您的
Foo
类是否只是围绕
Bar
进行包装?Get和set只是包装函数。把它们全部写下来,你就可以随心所欲了。虽然它不会遵循任何已知的编码标准,但它会起作用。你可以采取所有非托管/不安全的方式,但我个人会坚持使用某个属性,或者检查我已链接相关/可能重复的已接受答案,但我建议使用该属性。如果需要,它允许您稍后控制并发。简短的回答是否。
Name
的编写方式是您必须要做的。