小编Aak*_*shM的帖子

使用VS 2010 Professional执行.NET 4.0静态代码分析(FxCop)

我有VS 2010 Professional(与Premium不同,它包括访问IDE中的代码分析配置),以及包含许多项目的C#4解决方案.我想做静态代码分析作为解决方案编译的一部分.

我在SO和Google的帮助下确定的可能方式是:

  • 编辑.csproj解决方案中的每个内容,以包含独立FxCop 10作为Post-build事件的调用.优点:每次编译时都会重建每个重建的项目.缺点:必须采取额外措施以确保新项目具有此指定

  • 由于项目依赖性,创建一个新项目,或识别始终最后构建的现有项目.给(仅)项目一个Post-build事件,该事件在(公共)输出文件夹中的所有程序集上运行FxCop.优点:只有一个文件需要更新,未来项目未被分析的可能性较小.缺点:构建依赖关系的变幻莫测可能意味着这实际上不起作用

  • 使用在任何构建之后运行FxCop的加载项或宏更新所有开发人员的VS实例.根本不喜欢这个想法.

还有其他选择,明显优于上述任何选项吗?我需要注意哪些警告或观察才能完成上述工作之一?

我还希望FxCop作为MSBuild 4.0构建服务器上的动态构建的一部分运行.哪个选项允许我在桌面编译和bulid服务器编译之间重用代码分析规则集?


我已经阅读了相关但不完全相同的已有问题,包括:

msbuild code-analysis fxcop visual-studio-2010

8
推荐指数
1
解决办法
5166
查看次数

如何创建表达式树以执行与"StartsWith"相同的操作

目前,我有这种方法来比较两个数字

Private Function ETForGreaterThan(ByVal query As IQueryable(Of T), ByVal propertyValue As Object, ByVal propertyInfo As PropertyInfo) As IQueryable(Of T)

    Dim e As ParameterExpression = Expression.Parameter(GetType(T), "e")
    Dim m As MemberExpression = Expression.MakeMemberAccess(e, propertyInfo)
    Dim c As ConstantExpression = Expression.Constant(propertyValue, propertyValue.GetType())
    Dim b As BinaryExpression = Expression.GreaterThan(m, c)
    Dim lambda As Expression(Of Func(Of T, Boolean)) = Expression.Lambda(Of Func(Of T, Boolean))(b, e)
    Return query.Where(lambda)

End Function
Run Code Online (Sandbox Code Playgroud)

它工作正常,并以这种方式消费

query = ETForGreaterThan(query, Value, propertyInfo)
Run Code Online (Sandbox Code Playgroud)

如您所见,我给它一个IQueryable集合,并根据属性和值为它添加一个where子句.Y可以构造Lessthan,LessOrEqualThan等等System.Linq.Expressions.Expression预定义此运算符.

¿如何转换此代码以对字符串执行相同操作?System.Linq.Expressions.Expression不给我一个预定义的运算符,如"contains"或"startwith",我真的是表达树的noob.

谢谢,请在C#/ VB中发布您的答案.选择让您感觉更舒适的那个.

.net c# vb.net lambda expression-trees

8
推荐指数
2
解决办法
6257
查看次数

更改Azure数据库端口

是否可以更改azure服务器使用的端口?我目前只看到添加可用于访问服务器的IP地址的功能.或者是否要求防火墙允许端口1433出站流量?

azure azure-sql-database

8
推荐指数
1
解决办法
5080
查看次数

你如何在魔兽世界的作品中使用lua组合两种表情?

你如何在魔兽世界的作品中使用lua组合两种表情?

function Button2_OnClick()
    PlaySoundFile("Interface\\Addons\\Fart\\common_fart[1].wav");
    DoEmote("moon");
    DoEmote("sit");
    DoEmote("dance");
    DoEmote("beckon");
end
Run Code Online (Sandbox Code Playgroud)

我正在使用Wow Addon Studio在Wow上制作一个屁应用程序.我使用了这个功能,只有坐姿运动显示,而招手和月亮只显示在聊天窗口.舞蹈表演并没有出现在任何地方.

lua world-of-warcraft

7
推荐指数
1
解决办法
3013
查看次数

当找不到值时,C#List <T> .BinarySearch返回值

List<T>如果项目不存在,我对BinarySearch方法感到困惑.

我有

