草庐IT

HDF5编译

全部标签

c# - 如果多个成员具有相同的属性,如何抛出编译器错误

简单的问题,如何强制C#编译器抛出编译错误。更新:也许改用Assert.Fail()会更好?我有一个自定义属性,它应该只应用于一个类的一个成员。在我的另一个类的静态方法中,它会查找那个成员,如果不止一个成员应用了该属性,我希望它失败(不抛出异常)。publicclassFoo{[MyCustomAttribute]publicStringFooString{get;set;}[MyCustomAttribute]publicStringOtherFooString{get;set;}}publicclassBarwhereT:class,new(){staticBar(){//Ifmo

c# - EntityFramework.Extended Future 错误(JIT 编译器内部限制)

我正在使用CodeFirstEntityFramework(version="6.1.0")和EntityFramework.Extended(version="6.1.0.96,目前最新版本here.DbContext公开了访问方式如下的DbSets:varset=ctx.Set();今天我决定尝试EntityFramework.Extended库的FutureQueries,很快就结束了,不知道如何继续。示例代码如下:using(varctx=newMyDbContext()){varu=ctx.Set().Future();varc=ctx.Set().Future();varu

c# - Moq VerifySet(Action) 替换过时的表达式编译错误

引用这个问题:Moqhowtoreplaceobsoleteexpression我有以下内容:[Test]publicvoidOnSearchRequest_ViewFiresEvent_EventIsHandled(){//ArrangeMockview=newMock();Usersusers=newUsers(view.Object);//Actview.Raise(v=>v.SearchForUsers+=null,this,newSearchEventArgs());//Assertview.VerifySet(v=>v.SearchResult=It.IsAny>());}

c# - 未编译的局部 View 不继承自 ViewImports

我将View的一部分移动到局部View中。_ViewImports.cshtml@usingAsonCore.Helpers@usingAsonCore.Models@namespaceAsonCore.Pages@addTagHelper*,Microsoft.AspNetCore.Mvc.TagHelpers应用程序.cshtml@page@modelApplicationModel_ApplicationPartial.cshtml@modelApplicationModelFORNAVNETTERNAVN_Project.csprojnetcoreapp2.2InProcess

LINQ 和动态继承的 C# 编译错误

考虑以下代码(为了这个测试,它没有做任何特殊用途-它只是为了演示发生的错误)Dictionaryd=newDictionary(){{"a",123},{"b",Guid.NewGuid()},{"c","HelloWorld"}};d.Where(o=>o.Key.Contains("b")).ForEach(i=>Console.WriteLine(i.Value));//retunstheGuidvalue,asexpected.我想包装Dictionary使用继承:publicclassCustomDictionary:Dictionary{}下面是上面使用这个派生类的例子:C

c# - 使用 ? 时出现编译器错误。导致无法通过 PEVerify 的不良图像

我偶然发现了一些奇怪的事情:我得到了一个BadImageFormatException,但不知道它可能指的是什么图像(程序集)。我缩减了解决方案,使其只包含一个没有依赖项的项目:如您所见,它仅使用System(和mscorlib),当然我不会在运行时加载程序集。它使用.NET4.5.2编译为AnyCpu,使用C#6编译为VS2015,尽管这些都不重要。我尝试用C#5制作一个示例,但是一旦我替换了所有“?”。运营商,它停止发生。我主持了这个项目,以便人们可以自己尝试:gitclone-bcrash-samplehttps://github.com/jtheisen/moldinium.g

c# - 编译 Expression<T> 时,它是否被隐式缓存?

当Expression编译后,结果代码是否被框架隐式缓存?我在考虑静态Regex的思路框架隐式编译和缓存最后几个正则表达式的方法。如果编译Expression对象不缓存,您能否推荐一些最佳实践来减少编译时间或如果我手动缓存表达式可能导致问题的任何问题?publicMyResultTypeDoSomething(intarg1,intarg2){varresult=invokeHandler((IDoSomethingHandlerh)=>h.DoSomething(arg1,arg2));returnresult;}privateTResultinvokeHandler(Express

c# - c# lambdas 只存在于编译时吗?

这个问题在这里已经有了答案:WhatareC#lambda'scompiledinto?Astackframe,aninstanceofananonymoustype,or?(4个答案)关闭9年前。我说lambda表达式仅在编译时存在,并且一旦编译它们就变成表达式(LambdaExpression?)或委托(delegate),我对吗?

c# - 我可以使用 Roslyn 进行编译时代码重写吗?

比如我有classFoo:INotifyPropertyChanged{publiceventPropertyChangedEventHandlerPropertyChanged;publicintBar{get;set;}}我可以获取Foo类AST并在编译时将Bar重写为publicstringBar{get{returnthis.bar;}set{if(value!=this.bar){this.phoneNumberValue=value;PropertyChanged(this,newPropertyChangedEventArgs("Bar"));}}}.

c# - 这种闭包组合行为是 C# 编译器错误吗?

我在调查一些奇怪的对象生命周期问题时,发现了C#编译器的这种非常令人费解的行为:考虑以下测试类:classTest{delegateStreamCreateStream();CreateStreamTestMethod(IEnumerabledata){stringfile="dummy.txt";varhashSet=newHashSet();varcount=data.Count(s=>hashSet.Add(s));CreateStreamcreateStream=()=>File.OpenRead(file);returncreateStream;}}编译器生成以下内容:int