小编Nyl*_*ska的帖子

参数类型'System.Action'不能赋予参数类型'void'

这是我的测试代码:

class PassingInActionStatement
{
    static void Main(string[] args)
    {
        var dsufac = new DoSomethingUsefulForAChange();

        dsufac.Do(WriteToConsole);
        dsufac.Do2(s => WriteToConsoleWithSomethingExtra("Test"));
        dsufac.Do(WriteToConsoleWithSomethingExtra("Test")); // Does not compile
    }

    internal static void WriteToConsole()
    {
        Console.WriteLine("Done");
    }

    internal static void WriteToConsoleWithSomethingExtra(String input)
    {
        Console.WriteLine(input);
    }
}

internal class DoSomethingUsefulForAChange
{
    internal void Do(Action action)
    {
        action();
    }

    internal void Do2(Action<String> action)
    {
        action("");
    }
}
Run Code Online (Sandbox Code Playgroud)

前2个电话有效,但我想知道为什么第3个电话没有.我不喜欢Do2中的代码,因为我action("")在那里有类型类型以使其工作似乎很奇怪.

有人可以解释一下我不明白的两件事吗?

  1. 为什么我不能通过调用Do来编写第三行
  2. 为什么我必须写动作("")才能让它在Do2中工作

c# c#-3.0

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

ASP.NET中的401.2的customerrors

我在ASP.NET中成功实现了基于角色的授权.当一个人没有所需的角色时,他会看到401.2未经授权的错误页面.

我现在想要完成的是在我的应用程序中有一个自定义的401页面,并通过web.config中的设置将其重定向到那里.我试过这个:

<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
    <error statusCode="401" redirect="NoAccess.htm" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)

但这并没有被抓住.我是否必须在IIS中覆盖它?我希望不会因为这会使事情更难部署.

asp.net custom-errors http-status-code-401

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

自动添加到visual studio中的自定义控件工具箱

在Visual Studio 2008中,有一项功能可以自动添加工具箱窗格,并添加我的Web应用程序项目或当前解决方案中的类库中的自定义控件.

在另一台电脑上,这不起作用,我想知道我必须启用哪个设置,可能在工具|中 选项......,为此.

我不是在寻找以下答案:右键单击工具箱,然后选择添加项目..我知道如何执行此操作但我正在寻找自动检测并在Visual Studio 2008中添加功能并在另一台PC上启用它.

toolbox visual-studio-2008

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

如何在HtmlHelper中获取当前路由?

一个后续问题:汇总字典问题.

我使用了Aggregate Linq功能但也许有更好,更干净的方法来做到这一点?

我可以从HtmlHelper获取当前路线吗?或者你的建议是什么?我想创建一个语言切换器,以便当我在页面/路由上并单击另一种语言时,请求相同的操作,但路由中使用另一种语言.

就像是

EN/Home/IndexFR/Home/Index

asp.net-mvc

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

onbeforeunload确认屏幕定制

是否可以在浏览器中为onbeforeunload事件创建自定义确认框?我试过但后来我得到了2个确认框(一个来自我,这只不过是返回确认...然后是浏览器中的标准框).

目前我的代码如下:

var inputChanged = false;

$(window).load(function() {
    window.onbeforeunload = navigateAway;
    $(':input').bind('change', function() { inputChanged = true; });
});

function navigateAway(){
    if(inputChanged){
        return 'Are you sure you want to navigate away?';
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用jQuery.

javascript confirm onbeforeunload

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

如何从Mac OS X Snow Leopard上的Ruby on Rails开始?

有没有关于如何安装和使用Mac OS X Snow Leopard的好教程?您还使用哪些工具?TextMate?或者是其他东西?

在Windows平台上进行多年的ASP.NET开发后,我正在尝试使用RoR的第一步,但我很想知道其他事情以及成为更好的开发人员.

macos ruby-on-rails

6
推荐指数
2
解决办法
6165
查看次数

Lambda表达式如何在List <String>上执行String.Format?

我有一个列表,如:

List<String> test = new List<String> {"Luke", "Leia"};
Run Code Online (Sandbox Code Playgroud)

我想用这样的东西:

test.Select(s => String.Format("Hello {0}", s));
Run Code Online (Sandbox Code Playgroud)

但它不会调整列表中的名称.有没有办法使用lambda表达式来改变这些?或者是因为字符串是不可变的,这不起作用?

c# lambda

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

将NHibernate与WCF一起使用时要注意什么?

我只是NHibernate和WCF的简单初学者.我想在我的存储库所在的类库中使用NHibernate作为我的ORM.我还需要使用WCF来公开我的业务逻辑,并将我的存储库放在公司的其他部分之后.

是否有一些关于如何完成此任务的良好文档?是否有提前照顾的陷阱?任何推荐的阅读/书籍?

我正在寻找有关如何在WCF中最好地集成NHibernate的信息.我是否使用HttpModule,必须在我的服务层的global.asax中连接一些东西(使用IIS托管,所以我去了一个Web应用程序项目开始).我是按照要求或其他方式参加会议吗?

.net architecture nhibernate orm wcf

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

在WPF中将文本块添加到椭圆

如何在WPF/Silverlight中将TextBlock添加到Ellipse?

silverlight wpf ellipse textblock

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

在javascript中确定调用函数

可能重复:
你如何在JavaScript中找到调用者函数?

如何在javascript函数中找到调用(调用堆栈中的前者)函数?

我想确定在onbeforeunload事件中前者被调用的函数是否是__doPostback.

javascript callstack function

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

标记问题中的AppSettings

我想把它放在我的标记中:

<script type="text/javascript" src="<%$ AppSettings:proxyScriptUrl %>"></script>
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,这是不被接受的.我在这做错了什么?

要求是我不使用辅助方法,而是在标记中使用expressionbuilder.

asp.net appsettings

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

温莎城堡政策注入教程?

我想了解更多关于温莎城堡的信息,但似乎有点压倒我.我在这里找到了一个代码示例:http://ayende.com/Blog/archive/2007/03/07/Building-the-Policy-Injection-in-40-Minutes-with-Windsor.aspx.它确实很有趣,但它似乎使用了很多额外的代码.我认为政策注入的力量只是我可以制作一些配置文件并注入它并拥有预处理,发布和拦截处理程序?

castle-windsor

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