c#中的driveinfoclass实现 [英] driveinfoclass implementation in c#
本文介绍了c#中的driveinfoclass实现的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
代码如下:
使用系统;
使用 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 callcopyallfiles
directly from themain
method.
copyallfiles
is a static method that is part of thedemoimplement
class.
Thus, you can either calldemoimplement.copyallfiles(sourcedir,targetdir);
instead of directly calling it.
Or else you could create an instance ofdemoimplement
. No need to markcopyallfiles
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屋!
查看全文