对象未使用C#扩展方法中的值填充,但在扩展方法中具有值

问题描述

我实现了一种扩展方法来从Excel文件中获取字段(.NET Framework 4.8中的所有内容),但是在fields方法中未使用Field值填充Main()对象,尽管它在扩展方法中确实具有值。有人看到任何问题吗?我在某处缺少out键盘输入吗?

恐怕有两个指向不同字段对象的引用/指针。

还,我真的必须在“应用”扩展方法之前实例化fields吗?

static void Main(string[] args)
{
    Fields fields = new Fields(); // Fields is a class which implements IEnumerable<Field>

    fields.ReadFromExcel(); // fields is still null here,despite having values within the extension method
}

扩展方法(简体)

public static class ExtensionMethods
{
    public static void ReadFromExcel(this Fields fields)
    {
        ExcelConnector excel = new ExcelConnector();
        
        fields = excel.ReadFields(); // fields is correctly populated with fields from Excel here
    }
}

感谢您的见解:-)

更新

如果我更改为fields = Processor.ReadFromExcel();

public static class Processor
{
    public static Fields ReadFromExcel()
    {
        // ...
        return excel.ReadFields;
    }
}

效果很好,但随后扩展了扩展方法功能...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)