小编Obs*_*rno的帖子

为什么在控制台应用程序中使用 CommonOpenFileDialog 时会出现此异常?

问题

我正在尝试使用 CommonOpenFileDialog 的文件夹选择器,如本答案中所述。问题是,即使有一个非常精简的示例项目,我在尝试使用 CommonOpenFileDialog 的函数时也会遇到异常ShowDialog()

代码

using Microsoft.WindowsAPICodePack.Dialogs;

namespace DialogTest
{
    class Program
    {
        public static void Main(string[] args)
        {
            CommonOpenFileDialog dialog = new CommonOpenFileDialog();
            dialog.InitialDirectory = "C:\\Users";
            dialog.IsFolderPicker = true;

            CommonFileDialogResult result = dialog.ShowDialog();

            if (result == CommonFileDialogResult.Ok)
            {
                //Do Stuff
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我还与作者 Microsoft 一起使用以下 nuget 包:

  • Microsoft.WindowsAPICodePack-核心
  • Microsoft.WindowsAPICodePack-Shell

例外情况

此代码在 处产生以下异常dialog.ShowDialog();

System.Runtime.InteropServices.COMException was unhandled
  ErrorCode=-2147023116
  HResult=-2147023116
  Message=A null reference pointer was passed to the stub. (Exception from HRESULT: …
Run Code Online (Sandbox Code Playgroud)

c# dialog openfiledialog windows-api-code-pack

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

C#:对象作为参数传递时使用的隐藏基本方法.任何解决方法?

我是继承人的新手.我注意到如果你从一个部分类中构造一个对象,并将它作为一个参数传递给一个接受它的基类型的函数,那么即使它们已经隐藏在部分类中,也会使用基本方法.

能够交替使用继承的对象会很有用.是否有一种解决方法或替代方法允许我以这种方式将对象作为参数传递?

我写了一些示例代码来演示我在说什么:

public class Enemy
{
    string[] baseLikes = new string[] { "loitering", "puppies" };

    public string[] GetLikes()
    {
        return baseLikes;
    }
}

public partial class Skater : Enemy
{
    string[] uniqueLikes = new string[] { "skateboarding" };

    public new string[] GetLikes()
    {
        string[] likes = base.GetLikes();
        return likes.Concat(uniqueLikes).ToArray();
    }
}

class Program
{
    public static void WriteEnemyLikes(Enemy enemy)
    {
        string[] likes = enemy.GetLikes();
        Console.WriteLine("This enemy's likes: ");
        foreach (string like in likes)
            Console.WriteLine("- " + like);
    }

    static …
Run Code Online (Sandbox Code Playgroud)

c# inheritance

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