CRMService and ICRMService

本文关键字:ICRMService and CRMService | 更新日期: 2023-09-27 18:04:18

在CRM 4.0。在插件中,我从上下文中提取了ICrmService,并创建了一个ICrmService作为参数传递的函数。我还创建了一个控制台应用程序,它创建了一个CRMService,我想把CRMService传递给上面的函数,但是函数期望ICrmService而不是CRMService。

在这种情况下我该怎么做?

(该函数位于插件和控制台应用程序都可以使用的dll中)

CRMService and ICRMService

这很简单。您必须为CrmService类创建一个包装器,它实现ICrmService

public class CrmServiceWrapper : ICrmService
{
    private bool _disposed;
    private readonly CrmService _service;
    public CrmServiceWrapper(CrmService service)
    {
        _service = service;
    }
    public Guid Create(BusinessEntity entity)
    {
        return _service.Create(entity);            
    }
    ...
}

现在你可以用这个类包装一个CrmService的实例,并把它传递给你的方法。