我已多次搜索这个问题,但从未找到满意的答案.大多数答案似乎只是说" 是的,Bootstrap插件确实需要jQuery "或" 是的,如果不使用插件,你可以在没有jQuery的情况下使用BS ".Bootstrap对jQuery的依赖(如他们的快速入门所述)让我觉得这是一个糟糕的设计决策,至少有以下原因:
<script>
在BS之前编写jQuery 不允许使用现代捆绑器(如Webpack和SystemJS)进行非常清晰的依赖性解析.同样,他们为什么不使用某种基于模块的依赖?那么,有没有什么理由说BS开发人员选择依赖jQuery,尽管如此?我可能只是在他们的GitHub页面上直接向BS开发人员询问了一个问题,但我希望未来的googlers可以通过这些问题更容易理解这个问题.
更新:根据Bootstrap文档,jQuery依赖项将在"适度范围的v5版本"中删除,所以希望它将在2019年初到达.
我无法相信这个问题还没有在某个地方被问过; 一个相当彻底的谷歌搜索没有结果.Unity文档说明了这个Behaviour.isActiveAndEnabled
领域:
是否已启用行为已启用.
启用行为时为true,禁用时为false.
它说的是Behaviour.enabled
:
已启用行为已更新,已禁用行为.
这显示为行为检查器中的小复选框.
因此,有一篇文章详细阐述了"启用"意味着什么比另一个更重要.据我所知,这些字段在完全相同的条件下是真/假的!那么区别是什么呢?你什么时候用一个而不是另一个?非常感谢澄清!
对于.NET框架,我不是新手,我一直在编写利用它多年的C#软件.然而,前几天我想到了一个想法...... C#如何与.NET框架分离,并且关键字lock
和object
?像object derp = new object();
解析一样的语句System.Object derp = new System.Object();
,但System.Object被定义为.NET的一部分,不是吗?即使它是在mscorlib中定义的,这也意味着语言功能依赖于库.对于lock
解析调用Monitor.Enter()
和的语句也是如此Montior.Exit()
.显然,如果不使用.NET功能编写任何非玩具程序将是愚蠢/不可能的,但是语言如何依赖于主要使用该语言编写的库?
C#9几天前正式发布。一项新的语言功能是“目标类型的新表达式”,它的使用感觉与var
. 比较以下声明,我很好奇哪个性能更高(如果有的话),以及不同上下文应首选哪种语法。
var person = new Person()
与Person person = new()
。
对于收藏:
var people = new[] {
new Person(),
new Person(),
new Person(),
}
Run Code Online (Sandbox Code Playgroud)
与
var people = new Person[] {
new(),
new(),
new(),
}
Run Code Online (Sandbox Code Playgroud) TL; DR
有没有我可以用任何方式JSON变量替换与默认释放变量在VSTS?
描述
使用VSTS,我可以使用JSON变量替换appsettings.json
在发布时设置文件中的值.例如,使用如下所示的appsettings.json
文件:
{
"ConnectionStrings": {
"DM_ADJ": "placeholder",
"DM_SALES": "placeholder"
},
// And so on. Placeholders get replaced
}
Run Code Online (Sandbox Code Playgroud)
我可以在VSTS中定义一个Release变量ConnectionStrings.DM_ADJ
,并且我在那里提供的值将"placeholder"
在相应的JSON行中替换.
现在,我还想在我的应用程序配置中使用一些默认的Release变量.例如,有一些名为Release.DefinitionName
和的默认Release变量Release.DefinitionId
.我认为我可以将它们替换为appsettings.json
如下所示的配置部分,但不幸的是,当Release完成时,"placeholder"
字符串不会被替换.我错过了什么吗?
{
"Release": {
"DefinitionName": "placeholder",
"DefinitionId": "placeholder",
}
// And so on. Placeholders do not get replaced
}
Run Code Online (Sandbox Code Playgroud) json appsettings azure-devops azure-pipelines-release-pipeline
C#9几天前正式宣布,该语言最大的新增功能之一是使用data
关键字的新“记录”类型。这个新功能感觉与C#7.2的只读结构非常相似,所以我很困惑为什么要使用一个而不是另一个。具体来说:
data struct
over a readonly struct
?这些不完全一样吗?data readonly struct
吗?那不会是多余的吗?data class
over a readonly struct
?它们都实现了不变性和值类型相等,所以这只是一个性能问题(堆分配与作为参数传递时的复制)?加分点:我可以使用一些帮助来理解为什么“记录更改了简单成员声明......意味着什么的默认值”?我已经使用了足够多的企业代码来预测具有数十个成员的巨型数据类,没有经验的程序员会看到string FirstName;
并且不会考虑向上滚动以查找data
关键字,假设它是一个私有字段,而不是一个可公开访问的属性!
我在C#中有一个get-only属性返回一个IEnumerable
.如果该属性只会产生一次,那么我可以像这样定义我的属性:
public IEnumerable Derp {
get { yield return new SomeObject(); }
}
Run Code Online (Sandbox Code Playgroud)
但是我如何使用C#6表达身体的成员呢?下面的方法做不工作:
// These definitions do NOT work
public IEnumerable Derp => yield return new SomeObject();
public IEnumerable Derp => yield new SomeObject();
Run Code Online (Sandbox Code Playgroud)
返回编译器错误CS0103:"当前上下文中不存在名称'yield'".yield
在C#6中,即使是表达身体的成员也是可能的吗?在C#7怎么样?
我知道只返回一次的IEnumerable成员看起来很臭,但我主要只是好奇.我在尝试使用NUnit TestCaseSource
API 时遇到了这种情况,试图提供一种只产生一个测试用例的方法.我还可以看到这与Unity开发人员相关,他们希望定义一个使用StartCoroutine()调用的表达式身体方法.
无论如何,提前感谢您的想法!
我的根目录中有一个 .editorconfig 文件,适用于我的所有 Visual Studio 项目。它包含以下规则:
# Const field naming rules
dotnet_naming_symbols.const_fields.applicable_accessibilities = *
dotnet_naming_symbols.const_fields.required_modifiers = const
dotnet_naming_rule.const_fields.symbols = const_fields
dotnet_naming_rule.const_fields.style = all_upper
dotnet_naming_rule.const_fields.severity = warning
# Enum naming rules
dotnet_naming_symbols.enums.applicable_kinds = enum
dotnet_naming_rule.enums.symbols = enums
dotnet_naming_rule.enums.style = pascal_case
dotnet_naming_rule.enums.severity = warning
# Naming Styles
dotnet_naming_style.pascal_case.capitalization = pascal_case
dotnet_naming_style.all_upper.capitalization = all_upper
Run Code Online (Sandbox Code Playgroud)
EditorConfig 文件从上到下读取,最接近的 EditorConfig 文件最后读取。匹配的 EditorConfig 部分中的属性按照读取的顺序应用,因此较近文件中的属性优先。
根据这个推理,我的enums
规则应该“优先于”我的const_fields
规则。但是,以下枚举声明继续向我发出警告:
public enum AggregationMode {
Simultaneous,
Sequential,
}
Run Code Online (Sandbox Code Playgroud)
曰:Warning IDE1006 Naming rule violation: These words …
TL; DR有人知道Android.App.DialogFragment
Xamarin 为什么过时了,更重要的是,推荐使用什么类?
更多信息:
我在Xamarin.Android应用中收到以下警告:
警告CS0618'DialogFragment'已过时:'此类在此android平台中已过时'警告CS0618'Activity.FragmentManager'已过时:'不建议使用'
从以下代码中:
using Android.App;
void onClick(int pos) {
DialogFragment newFragment = new UsernameDialogFragment(_scans[pos]);
newFragment.Show(_activity.FragmentManager, "dialog");
}
public class UsernameDialogFragment : DialogFragment {
public override Dialog OnCreateDialog(Bundle savedInstanceState) {
var builder = new AlertDialog.Builder(Activity);
// Build the dialog...
return builder.Create();
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,我使用的是Android.App.DialogFrament
类,而不是中的类Android.Support.V4.App
。该onClick
方法是的一部分RecyclerView.Adapter
。
对于Xamarin这样的问题,令我感到沮丧的是,几乎没有足够的文档。IntelliSense警告不建议使用其他API,除非Google搜索“ DialogFrament已过时”,否则与Xamarin相关的内容均不存在,除非此旧论坛帖子建议使用过时的API,最糟糕的是,DialogFragment
API文档甚至都没有表明班级已经过时了!
一些版本信息:
Xamarin.Forms NuGet:v3.1.0.697729
Visual Studio 2017:v15.8.1
目标框架:Android 9.0(P)
最低Android版本:Android 5.0(API级别21-棒棒糖)
目标Android版本:Android 9.0(API级别27-Oreo) )
我试图使用 MSBuild 实现以下目标:我的主项目 ( MyProject.csproj
) 应包含几个Reference
项目,但其中一个项目的路径是由目标设置的属性Reference
值。SomeProperty
具体来说, 的值SomeProperty
是使用ReadLinesFromFileTask
.
以下是 的高级结构MyProject.csproj
:
<Project>
<Target Name="CreateSomeProperty">
<!-- Tasks that ultimately set $(SomeProperty) by parsing a value with ReadLinesFromFileTask -->
</Target>
<ItemGroup>
<Reference Include="$(SomeProperty)" />
<!-- Other Reference items -->
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
不幸的是,这个设置不起作用。Dependencies
我在 VS 解决方案资源管理器中的节点下看到那些黄色小三角形MyProject
,因为该项目正在寻找缺少字符的路径中的 DLL。The type or namespace name could not be found
同样,当我构建项目时,即使我仍然看到Message
目标内任务的输出,我也会收到一堆错误。据推测,在评估阶段加载项目失败CreatePathProperty
后,目标正在执行阶段运行。Reference
有没有办法让这样的设置有效?我尝试过在元素BeforeTargets="Build"
中设置Target
,然后InitialTargets="CreateSomeProperty"
在 …
c# ×7
.net ×1
android ×1
appsettings ×1
azure-devops ×1
azure-pipelines-release-pipeline ×1
c#-6.0 ×1
c#-7.0 ×1
c#-9.0 ×1
constants ×1
csproj ×1
editorconfig ×1
enums ×1
ienumerable ×1
immutability ×1
javascript ×1
jquery ×1
json ×1
msbuild ×1
msbuild-task ×1
unity5 ×1
var ×1
xamarin ×1
yield-return ×1