下图显示了我在 Visual Studio 2017 中不断收到的警告:
我从某个网站上得到了这个,并且尝试了各种各样的方法。有谁知道我怎样才能摆脱这个?
这是我的 .editorconfig 中与命名相关的部分:
###############################
# Naming Conventions #
###############################
# Style Definitions
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
dotnet_naming_style.camel_case_style.capitalization = camel_case
dotnet_naming_style.I_prefix_style.required_prefix = I
dotnet_naming_style.I_prefix_style.capitalization = pascal_case
# Use PascalCase for constant fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = warning
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
dotnet_naming_symbols.constant_fields.applicable_kinds = field
dotnet_naming_symbols.constant_fields.applicable_accessibilities = *
dotnet_naming_symbols.constant_fields.required_modifiers = const
# Use PascalCase for public fields
dotnet_naming_rule.pascal_case_for_public_fields.severity = warning
dotnet_naming_rule.pascal_case_for_public_fields.symbols = public_fields
dotnet_naming_rule.pascal_case_for_public_fields.style = pascal_case_style
dotnet_naming_symbols.public_fields.applicable_kinds = field
dotnet_naming_symbols.public_fields.applicable_accessibilities = public
# Interfaces must be PascalCase …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个自定义验证器,它将使用 OrmLite 检查数据库中是否存在实体。问题是 IRuleBuilder 的类型参数无法再从使用中推断出来。
我必须像这样编写方法调用:
RuleFor(r => r.Id).Exists<DtoName, int, EntityName>()
Run Code Online (Sandbox Code Playgroud)
但我想这样写:
Rulefor(r => r.Id).Exists<EntityName>()
Run Code Online (Sandbox Code Playgroud)
发生这种情况是因为 IRuleBuilder 有两个类型参数,并且该方法是扩展方法。是否有一种聪明、流畅的方法来设计这个并使函数调用最好像第二个版本一样?
这是我的扩展方法和验证器的代码:
public static class AbstractValidatorExtensions
{
public static IRuleBuilderOptions<T, TProperty> Exists<T, TProperty, U>(this IRuleBuilder<T, TProperty> ruleBuilder)
{
return ruleBuilder.SetValidator(new EntityExistsValidator<U>());
}
}
public class EntityExistsValidator<T> : PropertyValidator
{
public EntityExistsValidator() : base("Entity does not exist") {}
protected override bool IsValid(PropertyValidatorContext context)
{
return HostContext.Resolve<Repository>()
.Exists<T>((int)context.PropertyValue);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在制作一个 Chrome 扩展程序,我正在使用此代码根据请求“捕获”下载。
chrome.downloads.onCreated.addListener(function(downloadItem) {
});
Run Code Online (Sandbox Code Playgroud)
我想要的是阻止下载出现在下载栏上,读取我扩展中的文件,然后从计算机中删除该文件。
我试过使用 chrome.extensions.download.erase() 和 chrome.browsingData.remove() 但无济于事。
我怎样才能做到这一点?
Chrome API是否可以让用户从扩展程序弹出窗口或选项页面中分配键盘快捷键?如果不必转到扩展页面,请滚动到底部并打开键盘快捷菜单.
我成功地使菜单出现了mouseenter.我现在要做的是让它mouseleave在菜单本身的事件中消失.有关如何实现这一目标的任何想法?
<button mat-button [mat-menu-trigger-for]="menu"
#menuTrigger="matMenuTrigger" (mouseenter)="menuTrigger.openMenu()">
TRIGGER BUTTON
</button>
<mat-menu #menu="matMenu" [overlapTrigger]="false"
(mouseleave)="menuTrigger.closeMenu()">
<button mat-menu-item [routerLink]="['sources']">
<mat-icon>view_headline</mat-icon>
MENU CHOICE
</button>
</mat-menu>
Run Code Online (Sandbox Code Playgroud)