草庐IT

active_var_mask

全部标签

c# - 为什么 c# 编译器在使用具有 new() 约束的泛型类型调用 new 时发出 Activator.CreateInstance?

当你有如下代码时:staticTGenericConstruct()whereT:new(){returnnewT();}C#编译器坚持发出对Activator.CreateInstance的调用,这比native构造函数慢得多。我有以下解决方法:publicstaticclassParameterlessConstructorwhereT:new(){publicstaticTCreate(){return_func();}privatestaticFuncCreateFunc(){returnExpression.Lambda>(Expression.New(typeof(T)))

c# - 使用 Roslyn 获取 'var' 类型?

我有一个名为“test.cs”的.cs文件,它基本上看起来像:namespacetest{publicclassTestClass{publicvoidHello(){varx=1;}}}我试图用Roslyn解析它并获取x的类型,它应该是“int”,但我只能发现它的类型是“var”,我似乎无法获得实际的底层类型.这基本上就是我现在的代码varlocation="test.cs";varsourceTree=CSharpSyntaxTree.ParseFile(location);varroot=(CompilationUnitSyntax)sourceTree.GetRoot();fo

c# - 将 Active Directory 与用于 SPA 的 Web API 结合使用

我正在构建单页应用程序,我想知道用户的身份。我们的Intranet中有ActiveDirectory,但我对此知之甚少。我可以使用这样的代码来验证用户名和密码。using(PrincipalContextpc=newPrincipalContext(ContextType.Domain,"YOURDOMAIN")){boolisValid=pc.ValidateCredentials("myuser","mypassword");}事实上,这就是我在ActiveDirectory方面所需要的一切。所以我可以用这段代码创建一些AuthorizationFilter但这意味着用户名和密码必

c# - Activator.CreateInstance 找不到构造函数(MissingMethodException)

我有一个具有以下构造函数的类publicDelayCompositeDesigner(DelayCompositeCompositeObject){InitializeComponent();compositeObject=CompositeObject;}以及一个没有参数的默认构造函数。接下来我尝试创建一个实例,但它只能在没有参数的情况下工作:vardesigner=Activator.CreateInstance(designerAttribute.Designer);这工作得很好,但如果我想传递参数,它不会:vardesigner=Activator.CreateInstance

c# - 如何从 C# 中的显示名称获取 Active Directory 中的用户名?

我希望能够使用该用户的显示名称获取该用户在ActiveDirectory中的用户ID。显示名称是从数据库中获取的,并已在该用户的session期间存储,使用以下代码获取显示名称:usingSystem.DirectoryServices.AccountManagement;privatestringGetDisplayName(){//setupdomaincontextPrincipalContextctx=newPrincipalContext(ContextType.Domain);//findcurrentlyloggedinuserUserPrincipaluser=User

c# - var 与显式声明

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:UseofvarkeywordinC#你好,刚换了工作,我习惯了经常使用var。在我之前的工作中,我们做了很多TDD并使用了resharper。在这项工作中,他们讨厌第三方工具,这里的开发人员说一直使用var并不好,而且效率不如显式键入。前段时间我也这么想,但现在我已经习惯了,它让我的代码看起来更整洁。我读过一些帖子,似乎对它是否有效感到困惑。我读到使用var会产生相同的IL代码。那么它不应该那么有效吗?我在其他地方读到,即使使用var生成相同的IL代码,它也必须找出它是什么类型。那么“推断”到底是什么意思呢

c# - 如何使用 Roslyn 声明 var 变量?

我有以下代码,但找不到如何获取varTypeSyntax。有什么想法吗?Syntax.LocalDeclarationStatement(declaration:Syntax.VariableDeclaration(type:Syntax.PredefinedType(Syntax.Token(SyntaxKind.VarKeyword)),variables:Syntax.SeparatedList(Syntax.VariableDeclarator(identifier:Syntax.Identifier(name))))));这会失败并出现一个参数异常:“关键字”

c# - 为什么 var 在 "foreach (var row in table.Rows)"中评估为 System.Object ?

当我输入此foreach语句时...foreach(varrowintable.Rows)...var的工具提示显示classSystem.Object我很困惑为什么它不是classSystem.Data.DataRow。(如果您想知道,是的,我的代码文件顶部有usingSystem.Data。)如果我显式声明类型,如...foreach(DataRowrowintable.Rows)...它工作正常,没有错误。如果我这样做...varnumbers=newint[]{1,2,3};foreach(varnumberinnumbers)...var的计算结果为structSystem.

javascript - 'let 和 'var' 在 Typescript 中是一样的吗?

我正在查看AngularJS2和Typescript,我决定用它做点什么来学习Typescript的基础知识。通过许多研究,我发现了关于模块、Typescript的好话题,其中之一是谈论“let”和“var”命令来声明变量;根据this问题,下面的Typescript代码应该只显示一个警告并在控制台中抛出一个错误:测试.ts:for(leti=0;i编译的test.js:for(vari=0;i但事实并非如此。编译器“忽略”“let”命令并将其变成“var”命令。为什么会这样?Typescript是否仅适用于类?我正在为“npmstart”使用AngularJS配置,所以它会自动编译我

javascript - 为什么 JavaScript 中的参数前面没有 var 关键字?

这可能是个愚蠢的问题,但为什么JavaScript中的函数参数前面没有var关键字?为什么:functionfooAnything(anything){return'foo'+anyThing;}而不是:functionfooAnything(varanything){return'foo'+anyThing;}我感觉答案是因为规范就是这么说的,但仍然... 最佳答案 大多数动态类型编程语言没有在参数列表中有明确的变量。var关键字的目的是区分“我正在设置一个现有变量”和“我正在创建一个新变量”,如varx=17;//newvari