dea*_*row -5 c# syntax asp.net-mvc
我正在尝试理解MVC,我认为我做得很好.但是我遇到了一种特殊的语法,我从MS样本中发现了一些我无法破译的语法!我想知道的是翻译成英文版,例如:"它返回一个IdentityUser类型的对象,它被传递给一个函数UserManager bla bla".如果你看下面的代码,它看起来像一个函数链?
return new UserManager<IdentityUser>(new UserStore<IdentityUser>(new UsersDbContext()));
Run Code Online (Sandbox Code Playgroud)
任何想法上面的意思取悦任何人?
Eri*_*ert 12
你的问题很模糊.我没有回答这个问题,而是让我描述一下如何理解它.
return new UserManager<IdentityUser>(new UserStore<IdentityUser>(new UsersDbContext()));
Run Code Online (Sandbox Code Playgroud)
我会为每个子表达式引入一个临时变量.所以,这与:
var userManager = new UserManager<IdentityUser>(new UserStore<IdentityUser>(new UsersDbContext()));
return userManager;
Run Code Online (Sandbox Code Playgroud)
我们可以进一步分解吗?是.
var userStore = new UserStore<IdentityUser>(new UsersDbContext());
var userManager = new UserManager<IdentityUser>(userStore );
return userManager;
Run Code Online (Sandbox Code Playgroud)
我们可以进一步分解吗?是.
var context= new UsersDbContext();
var userStore = new UserStore<IdentityUser>(context);
var userManager = new UserManager<IdentityUser>(userStore );
return userManager;
Run Code Online (Sandbox Code Playgroud)
我们可以进一步分解吗?没有.
这个新程序对你来说更容易理解吗?如果没有,请提出更具体的问题.
记住,你可以(几乎!)总是重构一个程序,使表达式被赋值给有意义的变量; 当你感到被表达式的复杂性所淹没时,这是一种很好的技巧,因为它将一个有意义的标签 - 一个抽象 - 与每个部分相关联.
归档时间: |
|
查看次数: |
437 次 |
最近记录: |