包装类方法参数

时间:2014-09-11 10:25:33

标签: c# dll wrapper

道歉,但这对我来说是新的,我很乐意在必要时进一步解释或编辑这篇文章。

我有一个项目类库,我需要为它创建一个包装类库。该类包含构造函数的自定义类,然后将其用作我将从包装器调用的方法中的参数。

在我的包装器中,我真的不想使用引用原始类库的using语句,所以我想知道处理这些自定义构造函数的最佳方法是什么?

这是一个例子,我把我正在包装的DLL看起来像:

public CustomResult WriteMyDataAndReturnResult(CustomerWriterData data)
{
    CustomerResult result = // Do stuff
    return result;
}


public partial class CustomResult
{
    private int resultId;
    private MyResponse response;

    public int resultIdField
    {
        get { return this.resultId; }
        set { this.resultId = value; }
    }

}

public partial class MyResponse
{
    private string myMessage;

    public string myMessageField
    {
        get { return this.myMessage; }
        set { this.myMessage = value; }
    }
}


public partial class CustomerWriterData
{
    private string outputPath;
    private string inputPath;

    public string myOutputPath
    {
        get { return this.outputPath; }
        set { this.outputPath = value; }
    }
    public string myInputPath
    {
        get { return this.inputPath; }
        set { this.inputPath = value; }
    }
}

所以在我的包装器上面的示例中,我希望有一个调用WriteMyDataAndReturnResult的方法,但是它包含一个自定义对象。处理这方面的事情最好的方法是什么?我已经玩弄了在我的包装器中重新创建每个部分类的想法,然后让转换方法从一个转换到另一个,但这似乎是我要重写大量的代码。

有没有更好的方法让我避免在调用我的包装器项目的代码中包含一个using语句到原始库?

1 个答案:

答案 0 :(得分:0)

通过创建将API映射到我的DTO对象的脚本来自行排序。这不是我特别想要的路径,但它至少允许我在第三方API和我的主要代码之间创建分离。