List<long> theList = {1, 3, 5, ...}.
Run Code Online (Sandbox Code Playgroud)

theList.BInarySearch(0)返回0,并按theList.BInarySearch(3)预期返回1.

但是,如我所料,theList.BinarySearch(1)返回-2,而不是-1.MSDN手册说:"返回值:排序列表中项目的从零开始的索引,如果找到项目;否则,是负数,它是下一个元素的索引的按位补码,大于项目或,如果没有更大的元素,则为Count的按位补码."

一个"按位补码"?我在这里错过了什么,为什么会这样theList.BinarySearch(1) != -1

c# list generic-list

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

为什么类没有静态或常量属性以及同名的实例属性?

直到现在我才真正质疑过这个问题.我有一个包含许多字段的输入模型,我想通过输入模型显示属性的字符串名称,以便我的网格可以使用它们:

public class SomeGridRow
{
    public string Code { get;set; }
    public string Description { get;set; }

    public const string Code = "Code";
}
Run Code Online (Sandbox Code Playgroud)

显然,这给出了错误:

'SomeGridRow'类型已经包含'Code'的定义

为什么CLR无法应对两个同名的属性,在我看来,这两个属性是分开的?

string code = gridRow.Code;          // Actual member from instantiated class
string codeField = SomeGridRow.Code; // Static/Const
Run Code Online (Sandbox Code Playgroud)

我现在只是Fields在我的输入中使用一个子类,所以我可以使用SomeGridRow.Fields.Code.这有点乱,但它确实有效.

c#

7
推荐指数
1
解决办法
1092
查看次数

使用c#在连续纸上打印

我写了一个POS系统.我想在连续纸上打印,但我不知道如何实现这一目标.

我使用.net(C#).我尝试使用crystal report以及System.drawing类.

任何想法都会对我有所帮助......

.net c# printing crystal-reports

7
推荐指数
1
解决办法
4288
查看次数

我必须在所有类上实现IDisposable,还是基类足够?

我被告知我需要处理我的Entity Framework存储库类的实例,并创建了一个基类来强制执行此实现.

我需要咨询专家:IDisposable通过基类实现是否可以接受?

请注意,存储库类没有类成员变量.

/// Sample repository.  Note that I return List<T> as IEnumerable, 
/// and I use IDisposable 
///
public class CompanyRepository : DisposableBase, ICompanyRepository
{
    public IEnumerable<CompanyDetail> GetOneCompany(int? CompanyID)
    {
        var t = from c in _entities.CompanyDetail
                where c.CompanyID == CompanyID.Value
                select c;
        return t.ToList();
    }
}

/// <summary>
/// Disposable implementation based on advice from this link:
/// from Http://www.asp.net/entity-framework/tutorials/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application
/// </summary>
public class DisposableBase : IDisposable
{
    protected TLSAdminEntities1 _entities;

    public DisposableBase() …
Run Code Online (Sandbox Code Playgroud)

.net c# garbage-collection idisposable entity-framework-4.1

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

android - 在galaxy nexus上显示菜单按钮

我需要在galaxy nexus上显示一些活动的菜单按钮.我无法找到如何做到这一点,因为它默认隐藏它.我不想创建一个动作栏,因为它需要更多空间我想用于其他事情.当将"android:targetSdkVersion"值设置为低于14时,它似乎显示菜单按钮,但除此之外,它隐藏了它.顺便说一句,活动需要全屏,没有标题/动作栏.

非常奇怪的是,默认情况下,对于这么多地方(甚至是启动器),此按钮并未显示,并且在某些地方它确实存在.对于这么多Android设备来说,这样的按钮是非常基本的按钮.谷歌决定不仅如此,而是切换按钮更重要的是显示它默认显示(不知道是否可以隐藏它,但我猜不是,因为主页按钮在长按时不再做任何事情) .

无论如何,请帮助我.我对android 4很新.

android menu galaxy nexus-s android-4.0-ice-cream-sandwich

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

多个点是否构成一个圆圈?

如果我有20分,我如何检查这些点是否构成一个圆圈?它不一定是一个完美的圆圈.

例如,如果我每200ms存储鼠标的坐标(当用户移动鼠标时),我想看看用户是否做了圆形手势.我不能指望用户做一个完美的圈子.

algorithm geometry point gesture-recognition

7
推荐指数
1
解决办法
3262
查看次数