草庐IT

强引用

全部标签

c# - 使用值和引用参数类型重载的方法

我有以下代码:classCalculator{publicintSum(intx,inty){returnx+y;}publicintSum(outintx,outinty){x=y=10;returnx+y;}}classProgram{staticvoidMain(string[]args){intx=10,y=20;Calculatorcalculator=newCalculator();Console.WriteLine(calculator.Sum(x,y));Console.WriteLine(calculator.Sum(outx,outy));}}尽管方法签名仅在out

c# - 使用 EntityFramework.Core 从自引用表加载完整层次结构

解释为什么这个问题不同于:EF-multipleincludestoeagerloadhierarchicaldata.Badpractice?可能的重复是一个基于意见的问题,如果这是一个不好的做法,而我的问题倾向于获得关于如何做的技术解决方案,独立于意见是否是一个好的做法。我将这个决定留给产品所有者、需求工程师、项目经理和想要该功能的客户。给出的答案要么解释了为什么这是一种不好的做法,要么使用了一种对我不起作用的方法(使用Include()和ThenInclude()会产生硬编码深度,而我需要灵活的深度)。在当前项目(.NET核心WebAPI)中,我尝试从自引用表加载层次结构。经过大

c# - 为什么我不能将不同数量的引用传递给一个函数?

我想做这样的事情:doublea,b,c,d,e;ParseAndWrite("{1,2,3}",refa,refb,refc);ParseAndWrite("{4,5}",refd,refe);->a=1,b=2,c=3,d=4,e=5但是,我不能写这样的函数:privatevoidParseAndWrite(stringleInput,paramsrefdouble[]targets){(...)}这行不通,出于某种原因不能同时使用ref和params。为什么会这样?编辑:好的,这里有一些关于我为什么需要这个的更多信息:通过一个接口(interface),我得到了很多包含值的字符串

c# - 为什么作为引用类型的字符串可以是非空常量,而其他引用类型常量必须为空?

据我所知,string是一个引用类型。const可以与reference类型一起使用,只有当它们被分配为null时。我的问题是为什么作为引用类型的string可以赋值为文字字符串(或非空)? 最佳答案 取自const文档:Aconstantexpressionisanexpressionthatcanbefullyevaluatedatcompiletime.Therefore,theonlypossiblevaluesforconstantsofreferencetypesarestringandanullreference.换句

c# - 在 Visual C# 2010 中获取 DTE2 对象的引用

我想获得对当前解决方案的引用,在VisualStudio2010中使用DTE2对象和C#。我首先尝试了以下代码:vardte=Marshal.GetActiveObject("VisualStudio.DTE.10.0")asEnvDTE80.DTE2;但是当我打开2个解决方案并且此代码在第一个解决方案中时,我得到的不是对当前解决方案的引用,而是对我加载的最后一个解决方案的引用。我需要当前的解决方案...在网上搜索,在HowdoyougetthecurrentsolutiondirectoryfromaVSPackage?中找到了以下解决方案://Getaninstanceofthec

c# - 项目之间的 VS2010 程序集引用失败

上下文:我的解决方案中有3个项目(C#、.NET4.0):Abc.Business(Dll项目)Abc.Test(测试项目)Abc.Ui(Wpf项目)Abc.Business是我的业务逻辑。它包含实体、管理器、服务等。Abc.Test有一个关于Abc.Business的项目引用并且是单元测试。他们运作良好。Abc.Ui有一个关于Abc.Business的项目引用Abc.Ui无法解析所有usingAbc.Business;错误日志显示:ErrorThetypeornamespacename'Business'doesnotexistinthenamespace'Abc'(areyoumi

c# - 引用 DLL 未在 Visual Studio 2010 中加载

我正在VS2010中开发C#4.0项目,需要使用一些较旧的DLL,其中包含在VS2008上的C#3.5中创建的控件。当我第一次将DLL添加到引用时,我能够通过智能感知看到命名空间并创建其中一个控件的实例,但是当我去构建时,它给了我以下错误:Thetypeornamespacename'BCA'couldnotbefound(areyoumissingausingdirectiveoranassemblyreference?)而且我确实已经为该命名空间设置了一个using指令,它现在带有红色下划线,表明VS无法找到它。现在,智能感知根本不会选择该namespace。我什至尝试将控件添加到

c# - 在 C# 中,使用值类型与引用类型

我的问题是:我们什么时候应该使用值类型,什么时候应该使用引用类型?两者的优缺点是什么?如果到处都使用引用类型怎么办?有什么坏处吗?也请讨论每一个的优点和缺点。我也想明白这一点。 最佳答案 对于代表值的小型不可变类型,您应该使用值类型。Nevermakemutablestructs.对于其他一切,使用引用类型。 关于c#-在C#中,使用值类型与引用类型,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

c# - 在 .Net Core 中引用另一个项目

我在空白解决方案中有6个项目。我只想将一个项目引用到另一个项目。我在Blog.Web项目中有HomeController。我想访问另一个项目的方法,例如Blog.Services项目中的IOrganizationService。如何在HomeController类中使用IOrganization的方法?为了清楚的洞察力,请看图片。红色标记表示错误.... 最佳答案 看起来您已经将所有内容创建为网站,但我怀疑这些项目中大多数实际上应该是类库(dll),而不是网站。您可能需要重置一些东西!您应该能够右键单击Dependencies节点以

c# - 引用没有强名称的程序集

有没有办法在没有强名称的情况下引用库?当我在引用和重建解决方案中添加对程序集的引用时,一切都很好,但是当我从这个程序集解决方案中调用类时,它不会构建。输出表明引用的程序集应具有强名称。什么是最好的解决方案?强命名库不可取。 最佳答案 我认为您在这里遇到的问题是,您尝试从中添加引用的程序集正在使用强名称进行签名,但您尝试引用的程序集未签名。强名称程序集只能引用其他强名称程序集。要么对您引用的程序集签名,要么不对引用它的程序集签名。只有在实际调用该类时才会出现错误的原因是,如果没有代码实际调用引用的程序集,编译器将在编译输出中删除引用。