D365 – 插件注释模板

前言

在实施 Dynamics 365 项目时,编写插件是扩展功能和满足定制需求的常用方法。如果有多个开发人员在同一个项目上写插件,那么插件注释是必不可少的。正确注释可以帮助其他人更好地理解代码的目的和功能。下面是我常用的 Dynamics 365 插件的注释模板,以及一些示例代码。

这是我的常用模板,如果有任何不成熟之处,欢迎讨论指正。

CSHARP
/// <summary>
/// <list type="bullet">
/// <item>模块:售前(示例)</item>
/// <item>功能</item>
/// <list type="number">
/// <item>功能描述 xxxx xxxx xxxx</item>
/// <item>功能描述 xxxx xxxx xxxx</item>
/// </list>
/// <item>Primary Entity: Lead</item>
/// <item>Message: Update</item>
/// <item>Update Attributes: qualifyingopportunityid, statecode</item>
/// <item>State: PostOperation</item>
/// <item>Mode: Synchronous</item>
/// </list>
/// </summary>
点击展开查看更多

Message/State/Mode Options

Example

CSHARP
using Microsoft.Xrm.Sdk;
using System;

namespace Blog.D365.Plugins.Account
{
    /// <summary>
    /// <list type="bullet">
    /// <item>模块:售前(示例)</item>
    /// <item>功能</item>
    /// <list type="number">
    /// <item>功能描述 xxxx xxxx xxxx</item>
    /// <item>功能描述 xxxx xxxx xxxx</item>
    /// </list>
    /// <item>Primary Entity: Lead</item>
    /// <item>Message: Update</item>
    /// <item>Update Attributes: qualifyingopportunityid, statecode</item>
    /// <item>State: PostOperation</item>
    /// <item>Mode: Synchronous</item>
    /// </list>
    /// </summary>
    public class AccountPostUpdate : IPlugin
    {
        public void Execute(IServiceProvider serviceProvider)
        {
            ITracingService tracer = (ITracingService)serviceProvider.GetService(typeof(ITracingService));
            IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
            try
            {
                if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
                {
                    IOrganizationServiceFactory factory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
                    IOrganizationService service = factory.CreateOrganizationService(context.UserId);
                    IOrganizationService serviceAdmin = factory.CreateOrganizationService(null);                    
                    Entity currentEntity = (Entity)context.InputParameters["Target"];
                }
            }
            catch (Exception ex)
            {
                tracer.Trace($"AccountPostUpdate unexpected exception:\n{ex.Message}");
                throw;
            }
        }
    }
}
点击展开查看更多

版权声明

作者: Donghai

链接: https://mgrowup.com/posts/d365/plugin-comment-template/

许可证: CC BY-NC-SA 4.0

文章已根据知识共享署名-非商业性使用-相同方式共享4.0国际许可协议授权。请注明来源,仅非商业使用,并保持相同的许可协议。

评论

开始搜索

输入关键词搜索文章内容

↑↓
ESC
⌘K 快捷键