1

背景资料:

我在这个项目中使用 Microsoft Visual C# 2010。我想使用一个类 System.IO.DirectoryInfo 来获取目录列表。但是,GetDirectories() 的实现对我不起作用,因为在抛出 UnauthorizedAccessException 异常时,该函数会失败。

我想创建一个 DLL,该 DLL 定义了具有与 DirectoryInfo 类相同的功能的派生类,但会覆盖 GetDirectories(),因此我可以获得所需的功能。

问题:

尝试调用基本构造函数时,我一定做错了什么。我收到错误“'object'不包含带有 1 个参数的构造函数”。

using System;
using System.IO;

namespace CompanyName.System.IO
{
    public class FlexibleDirectoryInfo : DirectoryInfo
    {
        public FlexibleDirectoryInfo(string path) : base(path) {}
        [...]

DirectoryInfo 没有默认构造函数,而是有一个带有字符串参数的构造函数,就像我正在尝试做的那样。但是,我不确定它是否正确解析了基本构造函数?

我有一种感觉,这是一个简单的修复。请帮忙指出我忽略了什么。:)

谢谢!

4

1 回答 1

3

DirectoryInfo是密封类。所以你不能从中得到。来自 MSDN:

公共密封类 DirectoryInfo : FileSystemInfo

但是,您创建了一个继承FileSystemInfo的类(的超类DirectoryInfo)。您必须创建大部分实现,但这是唯一的方法。

于 2012-06-18T19:59:26.663 回答