小编emr*_*mre的帖子

c#泛型自引用声明

我一直在阅读Albaharis的"C#5.0 in A Nutshell",我在Generics部分遇到过这个问题,据说这是合法的:

class Bar<T> where T : Bar<T> { ... }
Run Code Online (Sandbox Code Playgroud)

尽管我仔细阅读了整章,但这对我来说毫无意义.我甚至无法理解它.

有人可以用一些可以理解的命名来解释它,例如:

class Person<T> where T : Person<T> { ... }
Run Code Online (Sandbox Code Playgroud)

还有一个真实的应用场景,这种用法是否合适且有用?

c# self-reference

14
推荐指数
1
解决办法
1939
查看次数

在 Nhibernate QueryOver 中使用计算属性(未映射)

我有一个表 A,它有以下列:

AId - TargetId - IsActive

对应于这个表,我有以下类(带有额外的计算属性)和映射器:

public class A 
{
    public virtual long AId { get; set; }
    public virtual int TargetId { get; set; }
    public virtual int IsActive { get; set; }

    //calculated property, doesn't exist in the table
    public virtual bool IsClientSide
    {
        get { return ((this.TargetId & TargetEnum.ClientSide) != 0); }
    }
}
Run Code Online (Sandbox Code Playgroud)
using NHibernate.Mapping.ByCode;
using NHibernate.Mapping.ByCode.Conformist;
using NHibernate.Type;
using ANamespace.A;

namespace mapping 
{
    public class AMap : ClassMapping<A> 
    {
        public AMap() 
        {
            this.Cache(x …
Run Code Online (Sandbox Code Playgroud)

c# sql linq nhibernate

5
推荐指数
1
解决办法
2008
查看次数

标签 统计

c# ×2

linq ×1

nhibernate ×1

self-reference ×1

sql ×1