小编joe*_*iks的帖子

如何从Roslyn脚本文件加载引用的脚本库?

我发现我无法轻易地从另一个脚本库加载:

module.csx

string SomeFunction() {
   return "something";
}
Run Code Online (Sandbox Code Playgroud)

script.csx

ExecuteFile("module.csx");
SomeFunction() <-- causes compile error "SomeFunction" does not exist
Run Code Online (Sandbox Code Playgroud)

这是因为编译器在编译script.csx afaiu时不知道module.csx.我可以添加另一个脚本来加载那个文件中的两个文件,这样就行了.不过那不是那么漂亮.

相反,我喜欢在脚本中检查脚本中的特殊语法"load module",并在实际脚本执行之前执行这些模块.

script.csx

// load "module.csx"
SomeFunction()
Run Code Online (Sandbox Code Playgroud)

现在,通过一些基本的字符串处理,我可以确定要加载哪些模块(包含// load的行...)并加载这些文件(请点击https://gist.github.com/4147064):

foreach(var module in scriptModules) {
   session.ExecuteFile(module);
}
return session.Execute(script)
Run Code Online (Sandbox Code Playgroud)

但是 - 既然我们正在谈论Roslyn,那么应该有一些很好的方法来解析我正在寻找的语法脚本,对吧?

它甚至可能存在一种处理模块代码库的方法?

c# roslyn

5
推荐指数
2
解决办法
1145
查看次数

指令中的条件外部标记(即<strong>)

我喜欢有条件地将标签放在某些内容之外的指令(但始终打印内容),如下所示:

<p><strong ng-if-always-keep-inner-content="model.condition">{{model.text}}</strong>/p>
Run Code Online (Sandbox Code Playgroud)

所以如果条件是真的我得到

<p><strong>yada yada</strong></p>
Run Code Online (Sandbox Code Playgroud)

否则我明白了

<p>yada yada</p>
Run Code Online (Sandbox Code Playgroud)

我可以自己编写,但我想知道是否可以使用内置指令/选项.

我或许应该说这与Bootstrap一起使用,afaiu建议使用<strong> vs某些带粗体字的类.

directive angularjs

5
推荐指数
1
解决办法
2935
查看次数

为什么我不能将if和eval结合起来?最新的选择是什么?

在Asp Net数据绑定控件中,可以使用漂亮的Eval()语法:

<div><%# Eval("MyProp") %></div>
Run Code Online (Sandbox Code Playgroud)

但是它不可能与条件语句结合使用吗?:

<% if (Eval("MyProp")!="") { %>
<div><%# Eval("MyProp") %></div>
<%} %>
Run Code Online (Sandbox Code Playgroud)

有这个选择会很高兴.

所以 - 我的选择是将部分标记放在CodeBehind中.我真的很喜欢把它放在那里.还有其他可能吗?

asp.net

4
推荐指数
1
解决办法
3987
查看次数

枚举Simple.Data.SimpleRecord中的动态成员(和值)

我试图用Simple.Data.SimpleRecord做一些映射,并试图遍历成员:

foreach (string memberName in Model.GetDynamicMemberNames())
{
    Console.Write Model.GetValueByMemberName(memberName); // or something
}
Run Code Online (Sandbox Code Playgroud)

GetDynamicMemberNames()工作正常 - 但我没有找到GetValueByMemberName(),Member [].值或类似.它是一个DynamicObject,所以也许有一些我缺少的内置方法.

PS我在这里错过了一个SimpleData标签.它会很大:-) https://github.com/markrendle/Simple.Data

c# dynamic simple.data

4
推荐指数
1
解决办法
1677
查看次数

在C#中声明实例

我是否必须在c#中"双重声明"每个新实例?

Obj sb = new Obj(); 
Run Code Online (Sandbox Code Playgroud)

VB比较便宜

Dim sb as new Obj() 
Run Code Online (Sandbox Code Playgroud)

和Python最便宜

sb=Obj()
Run Code Online (Sandbox Code Playgroud)

c# syntax

0
推荐指数
1
解决办法
176
查看次数

标签 统计

c# ×3

angularjs ×1

asp.net ×1

directive ×1

dynamic ×1

roslyn ×1

simple.data ×1

syntax ×1