首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将一个被覆盖的方法拆分成多个文件?

如何将一个被覆盖的方法拆分成多个文件?
EN

Stack Overflow用户
提问于 2019-10-07 23:48:54
回答 2查看 144关注 0票数 0

我的问题是如何将一个包含override的方法拆分为多个文件

我知道这在partial中是不可能的。

在我的代码中,这个方法中有太多的行。我在QuantConnect平台上编写的代码限制了一个文件的大小,并且达到了这个限制。

代码语言:javascript
复制
public partial class TestAlgo : QCAlgorithm
{
    public override void OnData(Slice slice) // Name OnData can't be modified.  
    {
    Indices:
        {
            //First Indices
        }

        {
            //Second Indices
        }
        ...
    }
}
EN

回答 2

Stack Overflow用户

发布于 2019-10-08 00:18:28

不幸的是,这是不可能的。您应该重构代码,以便将方法拆分为多个方法,然后可以使用partial,尽管我仍然不确定为什么要这样做,而不是将复杂的代码重构为多个类。

票数 4
EN

Stack Overflow用户

发布于 2019-10-08 00:19:51

上面写着in the documentation

分部方法是隐式私有的,因此它们不能是虚拟的。

更重要的是,即使使用非虚方法,partial也不允许将方法体本身拆分到多个文件中。它只是一种方式,允许一个文件声明方法,另一个文件提供实现。

因此,我们应该关注您问题的这一部分,而不是您所询问的XY Problem

我在这个方法中有太多的代码行。我在QuantConnect平台上编写的代码限制了一个文件的大小,并且达到了这个限制。

不管文件大小的限制是多少,我猜这是一个相当宽松的限制。如果您由于一个方法而达到了该限制,那么您在该方法中使用了way太多代码。

关于一个方法应该有多少行代码,有很多指导原则。它们在本质上是相当主观的。人们争论它是“一个屏幕”还是“两个屏幕”或其他东西。但可以肯定地说,你已经超越了这一点。

你的方法真的需要重构成更小的片段。可能会分成更小的班级。具体怎么做,这里不能回答,因为你还没有提供上下文。但是,这是必须要做的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58273020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档