jjzjj

instance

全部标签

c# - 如何将静态类包装在非静态实例对象中(动态地)

我有一个有趣的问题。我需要动态包装静态类。IE。向我的调用者返回一个非静态实例。例如:publicobjectCreateInstance(stringclassName){Typet=assembly.GetType(className);if(IsStatic(t)){returnCreateStaticWrapper(t);}else{returnActivator.CreateInstance(t);}}所以我需要的是关于如何实现CreateStaticWrapper的指导。注意:不幸的是我不能使用Dynamic对象。那么我的选择是什么?我不是那么热衷于学习IL生成?如果IL生

c# - 是否有用于在 C# 中创建匿名子类的语法?

我可以像在Java中一样在C#/.net中创建抽象类的实例吗?附加信息我想我们很多人不明白我的意思?所以,在java中,我可以像这样创建抽象类:简单的抽象类:/***@authorjitm*@version0.1*/publicabstractclassTestAbstract{publicabstractvoidtoDoSmth();}创建抽象类实例的代码/***@authorjitm*@version0.1*/publicclassMain{publicstaticvoidmain(String[]args){TestAbstracttestAbstract=newTestAbst

c# - SOAP 错误 : "Server was unable to process request" "Object reference not set to an instance of an object"

当我向本地IIS中的服务发送SOAP请求时,一切正常。当我向在另一台主机上的IIS上运行的同一服务发送SOAP请求时,一切正常。但是当另一个程序员向我的服务发送SOAP请求时,他通常会得到正确的响应,除了返回服务中的一个方法:soap:ServerServerwasunabletoprocessrequest.--->Objectreferencenotsettoaninstanceofanobject.我需要了解他收到此错误的原因。他的SOAP请求与SOAP请求完全相同,但我的有效,而他的无效。 最佳答案 如果您不确切知道错

c# - 在 EXCEL VBA 中使用 C# dll

我在这里遇到了一个小问题,需要你们的帮助。我有一个通过COM互操作公开的C#DLL。它工作正常,但显然C#互操作对象的部署是一场灾难,每次更新DLL时都需要重新加载。所以我想知道如何使用此C#DLL中的函数,如下所示:或者我可以通过将DLL和电子表格放在一起来调用函数的任何东西。DeclareFunctiongetStringLib""()asstringsubtest()range("A1").value=getStringEndSub语法可能有误。 最佳答案 你可以这样做,但你必须了解VBA和.Net的区别。首先,您必须创建一个

c# - "do"/Action LINQ 运算符有什么计划吗?

这是一个带有foreach循环的简单方法:IEnumerableFieldsToXElements(objectinstance){varfieldElements=newList();foreach(varfieldininstance.GetType().GetFields(instance)){fieldElements.Add(newXElement(field.Name,field.GetValue(instance)));}returnfieldElements;}有点丑。如果LINQ中有一些运算符表示“做某事”(例如,为LINQ语句中的每个选定项执行Action),它看起

c# - C#中的一次性单例

我有一个使用“staticreadonlyTInstance=newT();”的单例图案。但是,我遇到了T是一次性的情况,实际上需要为单元测试进行处理。我如何修改此模式以支持一次性单例?我想要的界面是这样的:varx=Foo.Instance;vary=Foo.Instance;//x==y...x.Release();//thiscausesthenextFoo.Instancetoreturnafreshobject//also,itassumesnofurtheroperationsonx/ywillbeperformed.注意-当然,模式必须是线程安全的。编辑-出于生产代码的目

c# - 尝试打开 telerik 报告时出现 "Value cannot be null. Parameter name: instance"错误

在我的解决方案中,我有telerik报告,当尝试在VisualStudio2010设计器中打开它们时,我收到此错误:Valuecannotbenull.Parametername:instanceCallStackatSystem.ComponentModel.TypeDescriptor.AddAttributes(Objectinstance,Attribute[]attributes)atMicrosoft.VisualStudio.Design.VSDesignSurface.CreateDesigner(IComponentcomponent,BooleanrootDesig

c# - 以编程方式构建 msbuild 15 项目

我正在尝试构建一个使用VS2017创建的简单C#7类库项目。框架程序集中的MSBuild已过时,因此我引用了Microsoft.Build、Microsoft.Build.Engine和Microsoft.Build.Framework来自visualstudio中的MSBuild文件夹(C:\ProgramFiles(x86)\MicrosoftVisualStudio\2017\Community\MSBuild\15.0\Bin)。不过,当我这样做时:using(varcollection=newProjectCollection()){varproj=collection.Lo

c# - 单元测试内存泄漏

我有一个存在大量内存泄漏的应用程序。例如,如果打开一个View并将其关闭10次,我的内存消耗会增加,因为View没有完全清理。这些是我的内存泄漏。从测试驱动的角度来看,我想编写一个测试来证明我的泄漏,并且(在我修复泄漏之后)断言我修复了它。这样我的代码以后就不会被破坏。简而言之:有没有办法断言我的代码没有从单元测试中泄漏内存?例如我可以做这样的事情吗:objectsThatShouldNotBeThereCount=MemAssertion.GetObjects().Count;Assert.AreEqual(0,objectsThatShouldNotBeThereCount);我对

C# 编译器错误 : "cannot have instance field initializers in structs"

我需要有关结构的建议。我有两段代码。第一部分如下:namespaceProject.GlobalVariables{classIOCard{structInputCard{publicstringCardNo;publicintBaseAddress;publicintLowerAddress;publicintUpperAddress;publicint[]WriteBitNo=newint[16];publicint[]ReadBitNo=newint[16];}staticInputCard[]InputCards=newInputCard[5];publicstaticstri