C# 7.2 代理“按值返回”

Posted

技术标签:

【中文标题】C# 7.2 代理“按值返回”【英文标题】:C# 7.2 proxy "by-value returns" 【发布时间】:2018-12-17 17:37:28 【问题描述】:

我正在尝试编写和代理具有

的 ImmutableList
public ref readonly T ItemRef(int index);

我试试:

public class MyImmutableList<T> 
    public readonly ImmutableList<T> Value;
    ...
    public ref readonly T ItemRef(int index) => Value.ItemRef(index);

我明白了:

按值返回只能用于按值返回的方法

这里有什么问题?以及如何解决这个问题?

【问题讨论】:

public ref readonly T ItemRef(int index) =&gt; ref Value.ItemRef(index);? 太棒了,编译!你能发布答案吗 【参考方案1】:

你在隐式return之前缺少ref

public ref readonly T ItemRef(int index) => ref Value.ItemRef(index);

【讨论】:

以上是关于C# 7.2 代理“按值返回”的主要内容,如果未能解决你的问题,请参考以下文章

设计模式之代理模式详解和应用

如何在 C# 中创建一个简单的代理?

C# 委托 代理

C# 自动检测代理设置

C# HttpWebRequest 如何实现SOCKET5代理

NginxNginx基础操作