小编Jul*_*ien的帖子

空传播特征和Razor视图

您好我有一个奇怪的问题.

我在这样的剃刀页面中使用了空传播功能

@(Model.ligneDossierLie?.dossier_id)
Run Code Online (Sandbox Code Playgroud)

我的项目基于4.6.1 Framework,我使用最后一个codeDom编译器1.0.4和编译器2.1.0

在剃须刀视图中,我有一条错误消息,说我不能在C#5中使用C#6功能.

但我的项目是使用c#7 ....

我回到c#6,它工作正常.

在这种情况下,有人知道如何使用c#7吗?

谢谢.

Web.config文件

 <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
    </compilers>
  </system.codedom>

compilerOptions="/langversion:6
Run Code Online (Sandbox Code Playgroud)

设置为7并且我回滚到6.之后我没有出现错误,我的观点正在编译并且正常工作

c# razor asp.net-mvc-5 c#-7.0

9
推荐指数
1
解决办法
1464
查看次数

Linq表达式树Any()问题

您好我使用.Any()扩展方法遇到了表达式树的问题.

这是我的代码:

IQueryable<Book> querableBooks = Books.Values.AsQueryable<Book>();

ParameterExpression pe = Expression.Parameter(typeof(Book), "book");

MemberExpression props = Expression.Property(pe, "properties");

ParameterExpression propList = Expression.Parameter(typeof(List<BookProperty>), "properties");

var _test = Expression.Lambda<Func<List<BookProperty>, bool>>(operation, new ParameterExpression[] { propList });

var _Any = Expression.Call(typeof(Enumerable), "any", new Type[] { typeof(BookProperty) }, new Expression[] { propList });

Expression Lamba = Expression.Lambda(_Any, _props);
Run Code Online (Sandbox Code Playgroud)

_test返回{properties =>((bookProperty.type.key =="lingerie")和(bookProperty.value =="1"))}

_Any返回{properties.Any()}

Lambda返回{book.properties => properties.Any()}

Book类是这样的:

 public class Book : IBook
    {

        public int id { get; set; }
//Removed for clarity
        public List<BookProperty> properties { …
Run Code Online (Sandbox Code Playgroud)

c# linq expression-trees

2
推荐指数
1
解决办法
941
查看次数

标签 统计

c# ×2

asp.net-mvc-5 ×1

c#-7.0 ×1

expression-trees ×1

linq ×1

razor ×1