[英]What does “Property where class => someFunction” mean in C#
它是一個表達身體的成員 ,是C#6中的一種新語法。
這是一種方法,而不是財產。 C#不允許通用屬性。
它是一樣的
public virtual DbSet<TEntity> Set<TEntity>() where TEntity : class
{
return _setInitializer.Value.CreateSet<TEntity>(this);
}
這種語法確實有點令人困惑,但實際上這里的lambda構造與泛型約束無關。 它只是一個表達式身體方法碰巧有一個通用約束。
您可以將其視為:
public virtual DbSet<TEntity> Set<TEntity>() where TEntity : class
{
return _setInitializer.Value.CreateSet<TEntity>(this);
}
請參閱Roslyn Wiki
這是一個名為Expression Bodied Method的C#6.0功能。
在這里閱讀它。
代碼相當於:
public virtual DbSet<TEntity> Set<TEntity>() where TEntity : class
{
return _setInitializer.Value.CreateSet<TEntity>(this);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.