すべてのファイルをあるディレクトリから別のディレクトリにコピーするプログラムを作成しようとしています。しかし、私は基本的な問題で走っています。私はここにc#識別子が必要ですか?
static void RecursiveCopy(origDir, destDir)
が
static void RecursiveCopy(string origDir, string destDir)
すべてのファイルをあるディレクトリから別のディレクトリにコピーするプログラムを作成しようとしています。しかし、私は基本的な問題で走っています。私はここにc#識別子が必要ですか?
static void RecursiveCopy(origDir, destDir)
が
static void RecursiveCopy(string origDir, string destDir)
上でコンパイルしようとすると、それは期待indentifier言うRecursiveCopy
型なしで2つのパラメータがリストされています。これは、このする必要があります。
static void RecursiveCopy(string origDir, string destDir)
あなたの方法でなければなりませんあなたの引数リストにタイプ識別子を与えていないライン52
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
}
public bool RecursiveCopy()
{
string origDir = @"D:\Documents and Settings\Dub\My Documents\HoN Updates\test";
string destDir = @"C:\Games\HoN";
bool status = false;
//get all the info about the original directory
DirectoryInfo dirInfo = new DirectoryInfo(origDir);
//retrieve all the _fileNames in the original directory
FileInfo[] files = dirInfo.GetFiles(origDir);
//always use a try...catch to deal
//with any exceptions that may occur
try
{
//loop through all the file names and copy them
foreach (string file in Directory.GetFiles(origDir))
{
FileInfo origFile = new FileInfo(file);
FileInfo destFile = new FileInfo(file.Replace(origDir, destDir));
//copy the file, use the OverWrite overload to overwrite
//destination file if it exists
System.IO.File.Copy(origFile.FullName, destFile.FullName, true);
//TODO: If you dont want to remove the original
//_fileNames comment this line out
File.Delete(origFile.FullName);
status = true;
}
Console.WriteLine("All files in " + origDir + " copied successfully!");
}
catch (Exception ex)
{
status = false;
//handle any errors that may have occurred
Console.WriteLine(ex.Message);
}
return status;
}
public string origDir = @"D:\Documents and Settings\Dub\My Documents\HoN Updates\test"; // ERROR HERE
public string destDir = @"C:\Games\HoN"; // ERROR HERE
static void RecursiveCopy(origDir, destDir)
{
Console.WriteLine("done");
Console.ReadLine();
}
}
}
cYouはRecursiveCopy
メソッド宣言のパラメータの型が欠落しています。ただ、
static void RecursiveCopy(String origDir, String destDir)
に
static void RecursiveCopy(origDir, destDir)
を変更し、すべての罰金です。ここで
はあなたの問題です:
static void RecursiveCopy(origDir, destDir)
あなたはおそらく、あなたが次のことを意図し、パラメータの型を指定しない:
static void RecursiveCopy(string origDir, string destDir)
より多くの問題があります。しかし、ことを私は気づいた。それはあなたがまだこれらに取り組んでいることは可能ですが、あなたが投稿した内容から:
をあなたのRecursiveCopy
メソッドを呼び出すことはありません。おそらく、あなたはに2つのパラメータで過負荷を宣言するのではなく、Main()
から呼び出すことを意味しましたか?
2つのパブリックフィールドorigDir
とdestDir
を宣言しますが、決してそれらを使用しないでください。代わりにRecursiveCopy()
に2つのローカル変数を作成し、代わりにこれらを使用します。 パラメータを作成するか、パブリックフィールドを代わりに使用しましたか?
あなたのコピーは実際には "再帰的"という名前には当てはまりません。
"おそらく、2つのパラメータで過負荷を宣言するのではなく、Main()から呼び出すことを意図していましたか? - それが意図であるように見え、欠落している型指定子を説明します。 –