Mik*_*din 3 c# constructor abstract-class
我正在尝试理解MVC框架中提供的以下类; 看起来这个类应该是抽象的,但它不是,但这个类编译.尽管缺少"抽象"关键字,该类实际上是抽象的吗?我在这里错过了什么?
namespace Microsoft.AspNet.Identity.EntityFramework
{
public class IdentityUser : IUser
{
public IdentityUser();
public IdentityUser(string userName);
public virtual ICollection<IdentityUserClaim> Claims { get; }
public virtual string Id { get; set; }
public virtual ICollection<IdentityUserLogin> Logins { get; }
public virtual string PasswordHash { get; set; }
public virtual ICollection<IdentityUserRole> Roles { get; }
public virtual string SecurityStamp { get; set; }
public virtual string UserName { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
获得的经验:如果没有为二进制文件提供源代码,在Visual Studio中使用"转到定义"将提供看起来大部分类似于源代码的东西......这与在Eclipse中使用"Open Declaration"不同,它将向您展示一些看起来不像源的东西.
LB2*_*LB2 10
这是Microsoft的类,我认为您通过Visual Studio中的"转到定义"上下文菜单检索了代码.此代码是通过反映类型自动生成的,仅用于显示声明而不是实现内容.如果您使用.NET Refector或dotReflect工具,那么您将看到实现的主体.