zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    十大开源CRM
    编码转换与网址解码
    1、ADO.NET相关对象一句话介绍
    接口与抽象类对比
    C#中的文件下载问题
    在WinForm下获取粘贴板中HTML格式的数据
    Exchange学习
    用Log Explorer恢复数据的基本操作
    iframe的问题
    再发一个C#版的日历
  • 原文地址:https://www.cnblogs.com/jancco/p/2489080.html
Copyright © 2011-2022 走看看