小编Kta*_*Kta的帖子

如何听抽象方法?

在我的抽象类中,我可以监听抽象方法并在调用该方法时触发事件吗?如果有,怎么样?

c# events abstract-class

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

具有泛型参数的扩展方法到泛型类

下面的代码无法编译:

 public static class MyExtensions
    {
        public static Bar<M> Convert<T,M>(this Foo<T> list)
        {
            return new Bar<M>();
        }
    }


    public class Program
    {
        static void Main(string[] args)
        {
            Foo<int> foo = new Foo<int>();

            foo.Convert<double>();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我必须明确指定 Foo 的泛型类型:

foo.Convert<int, double>();
Run Code Online (Sandbox Code Playgroud)

如果扩展方法具有单个泛型参数,则无需在方法调用期间指定类型。

为什么?我可以创建这样一个不需要我指定 Foo 参数的扩展方法吗?

c# generics extension-methods

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

WPF创建同级窗口并关闭当前窗口

我需要的是我的窗口类中的这样一个事件处理程序.

void someEventHandler(object sender, RoutedEventArgs e)
{
    MyNewWindow mnw = new MyNewWindow();
    mnw.Owner = Window.GetWindow(this);
    mnw.ShowDialog();
    this.Close();
}
Run Code Online (Sandbox Code Playgroud)

Window.GetWindow(this)返回当前窗口的父窗口.

我曾想过当新窗口的所有者是当前窗口的父窗口时,它会等待父窗口; 而不是现在的.但它并没有这样的方式.当前窗口等待执行新的并且仅在之后关闭.

如果我出于某种原因使用Show()而不是ShowDialog(),则根本不显示窗口.

可能我需要一些委托方法,但我不知道从哪里开始.

编辑:我想我需要改进以后引用的问题:新窗口应该是父窗口的对话框.如果我使用Show(),父窗口变得可访问,我不希望这样.如果我使用ShowDialog()它会成为当前窗口的对话框,这意味着在新窗口关闭之前当前窗口不会关闭,我也不想这样做.

c# wpf

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

标签 统计

c# ×3

abstract-class ×1

events ×1

extension-methods ×1

generics ×1

wpf ×1