基础构造函数未被正确调用/解析

时间:2012-06-18 19:55:38

标签: c# .net visual-studio-2010 constructor override

背景信息:

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

我想创建一个DLL来定义一个具有与DirectoryInfo类相同功能的派生类,但是会覆盖GetDirectories(),这样我就可以拥有我需要的功能。

问题:

尝试调用基础构造函数时,我一定做错了。我得到错误“'对象'不包含带有1个参数的构造函数”。

using System;
using System.IO;

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

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

我觉得这是一个简单的修复。请帮助指出我在俯瞰的东西。 :)

谢谢!

1 个答案:

答案 0 :(得分:3)

DirectoryInfo是一个密封的课程。所以你无法从中得到它。 来自MSDN:

  

public 密封类DirectoryInfo:FileSystemInfo

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