草庐IT

c++ - 在 C++ 中重载 **

全部标签

c# - IIS 7.x,添加启用 HTTPS 的站点 : SiteCollection. Add(string, string, string, byte[]) 重载

我需要以编程方式添加一个IIS7.x站点,但在默认情况下应使用HTTPS/SSL绑定(bind)创建该站点时,我卡住了,使用SiteCollection.Add(string,string,string,byte[])overload.将https:*:80:test.localhosthttps:*:443:test.localhost作为bindingInformation抛出ArgumentException并显示以下消息:指定的HTTPS绑定(bind)无效。这个绑定(bind)信息有什么问题?谢谢。编辑:我正在使用Microsoft.Web.Administration程序集

c# - 带字符串插值的重载字符串方法

为什么字符串插值更喜欢使用string而不是IFormattable的方法重载?想象一下:staticclassLog{staticvoidDebug(stringmessage);staticvoidDebug(IFormattablemessage);staticboolIsDebugEnabled{get;}}我的对象具有非常昂贵的ToString()。以前,我做了以下操作:if(Log.IsDebugEnabled)Log.Debug(string.Format("Message{0}",expensiveObject));现在,我想在Debug(IFormattable)中包

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# - 泛型类中的方法重载

我正在使用包含以下泛型类重载方法的代码:publicclassA{publicvoidProcess(Titem){/*impl*/}publicvoidProcess(stringitem){/*impl*/}}当为string参数化类时,我是否失去了使用通用参数调用版本的可能性?vara=newA();a.Process("");//Alwayscallsthenon-genericProcess(string) 最佳答案 特定类型优先于通用类型。例如,这是我在LINQPad中测试的内容。voidMain(){newA().Pr

c# - .Net继承和方法重载

这是一个代码示例:classProgram{staticvoidMain(string[]args){varobj=newDerivedClass();obj.SomeMethod(5);}}classBaseClass{internalvoidSomeMethod(inta){}}classDerivedClass:BaseClass{internalvoidSomeMethod(longa){}}有人能解释一下为什么调用派生类的方法(而不是基类方法)吗?对于这种情况,我需要一个详细的解释。如果您提供指向任何有用文章的链接,我将不胜感激。谢谢。 最佳答案

c# - 重载是在 C# 中拥有默认函数参数的唯一方法吗?

处理默认函数参数的唯一方法是通过函数重载,这是真的吗?例如,在PHP中我可以这样做:functionfoo($x,$y=0){}在C#中处理它的最佳方法是这样吗?voidfoo(intx){foo(x,0);}voidfoo(intx,inty){}Exampleliftedfromhere编辑将C#示例变为实际的C#(感谢BlairConrad) 最佳答案 只是为了满足一些好奇心:来自Whydoesn'tC#supportdefaultparameters?:InlanguagessuchasC++,adefaultvalueca

C# 重载返回类型 - 推荐方法

我有一种情况,我只是希望方法重载的返回类型不同,但在C#中不能这样做。处理此问题的最佳方法是什么?我需要这个是否意味着我的程序结构有缺陷?鉴于这在C#中是不可能的,推荐的方法是什么? 最佳答案 通常,您只需为方法指定不同的名称。一个例子是IDataReader和GetInt32,GetInt64等老实说,我相信这通常会让您更​​清楚地了解您想要做什么-特别是如果您随后调用一个重载方法并得到结果:Console.WriteLine(reader.GetInt32());//ThisisclearConsole.WriteLine(fo

c# - 重载索引器以具有 foreach'able 类

我试图做这样的事情,但这不起作用:classGarage{privateListcars=newList();publicCarthis[inti]{get{returncars[i];}}//...}Garageg=newGarage();//getCS1579-noGetEnumeratordefinitionforeach(Carcing){//...}由于MSDN说索引器可能会过载,所以我决定在这里请教专家。如何重载索引器配合foreach循环? 最佳答案 foreach与indexers无关.您需要声明一个GetEnume

c# - 当泛型类型匹配采用该类型的重载方法时,Visual Studio 2015 不编译

我的项目在VS2013中编译但在VS2015中不编译。下面的代码重现了编译问题。Validator类实际上在第3方程序集中,因此我无法更改实现。require类是本地类,但我不想更改实现,因为我将不得不更改大量验证逻辑。下面是在VS2015中无法编译的代码。publicabstractclassValidator:Validator{publicoverridevoidDoValidate(objectobjectToValidate){}protectedabstractvoidDoValidate(TobjectToValidate);}publicabstractclassVal

c# - 使用派生类型调用扩展方法重载

简化后,我有这2个Extension方法:publicstaticclassExtensions{publicstaticstringGetString(thisExceptione){return"Standard!!!";}publicstaticstringGetString(thisTimeoutExceptione){return"TimeOut!!!";}}这是我使用它们的地方:try{thrownewTimeoutException();}catch(Exceptione){Typet=e.GetType();//AtdebuggingthisaTimeoutExcept