C# 在c中创建库类#

C# 在c中创建库类#,c#,dll,C#,Dll,我对这个相当陌生,我想得到一些帮助,将一个方法转换成一个库类,用作dll。我的问题是如何处理我用来从用户那里获取数据的文本框值 这是我正在使用并希望作为可用库类的方法: public Microsoft.Office.Interop.Excel.Workbook excelWorkbook { get; set; } void ExcelToPdf(string convertFilePath) { Microsoft.Office.Interop.Excel.A

我对这个相当陌生,我想得到一些帮助,将一个方法转换成一个库类,用作dll。我的问题是如何处理我用来从用户那里获取数据的文本框值

这是我正在使用并希望作为可用库类的方法:

public Microsoft.Office.Interop.Excel.Workbook excelWorkbook { get; set; }
    void ExcelToPdf(string convertFilePath)
    {
        Microsoft.Office.Interop.Excel.Application appWord = new Microsoft.Office.Interop.Excel.Application();
        excelWorkbook = appWord.Workbooks.Open(DocumentUNCPath.Text);

        excelWorkbook.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, convertFilePath);
        excelWorkbook.Close();
        appWord.Quit();
    }

因此,当您将其移动到库中时,您需要将这些值注入到方法中:

public Microsoft.Office.Interop.Excel.Workbook excelWorkbook { get; set; }

void ExcelToPdf(string convertFilePath, string documentUncPath)
{
    Microsoft.Office.Interop.Excel.Application appWord = new Microsoft.Office.Interop.Excel.Application();
    excelWorkbook = appWord.Workbooks.Open(documentUncPath); // WAS DocumentUNCPath.Text

    excelWorkbook.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, convertFilePath);
    excelWorkbook.Close();
    appWord.Quit();
}

因此,当您调用该方法时,您将传入表单中的
DocumentUNCPath.Text
值。

如果我正确理解您的问题

在VisualStudio中,选择File-New-Project-classlibrary。 将代码复制并粘贴到类中,应如下所示:

namespace ClassLibrary1
{
    public class Class1
    {
        public Microsoft.Office.Interop.Excel.Workbook excelWorkbook { get; set; }
        void ExcelToPdf(string convertFilePath)
        {
            Microsoft.Office.Interop.Excel.Application appWord = new Microsoft.Office.Interop.Excel.Application();
            excelWorkbook = appWord.Workbooks.Open(DocumentUNCPath.Text);

            excelWorkbook.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, convertFilePath);
            excelWorkbook.Close();
            appWord.Quit();
        }
    }
}

构建应用程序后,您将在output bin文件夹中找到dll。

非常感谢这一帮助。那么,如果我有类似错误消息“输入的号码无效,请重新输入”之类的消息-我是否也将它们包含在库类中?是的,您可以将此类消息放入库中。因此,如果传递值错误,库函数可以提供用户友好的异常消息。我认为不应该在其中包含DocumentUNCPath.Text,因为在不同的程序中使用dll可能会使textbox具有不同的名称。但是谢谢你澄清这个想法。