小编Ody*_*dys的帖子

如何在这种情况下停止投射?

我有以下行动:

abstract class AAction
{}

class BlueAction: AAction
{
    void Foo1(){// do stuff}
    void Foo2(){// do stuff}
}
Run Code Online (Sandbox Code Playgroud)

以及应包含操作的插件:

class APlugin
{
    AAction _action;

    APlugin(AAction action)
    {
        _action = action;
    }

}

class BluePlugin: APlugin
{
    BluePlugin(): base(new BlueAction());
    {
    }

    voif Foo()
    {
        // do stuff with BlueAction's methods
        ((BlueAction)_action).Foo1();
        ((BlueAction)_action).Foo2();
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图将这种设计融入设计模式,没有运气.

我只想要强制派生类APlugin来拥有一个AAction

我可以做到这一点:

BlueAction act = (BlueAction)_action;
act.Foo1();
act.Foo2();
Run Code Online (Sandbox Code Playgroud)

使用泛型(如建议)不允许我有一个APlugins列表,这是我真正需要的.

但这对我来说是不行的.有任何想法吗?

c# inheritance design-patterns

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

获取从StartDate到EndDate的日期列表

如何使用linq或lambda表达式获取开始日期和结束日期之间的日期列表.

DateTime StartDate = DateTime.Now;
DateTime EndDate = DateTime.Now.AddMonths(13);
List<DateTime> ListofDates = //Contains list of all dates only between start and end date.
Run Code Online (Sandbox Code Playgroud)

c# linq lambda

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

为什么WebBrowser控件有这种奇怪的行为?

我有一张表格webbrowser.事件:Navigating,NavigatedDocumentCompleted连接.

这是我告诉它后得到的 .Navigate(new Url("http://google.com"));

20:42:42:036: 1. Navigating to: http://google.com/
20:42:42:545: 2. Navigated: http://www.google.com/
20:42:42:854: 3. Navigating to: about:blank
20:42:43:002: 4. Navigated: about:blank
20:42:43:004: 5. Loaded: about:blank
20:42:43:158: 6. Loaded: http://www.google.com/
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么我会得到这些about:blank东西吗?

代码只显示e.Url每个事件处理程序的参数.

c# webbrowser-control

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

$(this).attr("href")返回undefined

我正在尝试使用Twitter Bootsrap的bootbox.

在我使用的下面的代码中this.attr('href');,我得到了TypeError: this.attr is not a function.

当我改变到$(this).attr('href');我得到Undefined.

 <a class="alert" href="list_users.php?id=123">Delete user</a>

 <script src="bootbox.min.js"></script>
    <script>
    $(document).on("click", ".alert", function(e) {
        e.preventDefault();

        bootbox.confirm("Are you sure?", function(result) {

        if (result) {
            document.location.href = this.attr('href'); // doesn't work
            document.location.href = $(this).attr('href'); // Undefined
        }               
    });

    });
</script>
Run Code Online (Sandbox Code Playgroud)

任何的想法?

javascript jquery twitter-bootstrap bootbox

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

什么是删除多个空行的最快方法?

我通过一个事件得到一个字符串消息,我把它放在一个TextBox中.不幸的是,这条消息有很多空行.如何用一个替换两个空行?

我的第一个想法是这样的:

string newLine = Environment.NewLine;
textbox.text = msg.Replace(newLine + newLine, newLine);
Run Code Online (Sandbox Code Playgroud)

我相信有更好的方法来实现这一目标.

c# replace

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