小编Rus*_*sby的帖子

在Roslyn中使用System.Dynamic

我修改了昨天发布的新版Roslyn附带的示例,以使用动态和ExpandoObject,但我收到编译器错误,我不知道如何修复.错误是:

(7,21):错误CS0656:缺少编译器所需的成员'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'

你能否在新的编译器中使用动态?我怎样才能解决这个问题?以下是我更新的示例:

[TestMethod]
public void EndToEndCompileAndRun()
{
    var text = @"using System.Dynamic;
    public class Calculator
    {
        public static object Evaluate()
        {
            dynamic x = new ExpandoObject();
            x.Result = 42;
            return x.Result;
        } 
    }";

    var tree = SyntaxFactory.ParseSyntaxTree(text);
    var compilation = CSharpCompilation.Create(
        "calc.dll",
        options: new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary),
        syntaxTrees: new[] {tree},
        references: new[] {new MetadataFileReference(typeof (object).Assembly.Location), new MetadataFileReference(typeof (ExpandoObject).Assembly.Location)});

    Assembly compiledAssembly;
    using (var stream = new MemoryStream())
    {
        var compileResult = compilation.Emit(stream);
        compiledAssembly = Assembly.Load(stream.GetBuffer());
    }

    Type calculator = compiledAssembly.GetType("Calculator");
    MethodInfo evaluate …
Run Code Online (Sandbox Code Playgroud)

c# roslyn

94
推荐指数
3
解决办法
3万
查看次数

将自定义消息添加到单元测试结果

有没有办法可以在测试方法的结果中添加自定义消息?我想在代码的一部分上放一个秒表,看看它的运行时间.我不需要测试它是否在某个时间范围内运行,只是想在结果窗口中看到经过的时间是多少.

c# unit-testing mstest visual-studio-2010

35
推荐指数
3
解决办法
3万
查看次数

剃刀引擎模板中的类

是否可以在模板中创建类?就像是...

@{
    public class MyClass {
        public MyClass() {
            Three = new List<string>();
        }

        public string One { get; set; }
        public int Two { get; set; }
        public List<string> Three { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

目前我得到"无法编译模板.请查看错误列表以获取详细信息." 当我试着这样做的时候.我想获取XML内容并使用XmlSerializer在模板中创建MyClass的实例.我不能事先进行反序列化并将其推入模型中,因为类可能因模板而异.

c# razor

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

Linq中的平均扩展方法为默认值

有谁知道如何设置平均值的默认值?我有这样一条线......

dbPlugins = (from p in dbPlugins
                select new { Plugin = p, AvgScore = p.DbVersions.Average(x => x.DbRatings.Average(y => y.Score)) })
            .OrderByDescending(x => x.AvgScore)
            .Select(x => x.Plugin).ToList();
Run Code Online (Sandbox Code Playgroud)

由于我还没有收视率,因此会引发错误.如果我没有,我希望平均值默认为0.我认为这应该是一个扩展方法,我可以指定默认值应该是什么.

.net c# sql linq average

18
推荐指数
1
解决办法
8392
查看次数

Windows phone 7 config/appSettings?

有没有办法为WP7应用程序添加配置文件,例如Windows应用程序和Web应用程序?我只需要一种简单的方法来保存一些设置,我宁愿不创建自己的对象,也必须序列化/反序列化一个xml文件.似乎没有任何类型的项目模板可以添加到我的项目中,所以只是想知道是否有人在最佳方式上做了这个或一个想法?

c# windows xaml silverlight-4.0 windows-phone-7

13
推荐指数
3
解决办法
1万
查看次数

使用JavaScript或jQuery手动更新UpdatePanel

是否可以使用JavaScript或jQuery手动更新UpdatePanel?

我所拥有的是我页面顶部的TextBox.当用户离开TextBox我想运行一些服务器代码(它会将记录添加到我的数据库),然后在页面底部我有一个UpdatePanel,它将被刷新.UpdatePanel有一个GridView,它将为添加的记录添加一个条目)

.net javascript asp.net jquery updatepanel

12
推荐指数
3
解决办法
5万
查看次数

检索自定义属性参数值?

如果我创建了一个属性:

public class TableAttribute : Attribute {
    public string HeaderText { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我在课堂上申请了一些我的房产

public class Person {
    [Table(HeaderText="F. Name")]
    public string FirstName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在我的视图中,我有一个显示在表格中的人员列表..如何检索HeaderText的值以用作我的列标题?就像是...

<th><%:HeaderText%></th>
Run Code Online (Sandbox Code Playgroud)

c# custom-attributes

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

Ninject属性注入返回null

我有一个WinForms应用程序,代码如下:

static void Main()
{
    IKernel kernel = new StandardKernel(new MyModule());
    TestInterface test = kernel.Get<TestInterface>();
}
Run Code Online (Sandbox Code Playgroud)

对于Module.Load()事件:

Bind<TestClass>().ToSelf().InSingletonScope();
Bind<TestInterface>().To<TestClass>();
Run Code Online (Sandbox Code Playgroud)

此时testMain()方法是我期待适当的对象.

在稍后的表单中,我正在使用属性注入:

[Inject]
TestInterface test {get;set;}
Run Code Online (Sandbox Code Playgroud)

一旦表单被加载,尝试使用test,但它是一个空对象.

思考?

c# ninject winforms

9
推荐指数
1
解决办法
5268
查看次数

jquery tmpl格式化日期?

我正在使用jquery tmpl在表中显示一堆结果.其中一个是我在模板中输出的日期:

<td class="textAlignRight">${EffectiveDate}</td>
Run Code Online (Sandbox Code Playgroud)

但它的格式为"/ Date(1245398693390)/".如何更改它,使其格式化为m/dd/yyyy h:mm tt?

jquery templates json

8
推荐指数
1
解决办法
1万
查看次数

更新observableArray不会更新UI

我在ko 2.0中使用无容器流量控制.当我更新observableArray中的项目时,它不会更新UI.我正在更新这样的数组:

this.editFormHost = function (formHost) {
    ...
    formHost.HostName = newHostName;
    this.formHosts[index] = formHost;
}
Run Code Online (Sandbox Code Playgroud)

我认为它不会更新,因为通过索引更新数组不会调用ko中的任何内容.从查看文档看起来没有更新对象的方法,而这些方法又会更新UI.还是有吗?

javascript knockout.js

8
推荐指数
1
解决办法
7955
查看次数