C# 定制价值注入
我对如何在没有定义源属性的情况下注入值有疑问。 所以我有两门课: User.csC# 定制价值注入,c#,.net,asp.net-mvc-3,valueinjecter,C#,.net,Asp.net Mvc 3,Valueinjecter,我对如何在没有定义源属性的情况下注入值有疑问。 所以我有两门课: User.cs public class User { public int UserId { get; set; } public string UserName { get; set; } } 和UserViewModel.cs public class UserViewModel { public int UserId { get; set; } public string UserName
public class User
{
public int UserId { get; set; }
public string UserName { get; set; }
}
和UserViewModel.cs
public class UserViewModel
{
public int UserId { get; set; }
public string UserName { get; set; }
public string RoleName { get; set; }
}
如何注射蛋氨酸?我需要调用我的服务来检查数据库用户的角色。我不想让呼叫的服务得到这样的属性:
public string RoleName
{
get { return Roles.GetRolesForUser(UserName).FirstOrDefault(); }
}
我想使用值注入器来实现这一点。
提前感谢您如果您真的想通过valueinjection实现这一点,您可以这样做:
public class SetRole : NoSourceValueInjection
{
protected override void Inject(object target)
{
dynamic t = target;
t.RoleName = Roles.GetRolesForUser(t.UserName).FirstOrDefault();
}
}
uvm.InjectFrom(user)
.InjectFrom<SetRole>();
public类SetRole:NoSourceValueInjection
{
受保护的覆盖无效注入(对象目标)
{
动态t=目标;
t、 RoleName=Roles.GetRolesForUser(t.UserName.FirstOrDefault();
}
}
uvm.InjectFrom(用户)
.InjectFrom();
如果您真的想通过valueinjection实现这一点,您可以这样做:
public class SetRole : NoSourceValueInjection
{
protected override void Inject(object target)
{
dynamic t = target;
t.RoleName = Roles.GetRolesForUser(t.UserName).FirstOrDefault();
}
}
uvm.InjectFrom(user)
.InjectFrom<SetRole>();
public类SetRole:NoSourceValueInjection
{
受保护的覆盖无效注入(对象目标)
{
动态t=目标;
t、 RoleName=Roles.GetRolesForUser(t.UserName.FirstOrDefault();
}
}
uvm.InjectFrom(用户)
.InjectFrom();