我有VS 2010 Professional(与Premium不同,它不包括访问IDE中的代码分析配置),以及包含许多项目的C#4解决方案.我想做静态代码分析作为解决方案编译的一部分.
我在SO和Google的帮助下确定的可能方式是:
编辑.csproj解决方案中的每个内容,以包含独立FxCop 10作为Post-build事件的调用.优点:每次编译时都会重建每个重建的项目.缺点:必须采取额外措施以确保新项目具有此指定
由于项目依赖性,创建一个新项目,或识别始终最后构建的现有项目.给(仅)项目一个Post-build事件,该事件在(公共)输出文件夹中的所有程序集上运行FxCop.优点:只有一个文件需要更新,未来项目未被分析的可能性较小.缺点:构建依赖关系的变幻莫测可能意味着这实际上不起作用
使用在任何构建之后运行FxCop的加载项或宏更新所有开发人员的VS实例.根本不喜欢这个想法.
还有其他选择,明显优于上述任何选项吗?我需要注意哪些警告或观察才能完成上述工作之一?
我还希望FxCop作为MSBuild 4.0构建服务器上的动态构建的一部分运行.哪个选项允许我在桌面编译和bulid服务器编译之间重用代码分析规则集?
我已经阅读了相关但不完全相同的已有问题,包括:
目前,我有这种方法来比较两个数字
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中发布您的答案.选择让您感觉更舒适的那个.
是否可以更改azure服务器使用的端口?我目前只看到添加可用于访问服务器的IP地址的功能.或者是否要求防火墙允许端口1433出站流量?
你如何在魔兽世界的作品中使用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上制作一个屁应用程序.我使用了这个功能,只有坐姿运动显示,而招手和月亮只显示在聊天窗口.舞蹈表演并没有出现在任何地方.
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?
直到现在我才真正质疑过这个问题.我有一个包含许多字段的输入模型,我想通过输入模型显示属性的字符串名称,以便我的网格可以使用它们:
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.这有点乱,但它确实有效.
我写了一个POS系统.我想在连续纸上打印,但我不知道如何实现这一目标.
我使用.net(C#).我尝试使用crystal report以及System.drawing类.
任何想法都会对我有所帮助......
我被告知我需要处理我的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) 我需要在galaxy nexus上显示一些活动的菜单按钮.我无法找到如何做到这一点,因为它默认隐藏它.我不想创建一个动作栏,因为它需要更多空间我想用于其他事情.当将"android:targetSdkVersion"值设置为低于14时,它似乎显示菜单按钮,但除此之外,它隐藏了它.顺便说一句,活动需要全屏,没有标题/动作栏.
非常奇怪的是,默认情况下,对于这么多地方(甚至是启动器),此按钮并未显示,并且在某些地方它确实存在.对于这么多Android设备来说,这样的按钮是非常基本的按钮.谷歌决定不仅如此,而是切换按钮更重要的是显示它默认显示(不知道是否可以隐藏它,但我猜不是,因为主页按钮在长按时不再做任何事情) .
无论如何,请帮助我.我对android 4很新.
如果我有20分,我如何检查这些点是否构成一个圆圈?它不一定是一个完美的圆圈.
例如,如果我每200ms存储鼠标的坐标(当用户移动鼠标时),我想看看用户是否做了圆形手势.我不能指望用户做一个完美的圈子.