Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法调用需要类型参数的c#方法_C#_Enums - Fatal编程技术网

无法调用需要类型参数的c#方法

无法调用需要类型参数的c#方法,c#,enums,C#,Enums,在这个问题上尝试另一种方法: 这一次,我没有尝试直接使用对象,而是尝试使用库的另一部分将现有内容写入sql 我正在尝试执行类OOPFactory.X12.ImportX12 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Configuration; using OopFactory.X12.Parsing; using OopFactory.X1

在这个问题上尝试另一种方法:

这一次,我没有尝试直接使用对象,而是尝试使用库的另一部分将现有内容写入sql

我正在尝试执行类OOPFactory.X12.ImportX12

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using OopFactory.X12.Parsing;
using OopFactory.X12.Repositories;
using OopFactory.X12.Sql;
using System.IO;
using System.Diagnostics;
namespace OopFactory.X12.ImportX12
{
    class Program
    {
        enum testc { incrementme };
        static void Main(string[] args)
    {
        string dsn = ConfigurationManager.ConnectionStrings["X12"].ConnectionString;

        bool throwExceptionOnSyntaxErrors = ConfigurationManager.AppSettings["ThrowExceptionOnSyntaxErrors"] == "true";
        string[] segments = ConfigurationManager.AppSettings["IndexedSegments"].Split(',');
        string parseDirectory = ConfigurationManager.AppSettings["ParseDirectory"];
        string parseSearchPattern = ConfigurationManager.AppSettings["ParseSearchPattern"];
        string archiveDirectory = ConfigurationManager.AppSettings["ArchiveDirectory"];
        string failureDirectory = ConfigurationManager.AppSettings["FailureDirectory"];
        string sqlDateType = ConfigurationManager.AppSettings["SqlDateType"];
        int segmentBatchSize = Convert.ToInt32(ConfigurationManager.AppSettings["SqlSegmentBatchSize"]);

        var specFinder = new SpecificationFinder();
        var parser = new X12Parser(throwExceptionOnSyntaxErrors);
        parser.ParserWarning += new X12Parser.X12ParserWarningEventHandler(parser_ParserWarning);
        var repo = new SqlTransactionRepository<int>(dsn, specFinder, segments, ConfigurationManager.AppSettings["schema"], ConfigurationManager.AppSettings["containerSchema"], segmentBatchSize, sqlDateType);

        //var repo = new OopFactory.X12.Sql.SqlTransactionRepository(dsn,"test");
        //var repo = new OopFactory.X12.Sql.SqlTransactionRepository(dsn,new testc());

假设你的类型是人

您可以使用typeof(Person):

或获取person实例的类型:

 Person p = new Person();
 SqlTransactionRepository(dsn, p.GetType());

根据源代码中的文档()

标识参数应具有:

所有标识列的类型

并且它支持
int
long
,这意味着您应该通过以下任一项:

typeof(int)


希望有帮助

请访问您可能只是有一个输入错误,注意您的错误消息
sqltransactionrepository
拼写错误,使我相信这可能是一个输入错误。这解决了问题,非常有用!非常感谢。
 Person p = new Person();
 SqlTransactionRepository(dsn, p.GetType());
typeof(int)
typeof(long)