c#中的driveinfoclass实现 [英] driveinfoclass implementation in c#

查看:65
本文介绍了c#中的driveinfoclass实现的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

先生!我已经为driveinfo类编写了代码但显示错误。

代码如下:

 使用系统; 
使用 System.Collections.Generic;
使用 System.Text;
使用 System.IO;

namespace directoryinfo1
{
public class demoimplement
{
public static void copyallfiles(DirectoryInfo source,DirectoryInfo target)
{
if (source.FullName.ToLower()== target.FullName.ToLower())
{
return ;
}
if (Directory.Exists(target.FullName)== false
{
Directory.CreateDirectory(target.FullName);
}
foreach (FileInfo fi in source.GetFiles())
{
Console.WriteLine( @ 复制文件{0} \ {1},target.FullName,fi.Name);
fi.CopyTo(Path.Combine(target.ToString(),fi.Name), true );
}
foreach (DirectoryInfo disourcesubdir in source.GetDirectories())
{
DirectoryInfo nexttargetsubdir = target.CreateSubdirectory(disourcesubdir.Name);
copyallfiles(disourcesubdir,nexttargetsubdir);
}
}
}
public class test
{



public static void Main( string [] args)
{

string sourcedirectory = @ D:\\c# ;
string targetDirectory = @ E:\\ \\\tushky;
DirectoryInfo sourcedir = new DirectoryInfo(sourcedirectory);
DirectoryInfo targetdir = new DirectoryInfo(targetDirectory);
copyallfiles(sourcedir,targetdir);
Console.ReadLine();







}
}
}



错误是:

错误1当前上下文中不存在名称'copyallfiles'。

解决方案

 demoimplement.copyallfiles(sourcedir,targetdir); 


< blockquote>你不能直接从 main 方法调用 copyallfiles

copyallfiles 是一个静态方法,它是 demoimplement 类的一部分。



因此,您可以调用 demoimplement.copyallfiles(sourcedir,targetdir); 而不是直接调用它。



或者你可以创建一个 demoimplement 的实例。在这种情况下,无需将 copyallfiles 标记为静态。


您没有继承demoimplement类来访问函数copyallfiles





你必须继承类demoimplement才能使用函数copyallfiles


sir ! i have written a code for driveinfo class but showing error.
the code is below:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace directoryinfo1
{
    public class demoimplement
    {
        public static void copyallfiles(DirectoryInfo source, DirectoryInfo target)
        {
            if (source.FullName.ToLower() == target.FullName.ToLower())
            {
                return;
            }
            if (Directory.Exists(target.FullName) == false)
            {
                Directory.CreateDirectory(target.FullName);
            }
            foreach (FileInfo fi in source.GetFiles())
            {
                Console.WriteLine(@"copying files {0}\{1}", target.FullName, fi.Name);
                fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true);
            }
            foreach (DirectoryInfo disourcesubdir in source.GetDirectories())
            {
                DirectoryInfo nexttargetsubdir = target.CreateSubdirectory(disourcesubdir.Name);
                copyallfiles(disourcesubdir, nexttargetsubdir);
            }
        }
    }
    public class test
    {



        public static void Main(string[] args)
        {

            string sourcedirectory = @"D:\\c#";
            string targetDirectory = @"E:\\tushky";
            DirectoryInfo sourcedir = new DirectoryInfo(sourcedirectory);
            DirectoryInfo targetdir = new DirectoryInfo(targetDirectory);
            copyallfiles(sourcedir,targetdir);
            Console.ReadLine();
            
            
            




        }
    }
}


the error is:

Error	1	The name 'copyallfiles' does not exist in the current context.

解决方案

demoimplement.copyallfiles(sourcedir,targetdir);


You cannot call copyallfiles directly from the main method.
copyallfiles is a static method that is part of the demoimplement class.

Thus, you can either call demoimplement.copyallfiles(sourcedir,targetdir); instead of directly calling it.

Or else you could create an instance of demoimplement. No need to mark copyallfiles as static in this case.


you have not inherited the demoimplement class to get access to the function copyallfiles


you have to inherit the class demoimplement to use use function copyallfiles


这篇关于c#中的driveinfoclass实现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