jjzjj

c# - 使用 Lambda 的属性构造函数

有可能这样做:publicstaticvoidSomeMethod(Expressionexpr){//LambdaExpressionhappilyexceptsanyExpessionLambdaExpressionlamb=expr;}并在别处调用它,为参数传递一个lambda:SomeMethod,Person>>(p=>p.FirstOrDefault());我想将表达式作为参数传递给属性构造函数。是否可以执行以下操作?classExpandableQueryAttribute:Attribute{privateLambdaExpressionsomeLambda;//cto

c# - 为什么这个赋值不是线程安全的?

我一直在阅读JosephAlbahari关于线程的这本书:http://www.albahari.com/threading/在第2部分中,我找到了这个示例:http://www.albahari.com/threading/part2.aspx#_When_to_Lock这是前面提到的例子:classThreadUnsafe{staticint_x;staticvoidIncrement(){_x++;}staticvoidAssign(){_x=123;}}线程安全版本:classThreadSafe{staticreadonlyobject_locker=newobject();

c# - 在 ASP.Net Web 应用程序数据层中实现静态方法是否安全?

我正在开发一个Web应用程序,它是一个B2B门户应用程序。我的应用程序遵循2层架构。下面是一段代码,将公司注册到我的网站//////RegisterCompanywiththebusinessbazaar/////////publicstaticboolRegisterCompany(Registrationregistration){boolresult;using(varhelper=newDbHelper()){_commandText="sp_RegisterCompany";varsuccess=newSqlParameter("@Success",SqlDbType.Bit

c# - 我可以将继承与扩展方法一起使用吗?

我有以下内容:publicstaticclassCityStatusExt{publicstaticstringD2(thisCityStatuskey){return((int)key).ToString("D2");}publicstaticclassCityTypeExt{publicstaticstringD2(thisCityTypekey){return((int)key).ToString("D2");}加上其他具有类似扩展名的类,这些类返回格式化为“D2”的key有没有一种方法可以从基类继承并让基类提供功能难道我不必重复相同的扩展方法代码吗?更新。很抱歉我没有提到这一点

C# 代码优化导致 Interlocked.Exchange() 出现问题

我在一些代码中遇到了一个令人沮丧的问题,并且不知道为什么会出现这个问题。////.NETFRAMEWORKv4.6.2ConsoleAppstaticvoidMain(string[]args){varlist=newList{"aa","bbb","cccccc","dddddddd","eeeeeeeeeeeeeeee","fffff","gg"};foreach(variteminlist){Progress(item);}}privatestaticint_cursorLeft=-1;privatestaticint_cursorTop=-1;publicstaticvoidP

c# - wpf - 将数据上下文绑定(bind)到单例类的静态属性

我发现自己对我的App类使用了很多单独的绑定(bind)来存储属性,这导致我遇到了无法追踪的stackoverflow异常。我现在决定将这些属性移动到一个单独的单例ApplicationInfo类,但我在绑定(bind)方面遇到了一些问题。如果我直接绑定(bind)到我的类的成员属性,例如CurrentUser,那么它工作正常。但是,当我尝试将数据上下文绑定(bind)到此类时,我遇到了编译器错误,而且我确信我忽略了一些简单的修改。我已经从此类中创建了一个单例,但现在当我尝试编译时,我收到错误“未知构建错误-键不能为空”,它指向我的Datacontext绑定(bind)以获取错误消息。

c# - 为什么此递归不产生 StackOverFlowException?

这段代码有什么问题:usingSystem;namespaceapp1{staticclassProgram{staticintx=0;staticvoidMain(){fn1();}staticvoidfn1(){Console.WriteLine(x++);fn1();}}}我使用这个命令编译这段代码:csc/warn:0/out:app4noex.exeapp4.cs当我双击exe时,它似乎没有抛出异常(StackOverFlowException),并一直运行下去。使用visualstudio命令提示符2010,但我还在系统上安装了vs2012,都是最新的。

c# - WPF 绑定(bind) : Static resource cannot be resolved

我尝试运行thisexample但我遇到了绑定(bind)问题。设计器突出显示错误Theresource"monthCollection"couldnotberesolved如何将Utility.MonthCollection用作本地资源?XAML部分:C#部分:namespaceFaceReport{internalclassUtility{publicenumReportFor{Choose,All,Group,Person}privatestaticDictionary_dictReportFor;publicstaticDictionaryReportForCollection

c# - C# 可以提供 static_assert 吗?

我正在寻找一种在C#编程语言中进行编译时断言的方法,例如C++的BOOST库或新的C++0x标准提供的断言。我的问题是双重的;这可以在标准的、可移植的C#中实现吗?或者,是否可以通过对给定C#编译器的怪癖进行不可移植的假设来实现该行为?在谷歌上快速搜索发现以下链接指向一个technique,我不确定其标准合规性和兼容性。 最佳答案 该方法与其他没有内置静态断言的语言(Delphi、较旧的C++等)相同:找到一种机制将要断言的条件转换为编译器不满意的条件,如果条件是假的。对于C#,最容易利用的机制之一是关于将负文字/常量分配给无符号类

c# - 枚举类

我正在寻找关于如何创建类枚举类的最佳实践,而不是数字包含字符串值。像这样:publicstaticclassCustomerType{publicstaticstringType1="CustomerType1";publicstaticstringType2="CustomerType2";}我会在整个应用程序中使用此类作为我需要CustomerType的所有情况的值。我不能使用枚举,因为这是遗留系统,像这样的值在任何地方都是硬编码的,我只是想将它们集中在一个地方。问题是,在上面的例子中,我应该使用它来声明一个变量吗:静态只读关键字常量关键字或只是静态的设置这些类别和值的最佳做法是什