• SharePoint开发中如何基于Namespace有效组织多个相关类


    在开发一种自定义字段类型时,会涉及到多个类。如何通过名字空间有效地组织这些类,是一个需要解决的问题。

    下面我们以Microsoft SharePoint中预定义的Lookup字段类型为例,看一下定义一个字段类型所需的类及其组织方式。

    1. Namespace: Microsoft.SharePoint

    2. Namespace: Microsoft.SharePoint.WebPartPages

    • [internal]SPLookupFieldRenderWorker
      LookupField呈现类。

    3. Namespace: Microsoft.SharePoint.WebControls

    • LookupField
      在编辑/浏览页面中呈现出的Lookup字段控件。它继承自Microsoft.SharePoint.WebControls.BaseFieldControl类。
    • MultipleLookupField
      在编辑/浏览页面中呈现出的可多选的Lookup字段控件。它继承自LookupField类。

    4. Namespace: Microsoft.SharePoint.MobileControls

    5. Namespace: Microsoft.SharePoint.Client

    • FieldLookup
      LookupField客户端映射类。它除了LookupField类的属性外还包含“字段属性配置面板(Editor)”中的属性。它继承自Field : Microsoft.SharePoint.Client.ClientObject。
    • FieldLookupPropertyNames
      Lookup字段的“字段属性配置面板”属性类。保留用于内部用途,不建议外部代码使用。
    • FieldLookupValue
      SPFieldLookupValue的客户端映射类。它继承自ClientValueObject类。

    6. Namespace: Microsoft.SharePoint.JSGrid

    • LookupTypeInfo
    • LookupTypeItem

    7. Namespace: Microsoft.SharePoint.Upgrade

    • [internal]AddLookupRelationships
    • [internal]AddLookupRelationshipsFromFields

    注:以上内容有猜测成分,如有错误,望指正。谢谢!)

    假设我们要开发一个名为CrossSiteLookup的自定义字段类型,根据以上分析,可按如下名字空间定义类:

    1. MyCompany.SharePoint

    • SPFieldCrossSiteLookup
      继承自:Microsoft.SharePoint.SPFieldLookup

    2. MyCompany.SharePoint.WebControls

    • CrossSiteLookupField
      继承自:Microsoft.SharePoint.WebControls.BaseFieldControl。
    • MultipleCrossSiteLookupField
      继承自:CrossSiteLookupField。
    • CrossSiteLookupFieldEditor(“字段属性配置面板”控件类)
      实现了:Microsoft.SharePoint.WebControls.IFieldEditor
  • 相关阅读:
    第二阶段冲刺总结09
    第二阶段冲刺总结08
    第二阶段冲刺总结07
    51nod 1799 二分答案(分块打表)
    51nod 1574 排列转换(贪心+鸽巢原理)
    Codeforces 618D Hamiltonian Spanning Tree(树的最小路径覆盖)
    Codeforces 627D Preorder Test(二分+树形DP)
    BZOJ 2427 软件安装(强连通分量+树形背包)
    BZOJ 2467 生成树(组合数学)
    BZOJ 2462 矩阵模板(二维hash)
  • 原文地址:https://www.cnblogs.com/jancco/p/2489080.html
Copyright © 2020-2023  润新知