我可以将带有out参数的方法作为Func传递吗?
public IList<Foo> FindForBar(string bar, out int count) { }
// somewhere else
public IList<T> Find(Func<string, int, List<T>> listFunction) { }
Run Code Online (Sandbox Code Playgroud)
Func需要一个类型,因此不会在那里编译,并且调用listFunction需要一个int并且不允许输入.
有没有办法做到这一点?
我试过这是RC1,然后升级到RC2,但没有解决问题.
// in my controller
ViewData["UserId"] = new SelectList(
users,
"UserId",
"DisplayName",
selectedUserId.Value); // this has a value
Run Code Online (Sandbox Code Playgroud)
result:在对象上设置SelectedValue属性
// in my view
<%=Html.DropDownList("UserId", (SelectList)ViewData["UserId"])%>
Run Code Online (Sandbox Code Playgroud)
结果:所有预期选项都呈现给客户端,但未设置所选属性.SelectedValue中的项目存在于列表中,但列表中的第一项始终默认为选中.
我该怎么做?
更新 感谢John Feminella的回复,我发现了问题所在."UserId"是我的视图强类型化的模型中的属性.当Html.DropDownList("UserId"更改为除"UserId"之外的任何其他名称)时,将正确呈现所选值.
这导致值不受模型约束.
用于创建SQL Server 2008数据库自动备份的软件产品有哪些建议?
应该在不使数据库脱机/分离的情况下进行备份.
我想将控制器和视图分解为单独的类库,以便可以在多个ASP.NET MVC 3应用程序中重用它们.使用单独的程序集时控制器部分不是问题,但是让视图引擎定位视图是.
我最终使用将你的asp.net mvc Razor视图编译成一个单独的dll.
我错过了一种更简单的方法吗?
鉴于课程:
public class Foo
{
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
是否可以通过Convert.ChangeType从字符串创建Foo实例:
Type type = typeof(Foo);
object value = "one";
value = System.Convert.ChangeType(value, type);
Run Code Online (Sandbox Code Playgroud)
这是第三方API尝试重建对象的方式.有人提到这可能是隐式运算符,但从我的理解,我将执行以下操作,而不是创建对象:
Foo foo = new Foo() { Name = "one" };
string fooAsString = foo; // implicit conversion -- no cast needed
Run Code Online (Sandbox Code Playgroud)
有没有办法以这种方式创建对象?此外,如果有另一种方法,我可以更改Convert.ChangeType.
更新: 我问的原因是因为它抛出异常:
从'System.String'到'JibbaJabba + Foo'的转换无效.
并添加运营商没有解决问题.
我可以使用SelectMany在集合中展平子集合的结果:
// a list of Foos, a Foo contains a List of Bars
var source = new List<Foo>() { ... };
var q = source.SelectMany(foo => foo.Bar)
.Select(bar => bar.barId)
.ToList();
Run Code Online (Sandbox Code Playgroud)
这给了我Foo列表中所有Bar ID的列表.当我尝试深入三级时,返回错误的结果.
var q = source.SelectMany(foo => foo.Bar)
.SelectMany(bar => bar.Widget)
.Select(widget => widget.WidgetId)
.ToList();
Run Code Online (Sandbox Code Playgroud)
我应该如何使用SelectMany获取Foos列表中所有条形图中所有小部件的列表?
编辑 我错过上述句子,但代码反映了目标.我正在寻找所有Widget ID的列表,而不是小部件.
"不正确"的结果并非返回所有窗口小部件ID.
此wiki条目的目标是为错误的传统网站创建可用的富文本编辑器的完整列表.传统上,我们指的是任何不具有服务器控件和viewstate的asp.net.开源和商业选择都可以讨论.
我已经找到了许多编辑人员喜欢的用户反馈,但很多输入在可用解决方案中缺乏相同的比较.
应根据以下标准对编辑进行比较:(如果人们建议更多标准,我会很乐意在适当的时候添加它们)
请包括以下内容:
有待
无效,因为它是服务器端控件
无效,因为它是服务器端控件.我听说过一些人在谈论如何在asp.net mvc中使用rad套件,所以如果有人想要更详细地回顾这个问题,我会考虑不打折扣.
有待
有待
我在API中有一个方法,它采用纬度/经度坐标,并找到指定距离内的其他坐标.那个距离是弧度.
这些天我做的所有数学处理会计或者x,y坐标用于布置UI元素,所以我感谢一些帮助验证这些数字.
让我们忽视建筑物中的人(海拔高度)以及行星不是完美球形的事实.我的理解是,提供的方法在内部执行Haversine公式,但该细节与我隔离.
θ= s/r,其中θ是以弧度表示的对向角,s是弧长,r是半径
鉴于方便的地球平均半径:
6371公里(≈3,959英里)
我见过其他地方说(6378km)
这意味着地球上的1弧度等于弧长6371千米.这意味着寻找相距1米的坐标的弧度将是
(
1/6371 )×10 -7
ie - 1.56961231×10 -7.
是对的吗?如果不是以上哪里不正确?
我有一个用CodeDom创建的属性.如何将其设置为自动属性而不是为私有成员添加CodeFieldReferenceExpressions?
我有一个ASP.NET 3.5 SP1 Webforms应用程序.我使用带有DI(autofac)的MVP模式(监督控制器).我的演示者调用我的域(DDD)中定义的存储库合同,这些合同在基础结构项目中实现.
演示者调用的存储库方法可以是hork,因此我需要记录异常,然后在View上设置错误消息.
在过去,我会添加另一个参数来演示构造函数,存储在基地演示参考,并叫我Catch块日志方法.我真的不喜欢这个,但它完成了工作.
我可以使用工厂来获取此处所述的日志记录类,但我想首先探索AOP,因为它看起来很有趣.
我已经完成了关于编译时与运行时AOP的阅读,并且我想知道人们对不同解决方案,优缺点,建议词等的经验.
从挖掘过程来看,似乎在.NET中有4个主要的AOP框架
我看到另一个问题有一些很好的答案,但是从一年半前开始.是否有更新的"更好"的框架在此期间开发,或者对现有解决方案进行了哪些改进应该加以考虑?
作为参考,我选择了Autofac for DI,因为它流畅,易于使用,找不到任何负面评论,它只是有效.
是否有关于我应该尝试哪种AOP框架的建议?感谢阅读所有这些并添加任何想法.