我在ASP.NET MVC应用程序中使用流畅的验证,我遇到了问题.这是我的规则:
RuleFor(x => x.SimpleList)
.SetCollectionValidator(new SimpleListValidator())
.When(x => x.Type == SimpleEnum.SpecificType);
Run Code Online (Sandbox Code Playgroud)
我想将x.Type param传递给SimpleListValidator,我该怎么做?某种延伸方法?它应该看起来像:
RuleFor(x => x.SimpleList)
.SetCollectionValidator(new SimpleListValidator(x => x.Type))
.When(x => x.Type == SimpleEnum.SpecificType);
Run Code Online (Sandbox Code Playgroud) 我想查询我昨天参与的 Azure DevOps 的所有工作项。
现在我正在使用以下查询:
所以我得到了昨天更改的所有工作项,所以没关系,但问题是“更改者”返回最后一个修改工作项的人。因此,如果其他人对工作项执行了某些操作,他会覆盖“更改者”字段,并且此查询的结果并不像我预期的那样。
我想显示我昨天参与的所有工作项目 - 我已更改状态、分配给人员、发表评论等 - 我想查询所有这些项目。
有可能吗?
我们将整合Dynamics NAV 2013与PHP电子商务,并计划通过动态导航Web服务实现这一目标.我知道要与PHP集成我必须启用NTLM身份验证,但我想知道是否可以发布不需要登录/密码授权的Web服务?
第二件事,如果我只想允许指定的IP访问我的Web服务,是否可以在Navision中执行此操作或者它的服务器管理员问题?
我在想什么是比较两个不同枚举值的最佳方法.
例:
public enum ExampleEnumA
{
ExampleValue
}
public enum ExampleEnumB
{
ExampleValue
}
if (ExampleEnumA.ExampleValue.ToString() == ExampleEnumB.ExampleValue.ToString())
{
}
Run Code Online (Sandbox Code Playgroud)
比较字符串工作,但我知道它不是最有效和最敏捷的方式.怎么做得更好?
编辑:
也许这是一个设计缺陷,但它是一个真正的项目的问题,而不是我对枚举的错误理解.这就是它的样子,没有时间重构整个方法.
public interface IProvider
{
Enum SectionType { get; }
}
public class FirstProvider : IProvider
{
public Enum SectionType
{
get { return ExampleEnumA.ExampleValue; }
}
}
public class SecondProvider : IProvider
{
public Enum SectionType
{
get { return ExampleEnumB.ExampleValue; }
}
}
public class Program
{
public void TmpMethod(Enum sectionType)
{
var provider = GetFromIoC... …Run Code Online (Sandbox Code Playgroud) c# ×2
asp.net-mvc ×1
azure-boards ×1
azure-devops ×1
dynamics-nav ×1
enums ×1
validation ×1
web-services ×1