创建新实例时使用类方法

e4rthdog

我的课:

public class AvailabilityDataWithoutAging
{
    public string BranchPlant { get; set; }
    public string Location { get; set; }
    public string ItemCode { get; set; }
    public string ItemDescription { get; set; }
    public int PiecesPerPalletMaster { get; set; }
    public int NumberOfLots { get; set; }
    public int NumberOfPalletsConversion { get; set; }
    public int AvailablePrimary { get; set; }
    public int TempPrimary { get; set; }
    public int BlankPrimary { get; set; }
    public int HoldAutomaticPrimary { get; set; }
    public int HoldSpecificPrimary { get; set; }

    public void CalculatePrimaryFromConversion()
    {
        NumberOfPalletsConversion = AvailablePrimary/PiecesPerPalletMaster;
    }
}

我想在其中使用方法CalculatePrimaryFromConversion

retValue = _data
    .GroupBy(av => new {av.limcu, av.lilocn, av.imlitm})
    .Select(av => new AvailabilityDataWithoutAging
    {
        BranchPlant = av.Key.limcu,
        Location = av.Key.lilocn,
        ItemCode = av.Key.imlitm,
        ItemDescription = av.Max(s => s.imdsc),
        PiecesPerPalletMaster = Convert.ToInt32(_JDE8dal.GetF41002Conversion(av.Max(s=>s.liitm),"PL","EA")),
        AvailablePrimary = av.Sum(s => s.lipqoh),
        NumberOfLots = av.Count(s => s.lilotn.StartsWith("1")),
        TempPrimary = av.Sum(s => s.lilotn=="TEMP" ? s.lipqoh : 0),
        BlankPrimary = av.Sum(s => s.lilotn == "" ? s.lipqoh : 0),
        HoldAutomaticPrimary = 0,
        HoldSpecificPrimary = 0
    }).ToList();

有办法吗?

附加信息:

我不想仅在select中执行此操作,这是一个示例。我希望能够在实例化课程的同时即时进行操作。对困惑感到抱歉

阿尔宾·孙南波

不,您不能在“选择”表达式中执行此操作。您需要遍历结果列表,并在每个项目上调用CalculaePrimaryFromConversion。

但是,我建议另一种方法。

将NumberOfPalletsConversion设为计算所得的属性

public class AvailabilityDataWithoutAging
{
    public string BranchPlant { get; set; }
    public string Location { get; set; }
    public string ItemCode { get; set; }
    public string ItemDescription { get; set; }
    public int PiecesPerPalletMaster { get; set; }
    public int NumberOfLots { get; set; }
    public int NumberOfPalletsConversion
    {
      get
      {
          return AvailablePrimary/PiecesPerPalletMaster;
      }
    }
    public int AvailablePrimary { get; set; }
    public int TempPrimary { get; set; }
    public int BlankPrimary { get; set; }
    public int HoldAutomaticPrimary { get; set; }
    public int HoldSpecificPrimary { get; set; }
}

另一种选择是,当您输入除NumberOfPalletsConversion之外的所有参数并在该构造函数内部进行计算时,创建一个公共构造函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用现有类的属性创建新类时,python如何实例化属性?

来自分类Dev

使用Java从类数组中创建类的新实例

来自分类Dev

Unity:在创建新的类实例时为Null

来自分类Dev

创建新的子类对象时,是否存在超类实例?

来自分类Dev

创建新实例时,类的参数返回null

来自分类Dev

连续创建多个实例时使用正确的类实例

来自分类Dev

创建类的新实例后如何调用方法?

来自分类Dev

创建类的新实例后如何调用方法?

来自分类Dev

通过继承的静态方法创建继承类的新实例

来自分类Dev

Kotlin:如何使用更改创建数据类的新实例

来自分类Dev

为什么不能使用类的实例创建新的线程?

来自分类Dev

创建类实例时出错

来自分类Dev

是您首次调用静态方法时自动创建的类的实例

来自分类Dev

当我们使用 getBean 方法创建原型 bean 时,是否创建了 bean 属性(单例)的新实例?

来自分类Dev

使用Intent时如何销毁和创建新的活动实例

来自分类Dev

在mainactivity中创建新类的类实例时,我的应用程序崩溃

来自分类Dev

如何使用PowerMockito在静态方法中模拟新的类实例

来自分类Dev

创建表单新实例的方法

来自分类Dev

如何使用实例变量值动态创建类方法

来自分类Dev

哪个更好?每次使用静态方法还是创建新实例?

来自分类Dev

如何创建现有类的新实例?

来自分类Dev

如何创建通用类型类的新实例

来自分类Dev

InvocationTargetException试图创建服务类的新实例

来自分类Dev

yii无法创建类的新实例

来自分类Dev

Typescript在类中创建新实例

来自分类Dev

使用globals()创建类实例

来自分类Dev

使用for循环创建类的实例

来自分类Dev

C#如何使用新类中以前创建的类实例

来自分类Dev

从表象基类继承的类实例创建新的类实例/重置类实例

Related 相关文章

  1. 1

    使用现有类的属性创建新类时,python如何实例化属性?

  2. 2

    使用Java从类数组中创建类的新实例

  3. 3

    Unity:在创建新的类实例时为Null

  4. 4

    创建新的子类对象时,是否存在超类实例?

  5. 5

    创建新实例时,类的参数返回null

  6. 6

    连续创建多个实例时使用正确的类实例

  7. 7

    创建类的新实例后如何调用方法?

  8. 8

    创建类的新实例后如何调用方法?

  9. 9

    通过继承的静态方法创建继承类的新实例

  10. 10

    Kotlin:如何使用更改创建数据类的新实例

  11. 11

    为什么不能使用类的实例创建新的线程?

  12. 12

    创建类实例时出错

  13. 13

    是您首次调用静态方法时自动创建的类的实例

  14. 14

    当我们使用 getBean 方法创建原型 bean 时,是否创建了 bean 属性(单例)的新实例?

  15. 15

    使用Intent时如何销毁和创建新的活动实例

  16. 16

    在mainactivity中创建新类的类实例时,我的应用程序崩溃

  17. 17

    如何使用PowerMockito在静态方法中模拟新的类实例

  18. 18

    创建表单新实例的方法

  19. 19

    如何使用实例变量值动态创建类方法

  20. 20

    哪个更好?每次使用静态方法还是创建新实例?

  21. 21

    如何创建现有类的新实例?

  22. 22

    如何创建通用类型类的新实例

  23. 23

    InvocationTargetException试图创建服务类的新实例

  24. 24

    yii无法创建类的新实例

  25. 25

    Typescript在类中创建新实例

  26. 26

    使用globals()创建类实例

  27. 27

    使用for循环创建类的实例

  28. 28

    C#如何使用新类中以前创建的类实例

  29. 29

    从表象基类继承的类实例创建新的类实例/重置类实例

热门标签

归档