草庐IT

generic-type-argument

全部标签

c# - PInvoke C# : Function takes pointer to function as argument

我想在我的C#代码中访问这个函数,这可能吗?所以最后C++代码会调用我的函数并应用名为“sFrameofData”的结构。C++代码://Theusersuppliedfunctionwillbecalledwheneveraframeofdataarrives.DLLintCortex_SetDataHandlerFunc(void(*MyFunction)(sFrameOfData*pFrameOfData));这也许行得通吗?C#代码:[DllImport("Cortex_SDK.dll")]publicexternstaticintCortex_SetDataHandlerFu

c# - 可以锁定 System.Collections.Generic.List<t> 吗?

我一直在阅读有关syncroot元素的信息,但我在List类型中找不到它。那么System.Collections.Generic.List类型应该如何进行多线程同步呢? 最佳答案 你找不到它的原因是因为它是explicitlyremoved.如果它真的是你想做的,使用SynchronizedCollection或者创建一个专用的同步对象。最好的方法(通常)是创建一个专用的同步对象,正如Winston所说明的那样。SyncRoot的本质问题特性是它提供了一种错误的安全感——它只能处理非常有限的情况。开发人员经常忽略整个逻辑操作的同步

c# - "Compile with/main to specify the type that contains the entry point."

根据下面的代码,我收到以下消息。我相当确定我得到它的“原因”,我只是不知道如何重新排列代码以移动/删除/替换导致错误的语句之一。“使用/main编译以指定包含入口点的类型。”"staticvoidMain(string[]args)"下有一堆代码,我从http://support.microsoft.com/kb/816112为了从自动递增中获取ID,所以当其余代码填充Access数据库时,我可以让它自动递增。任何帮助表示赞赏。也欢迎使用更简单的代码获得结果的建议!namespaceWindowsFormsApplication1{publicpartialclassForm1:For

c# - VS 2015 中的 RazorEngine 模板 - 功能 'implicitly typed local variable' 在 c# 2 中不可用

在我的VS2015项目中打开RazorEnginecshtml模板文件时出现以下错误。Feature'implicitlytypedlocalvariable'isnotavailableinc#2.Pleaseuselanguageversion3orgreater.模板编译正确,只是智能感知有问题。项目设置为在构建时使用.net4.5。该应用程序也不是ASP.Net,而是桌面应用程序。intellisense在VS2013中也能正常工作。升级到VS2015后出现此问题。有没有人有类似的问题,可以建议如何解决这个问题? 最佳答案

c# - 犀牛模拟 : How to stub a generic method to catch an anonymous type?

我们需要stub一个通用方法,该方法将使用匿名类型作为类型参数来调用。考虑:interfaceIProgressReporter{TReport(TprogressUpdater);}//Unittestarrange:FuncreturnArg=(x=>x);//wewishtoreturntheargument_reporter.Stub(x=>x.Report(null).IgnoreArguments().Do(returnArg);如果在被测方法中对.Report()的实际调用是使用对象作为类型参数完成的,那么这将起作用,但实际上,调用该方法时使用的T是匿名类型。此类型在被测

C# Generic Constraint - 如何引用当前类类型?

我有以下类/接口(interface):publicabstractclassAbstractBasePresenter:IPresenterwhereT:class,IView{}publicinterfaceIPresenter{}publicinterfaceIView:IViewwhereTV:IViewModelwhereTE:IEditModel//whereTP:AbstractBasePresenter{}publicinterfaceIView{}有什么方法可以将IView上的TP限制为继承自AbstractBasePresenter的类?或者我唯一的选择是创建一个非

c# - "Object cannot be cast from DBNull to other types"

当我的网站执行到以下代码时,它会崩溃并出现如下异常:System.InvalidCastException:ObjectcannotbecastfromDBNulltoothertypes.为了简洁起见,我只展示了相关代码(我得到的是一个4000+LOC文件)。if(dr["STAGE"]isDBNull){dto.Stage=1;//Thisisthelinethrowingtheexception,accordingtostacktrace}else{dto.Stage=Convert.ToInt32(dr["STAGE"]);}这里,dr是一个DataRow对象,它是对数据库的查

c# - NLog LogManager.GetLogger(String, Type) 重载的目的是什么

LogManager类有两个方法:GetLogger和GetCurrentClassLogger,带有一个重载参数TypeloggerTypepublicstaticLoggerGetLogger(stringname,TypeloggerType)publicstaticLoggerGetCurrentClassLogger(TypeloggerType)文档指出loggerType是“要创建的记录器的类型”。该类型必须继承自NLog.Logger。'这种重载的目的是什么?为什么我可能需要创建继承类型的记录器? 最佳答案 如果您想

c# - Rhino 模拟 - AssertWasCalled : How to improve unclear diagnostic message when incorrect arguments

恕我直言,RhinoMocks在使用AssertWasCalled时会产生一条不清楚的诊断消息,以验证是否已使用特定参数调用方法。例子:interfaceISomeInterface{voidWrite(strings);}[TestFixture]publicclassSomeTests{[Test]publicvoidWriteShouldBeCalledWithCorrectArguments(){//Arrangevarmock=MockRepository.GenerateMock();varsut=newSomeClass(mock);//Actsut.DoSomethin

c# - Generics & Reflection - GenericArguments[0] 违反类型约束

我已经为这个问题绞尽脑汁了一段时间,本质上我是在尝试实现一个通用的存储库工厂,其名称如下:varresposFactory=newRepositoryFactory>();存储库工厂如下所示:publicclassRepositoryFactory:IRepositoryFactory{publicTGetRepository(GuidlistGuid,IEnumerablefieldMappings){AssemblycallingAssembly=Assembly.GetExecutingAssembly();Type[]typesInThisAssembly=callingAss