小编nph*_*phx的帖子

VS 2015 RTM web.config已声明全局元素"配置"

通过全新安装的VS 2015 RTM在3台PC上解决此问题.在VS 2013中打开文件时没有问题.修复中描述的步骤:全局元素"配置"已经声明,其他相关问题没有帮助,因为VS忽略了XML模式对话框上的任何更改.想法?

xml web-config visual-studio-2015

41
推荐指数
3
解决办法
7349
查看次数

将可区分联合传递给 InlineData 属性

我正在尝试对解析字符串并返回相应抽象语法树(表示为可区分联合)的解析器进行单元测试。我认为使用 Xunit.Extensions 的属性InlineData将所有测试用例堆叠在一起会非常紧凑:

[<Theory>]
[<InlineData("1 +1 ", Binary(Literal(Number(1.0)), Add, Literal(Number(1.0))))>]
...
let ``parsed string matches the expected result`` () =
Run Code Online (Sandbox Code Playgroud)

但是,编译器抱怨第二个参数不是文字(如果我理解正确的话,编译时间常量)。

有解决方法吗?如果不是,那么在将每个案例保持为单独的单元测试的同时构建解析器结果测试的最明智的方法是什么?

f# unit-testing xunit discriminated-union

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

如何以编程方式读取web.config值?

我使用asp.net和c#4.我有一个Web.Config文件

<globalization culture="auto:fr" uiCulture="fr"/>
Run Code Online (Sandbox Code Playgroud)

我想在Code Behind中以编程方式在新变量中获取此值.

var test = .......
Run Code Online (Sandbox Code Playgroud)

如何获得文化价值?

解决方案感谢您的回答:

Configuration config = WebConfigurationManager.OpenWebConfiguration("/");
GlobalizationSection section = (GlobalizationSection)config.GetSection("system.web/globalization");

OpenWebConfiguration("/"); // Point to Physical path for the Web.Config file (Useful when using Routing).

GetSection("system.web/globalization"); // Get the globalization section within the system.web node.
Run Code Online (Sandbox Code Playgroud)

c# asp.net web-config

6
推荐指数
1
解决办法
8045
查看次数

索引数组外的边界C#

我正在尝试用数组简化一些长语句,我在这里发现了类似的问题,但我无法解决我出错的地方.代码如下:

if (coursechoice.Text == ("Subsidiary Diploma"))
{               
    var grade = new[] { grade1, grade2, grade3, grade4, grade5, grade6, grade7, grade8, grade9, grade10, grade11, grade12, grade13, grade14, grade15, grade16, grade17, grade18 };
    var unitselect = new[] { unitselect1, unitselect2, unitselect3, unitselect4, unitselect5, unitselect6, unitselect7, unitselect8, unitselect9, unitselect10, unitselect11, unitselect12, unitselect13, unitselect15, unitselect16, unitselect17, unitselect18 };

for (var i = 3; i < 18; i++)
{                   
    grade[i].Enabled = false;
    unitselect[i].Enabled = false; // I get index out of bounds of the array …
Run Code Online (Sandbox Code Playgroud)

c# arrays

2
推荐指数
1
解决办法
233
查看次数

传递**作为参数

比方说,我想计算的总和2^nn范围从0到100,我可以写:

seq { 0 .. 100 }
|> Seq.sumBy ((**) 2I)
Run Code Online (Sandbox Code Playgroud)

但是,这不像(*)其他运算符/函数那样.问题在于F#使用(**)分隔注释,并且我对exponentiation操作符的使用被识别.我知道我可以说

Seq.sumBy (fun n -> 2I ** n)
Run Code Online (Sandbox Code Playgroud)

甚至

Seq.sumBy (( **) 2I)
Run Code Online (Sandbox Code Playgroud)

但是前者比必要的更冗长,而后者的额外空白对我来说是一个巨大的眼睛.

有没有一种标准的方法来处理上述用法(**)?也许是某种逃避?

f# functional-programming operators

2
推荐指数
1
解决办法
99
查看次数