小编bev*_*qua的帖子

ReSharper警告:"通用类型的静态字段"

public class EnumRouteConstraint<T> : IRouteConstraint
    where T : struct
{
    private static readonly Lazy<HashSet<string>> _enumNames; // <--

    static EnumRouteConstraint()
    {
        if (!typeof(T).IsEnum)
        {
            throw new ArgumentException(
                Resources.Error.EnumRouteConstraint.FormatWith(typeof(T).FullName));
        }

        string[] names = Enum.GetNames(typeof(T));
        _enumNames = new Lazy<HashSet<string>>(() => new HashSet<string>
        (
            names.Select(name => name), StringComparer.InvariantCultureIgnoreCase
        ));
    }

    public bool Match(HttpContextBase httpContext, Route route, 
                        string parameterName, RouteValueDictionary values, 
                        RouteDirection routeDirection)
    {
        bool match = _enumNames.Value.Contains(values[parameterName].ToString());
        return match;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是错的吗?我会假设这实际上有一个static readonly字段用于EnumRouteConstraint<T>我碰巧实例化的每一个.

c# generics resharper static asp.net-mvc-3

251
推荐指数
4
解决办法
4万
查看次数

LINQ To Entities无法识别方法Last.真?

在此查询中:

public static IEnumerable<IServerOnlineCharacter> GetUpdated()
{
    var context = DataContext.GetDataContext();
    return context.ServerOnlineCharacters
        .OrderBy(p => p.ServerStatus.ServerDateTime)
        .GroupBy(p => p.RawName)
        .Select(p => p.Last());
}
Run Code Online (Sandbox Code Playgroud)

我不得不把它切换到这个才能工作

public static IEnumerable<IServerOnlineCharacter> GetUpdated()
{
    var context = DataContext.GetDataContext();
    return context.ServerOnlineCharacters
        .OrderByDescending(p => p.ServerStatus.ServerDateTime)
        .GroupBy(p => p.RawName)
        .Select(p => p.FirstOrDefault());
}
Run Code Online (Sandbox Code Playgroud)

我甚p.First()至无法使用镜像第一个查询.

为什么在这样一个强大的ORM系统中存在这样的基本限制?

c# orm entity-framework

139
推荐指数
3
解决办法
5万
查看次数

表达式树可能不包含使用可选参数的调用或调用

表达式树可能不包含使用可选参数的调用或调用

return this.RedirectToAction<MerchantController>(x => x.Edit(merchantId));
Run Code Online (Sandbox Code Playgroud)

编辑有第二个可空的参数.

为什么是这样?

c# asp.net-mvc-3

125
推荐指数
3
解决办法
5万
查看次数

删除ax与ax =未定义

做其中任何一项都有什么实质性的区别吗?

delete a.x;
Run Code Online (Sandbox Code Playgroud)

VS

a.x = undefined;
Run Code Online (Sandbox Code Playgroud)

哪里

a = {
    x: 'boo'
};
Run Code Online (Sandbox Code Playgroud)

可以说它们是等价的吗?

(我没有考虑像"V8喜欢不用delete得更好"之类的东西)

javascript

125
推荐指数
3
解决办法
2万
查看次数

何时使用View而不是Table?

应该何时在实际的表上使用View?我应该期望这会产生什么收益?

总的来说,在表格上使用视图有什么好处?我不应该以视图首先看起来的方式设计表格吗?

sql database-design view

98
推荐指数
8
解决办法
9万
查看次数

CSS Selector不是元素类型的子元素?

我想设置code不在a标签内的元素.

实现这一目标的最佳方法是什么?

code:not(a code)似乎根本不起作用,至少在Chrome上,尽管看起来应该如此

我也无法从控制台上工作.

我可以使用其他任何css方法吗?

css css-selectors css3

65
推荐指数
2
解决办法
7万
查看次数

解决方案范围内的#define

有没有办法全局声明#define?

就像我想拥有一个文件,例如,

#define MONO
Run Code Online (Sandbox Code Playgroud)

我希望所有源代码文件都知道这个预处理器指令已经定义.我怎么做到这一点?

c# c-preprocessor

51
推荐指数
4
解决办法
3万
查看次数

代码是启发式无法访问的

与"检测到无法访问的代码"相比,这意味着什么?

c# resharper

43
推荐指数
2
解决办法
9962
查看次数

了解Modernizr对html5shiv的好处

我知道网站上有很多关于这两个脚本库的好问题.

我想问一些我似乎无法在其中找到的东西.

Modernizr提供的是什么,html5shiv没有开箱即用,也就是说,只包括脚本.

我知道html5shiv"只是"修复IE <9的HTML5元素,是否支持停止?

Modernizr是否修复了IE导航器上的CSS3问题?ie9.js那样做吗?(我的意思是这个特殊的问题开箱即用,没有额外的js代码来处理角落案例)

除了包含脚本之外,当您考虑使用库时,Modernizr优于html5shiv有什么优势?

javascript css html5 modernizr html5shiv

39
推荐指数
2
解决办法
2万
查看次数

C#文化:本地化DayOfWeek?

除了今天之外,我如何本地化DayOfWeek?
以下工作在当天适用:

DateTime.Now.ToString("dddd", new CultureInfo("it-IT"));
Run Code Online (Sandbox Code Playgroud)

但是我如何本地化一周的所有日子?

编辑:我想出的一个可能(也可能是非常非常错误的)解决方案可能是创建DateTime一整周的值,然后使用date.ToString("dddd", new CultureInfo("it-IT"));它们,但这在很多层面上似乎都是错误的.

c# culture dayofweek

32
推荐指数
1
解决办法
2万
查看次数