草庐IT

CALL_NON_FUNCTION_AS_CONSTRUCTOR

全部标签

c# - 为什么在测试受约束的泛型类型时直接转换失败但 "as"运算符成功?

``在编译一些使用具有类型约束的泛型的C#代码时,我遇到了一个有趣的好奇心。我写了一个快速测试用例来说明。我在VisualStudio2010中使用.NET4.0。namespaceTestCast{publicclassFruit{}publicclassApple:Fruit{}publicstaticclassTest{publicstaticvoidTestFruit(FruitTypefruit)whereFruitType:Fruit{if(fruitisApple){Appleapple=(Apple)fruit;}}}}转换为Apple失败并出现错误:“无法将类型‘Fr

c# - : this() As a constructor

我正在尝试更好地理解一般实践...特别是在构造函数中派生this()。我知道它的代码较少,但我认为它的可读性较差。这样做是常见的/好的做法吗?还是编写第二个专门处理它的构造函数更好?publicSomeOtherStuff(stringrabble):this(rabble,"bloop"){}或PublicSomeOtherStuff(stringrabble){//setbloop}任何输入将不胜感激 最佳答案 最好尽可能使用this()。否则你将复制一些代码,这违反了DRY(不要重复自己)原则。重复自己的问题在于,每次您需要进

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# - SSRS : Get list of all reports and parameters in a single web service call?

简短而贴心的版本:是否有一个单一的Web服务方法可以返回所有可用报告的名称以及每个报告的参数?我将我的网络代码(C#/MVC)连接到SSRS网络服务,并且我能够通过这些服务检索报告。我知道我可以获得像这样的可用报告列表:varrService=newReportingService2005{Url=@"http://domain.com/ReportServer/ReportService2005.asmx?wsdl",Credentials=System.Net.CredentialCache.DefaultCredentials};varreportList=rService.Li

c# - 数字必杀技 : Where does a callvirt of a non-existent method end up?

我在其基类中标记为抽象的库类上调用属性集访问器。现在在运行时我force应用程序针对另一个版本的库运行,其中类仅实现基类的底层接口(interface),但不是从它派生的。有趣的是,.NET将运行代码,但设置该属性没有任何效果。幕后发生了什么?违规代码:MyDbParameterparam=newMyDbParameter();param.ParameterName="p";Console.Out.WriteLine("ParameterName:"+param.ParameterName);库2.0(已编译)publicsealedclassMyDbParameter:System.

c# - SQL 2008 : returning data rows as JSON?

我觉得这个问题就像是射粘土飞鸽..“拉……砰!”..被击落..但尽管如此,我相信还是值得一问。现在很多JS框架等都使用JSON,我知道这是有充分理由的。经典问题是“在哪里将数据转换为JSON”。我知道在管道中的某个时刻,您必须将数据转换为JSON,无论是在数据访问层(我正在查看JSON.NET)还是我相信.NET4.x都有方法输出/序列化为JSON。所以问题是:考虑将SQL函数输出为JSON真的是个坏主意吗?预选赛:我知道尝试像那样输出1000行不是一个好主意——事实上,无论哪种方式对于Web应用程序来说都不是一个好主意,除非你真的必须这样做。根据我的要求,我一次可能需要100行...

C# 错误 : The call is ambiguous between the following methods or properties. 运算符重载

我在名为Dinero的命名空间中有2个带有重载运算符的类,这些是2个类:第一个:namespaceDinero{classDollar{#regionAtributospublicDoublecant;#endregion#regionConstructorespublicDollar(){this.cant=0;}publicDollar(Doubleamount){this.cant=amount;}#endregion#regionSobrecargadeOperadorespublicstaticDollaroperator+(Euroeu,Dollardol){Dollard

c# - 在 Azure Function 中运行 .exe 可执行文件

我有可执行文件abcd.exe(它包含/合并了许多.dll)。是否可以为abcd.exe创建AzureFunctions并在AzureCloudFunctions中运行它?abcd.exe应用程序:System.Diagnostics.Processprocess=newSystem.Diagnostics.Process();System.Diagnostics.ProcessStartInfostartInfo=newSystem.Diagnostics.ProcessStartInfo();startInfo.WindowStyle=System.Diagnostics.Proc

c# - Lazy<T> 延迟加载错误 : A field initializer cannot reference the non-static field, 方法或属性

我第一次尝试使用延迟加载来初始化我的类中的进度对象。但是,我收到以下错误:Afieldinitializercannotreferencethenon-staticfield,method,orproperty.privateLazym_progress=newLazy(()=>{longtotalBytes=m_transferManager.TotalSize();returnnewProgress(totalBytes);});在.NET2.0中,我可以执行以下操作,但我更愿意使用更新的方法:privateProgressm_progress;privateProgressPro

C# 不同的转换方式——(T)obj vs obj as T

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:castingvsusingthe'as'keywordintheCLR我见过两种不同的C#转换方式。例如:MyObjfoo=(MyObj)bar;//thisiswhatIseemostofthetimesMyObjfoo=barasMyObj;//Idoseethissometimes那么,基本区别是什么?style1和style2转换的正确名称是什么?我如何决定何时使用什么?是否存在任何重大性能问题?关于这个主题,还有什么我应该知道的吗?非常感谢您对此的调查:)