草庐IT

func_wrapper

全部标签

windows - tlbimp 生成的 COM Wrapper 是否依赖于操作系统版本

我们正在使用tlbimp.exe为wuapi.dll生成Interopdll。这个由tlbimp.exe生成的互操作dll是否依赖于操作系统版本?客户端机器上打包安装wuapi.dll是否有依赖需要打包?更多上下文:C#codetofindallofficeupdatesinstalledHowdoIgetalistofinstalledupdatesandhotfixes? 最佳答案 wuapi.dll具有操作系统依赖性,因此互操作库也具有操作系统依赖性。从接口(interface)名称来看,可能有6个版本。例如,我在Win7上通

java - ConnectException(超时)使用 gradle wrapper 运行 groovy Koans

我正在尝试运行groovykoanshttp://groovykoans.org/当我使用gradlew脚本时,它会尝试从互联网下载gradle(来自http://services.gradle.org/distributions/gradle-1.8-bin.zip)但它因连接超时异常而崩溃。我可以从firefox下载文件。我按照说明在命令行中包含了http代理参数,我可以从我的机器上pingservices.gradle.org。我在Windows上。C:\Users\me\MyDocuments\documents\work\build_system\groovykoans-ma

windows - WinDbg:设置断点时无法解决 xyz!abc::func 处的错误

我已将WinDbg附加到进程。当我使用命令bp设置断点时。我收到以下错误:bpxyz!abc::funcCouldn'tresolveerroratxyz!abc::func怎么了? 最佳答案 当你执行lmmxyz时,你得到了startendmodulename4d6c00004dc59000xyz(exportsymbols)C:\ProgramFiles\pathtoxyz术语exportsymbols告诉我们它只加载了DLL的“公共(public)”函数。要加载私有(private)符号,请执行.sympathc:\path\

c# - 使用 Composition 在 C# 中自动生成 Wrapper 类

这应该很简单,但我找不到任何东西。我在一个程序集中有一个类(一个共享库——它是一组Web服务的代理类)我在另一个程序集(Web项目)中有一个类Proxy程序集中有一个名为“Profile”的类。在Web项目中有一组“使用”配置文件的类。当没有用户登录时,使用GenericProfile。遵循“关注点分离”的原则......代理程序集由其他项目使用,只与Web服务有关。web项目里面只有web的东西但是,现在需要“GenericProfile”——将其视为“GuestUser”。合乎逻辑的做法是构建一个名为IProfile的接口(interface),并使两个类都从它派生。但这会在两个程

c# - 在单个元素级别应用 Linq Func<T, TResult> 键选择器

对不起,如果标题有误导性,不知道如何描述这个。我的最终目标是拥有一个IQueryable的扩展方法以及某种形式(例如见下文)的表达式,它允许我返回一个IQueryable>(或类似),其中包含原始T在Entity字段,以及包含由某种形式的表达式描述的元素的数组/可枚举。我知道这没有什么意义,希望在举个例子之后它会...这是我到目前为止:classEntityIndex{TEntity{get;set;}//Doesn'thavetobeIEnumerable,whateveriseasierIEnuermableIndex{get;set;}}staticclassElsewhere{

c# - 以 Func 为键的字典

我想知道这是否是字典键的明智选择?我想要做的是使用表达式作为字典中的键,例如:varmap3=newDictionary,int>();map3.Add((x)=>x%2==0,1);map3.Add((x)=>x%10==0,2);//...varkey=map3.Keys.SingleOrDefault(f=>f(2));//key=(x)=>x%2//map3[key]=1这个想法比使用大的if-else或switch语句更简洁。这有意义吗?它会工作吗?有没有更简单的方法? 最佳答案 考虑到您使用map的方式,使用List,i

c# - Func 委托(delegate)不链接方法

让我们想象一下简单的委托(delegate)调用:voidMain(){Functfunc=null;tfunc+=Add;//bindfirstmethodtfunc+=Sub;//bindsecondmethodConsole.WriteLine(tfunc(2,2));}privatestringAdd(inta,intb){return"Add:"+(a+b).ToString();}privatestringSub(inta,intb){return"Sub:"+(a-b).ToString();}这个程序的结果是:Sub:0那么,为什么Add方法没有被调用呢?我希望先调用方

c# - Func<> 与委托(delegate)和 lambda 表达式之间的区别

这个问题在这里已经有了答案:delegatekeywordvs.lambdanotation(6个答案)关闭9年前。在深入了解C#的更多高级功能时,我遇到了一些代码,但我并不清楚它们之间的区别。这是关于这两行:FuncgiveLength=(text=>text.Length);和FuncgiveLength=delegate(stringtext){returntext.Length;};这可以用同样的方式使用:Console.WriteLine(giveLength("Arandomstring."));所以基本上..这两行有什么区别?这些行是否编译为相同的CIL?

c# - Func<T, TResult> 和 Converter<TInput, TOutput> 有什么区别?

查看Func和Converter委托(delegate)的签名,publicdelegateTResultFunc(Targ);publicdelegateTOutputConverter(TInputinput);我很难看出两者之间的区别。当然,如果我们重命名泛型类型参数,它们本质上是一样的吗?有人能解释一下为什么它们都存在吗? 最佳答案 没有区别。它们存在的原因是历史性的。Converter在.NET2.0中已经可用,但整个范围Func稍后添加了委托(delegate)类型。为了保持一致性,Func已添加,但它与Converte

c# - 使用 Wrapper 对象正确清理 excel interop 对象

所有这些问题:Excel2007HangsWhenClosingvia.NETHowtoproperlycleanupExcelinteropobjectsinC#HowtoproperlycleanupinteropobjectsinC#解决C#在使用ExcelCOM对象后没有正确释放的问题。解决这个问题主要有两个方向:当不再使用Excel时终止Excel进程。注意首先将使用的每个COM对象显式分配给一个变量,并确保最终在每个对象上执行Marshal.ReleaseComObject。有些人说2太乏味了,并且总是不确定您是否在代码的某些地方忘记了遵守这条规则。仍然1对我来说似乎很脏而