• 理解Agrs Class


     
    这个类在很多代码中出现,在启动报表的时候也需要用到它.
    简单来说这个类用于共享构造参数.在Axapta中之所以可以用Args的方式,是因为:
    1.通常参数的数目比较少.
    2.用的参数类型很类似.
    3.有时候构造一个主要的对象,需要构造与之相关的对象,在构造这些对象时需要用到相
    同的构造参数.
    在传统的OO世界里,一个对象往往有多个重载的构造函数,通常情况下这没什么问题,但
    当一个主要的对象需要通过特定构造器去构造相关的对象时,事情变得糟糕起来.有时候需要
    通过逻辑判定到底该构造哪个构造函数,并且要在很多层之间传递这些信息.事实证明在
    Axapta中,很多报表,窗体,Action类的构造参数都是很类似的,于是Axapta采用了单一的Args
    对象来传递参数,它封装了最常用的几个参数.

      属性 类型 描述
    caller object                  创建Args的对象的引用
    dataset tableid             待查找字段或者记录指向的表,通常情况下为null,大多数情况下dataset是隐式的.
    designName str            将采用报表的哪个设计,如为null则用默认设置.
    lookupField  Fieldid       当显示窗体时,用于过滤记录的字段
    loopupValue Str            当显示窗体时,过滤字段对应的值.
    menuitemName Str       引起对象创建的菜单名称
    menuitemType Str         引起对象创建的菜单类型
    Name Str                       对于Form和Report指触发Form和Report的菜单名称
    parentWnd Int              不常用,可以不予理会.
    Parm Str                        一般的字符串参数
    parmenumType             int 基本枚举类型的ID,通常会使用enumnum(some-type)函数
    parmenum                    int 通过paramnumType指定的一个基础枚举类型的值.通常结合parmenumType            选择不同的行为.
    paramObject Object    一般的object类型
    Record common dataset的一条空记录,可以用DictTable.makeRecord来创建.

  • 相关阅读:
    [Give a try | Multithreading]The Practical Guide to Multithreading
    [SOLID]The Principles of OOD
    Mixing Native and Managed Types in C++
    [转载]关于大型软件重构的一些想法
    Mixed mode programming is the absolute power of C++/CLI
    Sample: Mixing Unmanaged C++, C++/CLI, and C# code
    添加删除虚函数带来的问题及解决办法
    如何阅读code base的组内讨论的总结
    如何快速定位一个函数的返回点(c/c++ Only)
    DirextX Training笔记
  • 原文地址:https://www.cnblogs.com/Fandyx/p/2761600.html
Copyright © 2020-2023  润新知