0

作成しているC#アプリケーションで発生するいくつかのエラーを楽しんでいます。私が取得し続けるエラーは次のとおりです。

  • 呼び出しの暗号化と復号化には、リターンタイプが必要です
  • メソッドとして使用されているConsole.WriteLine
  • static void encode(string [] args)期待されるクラス、デリゲート、インターフェース、または構造体
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string pw ="", hash =""; //Declare an intialise variables

            if (args.Length < 4) // Test to see if correct number of arguments have been passed
            {
                Console.WriteLine("Please use command line arguments in this format: encrypt -e (or -d) password-to-encrypt-with input-file output-file");
                Environment.Exit(0);
            }

            if (args[1].Length < 10 || args[1].Length > 40) // Test to see if the password is between 10 and 40 characters
            {
                Console.WriteLine("Please use a password between 10 and 40 characters");
                Environment.Exit(0);
            }

            switch (args[0]) //Uses first argument value to drive switch statement (-e or -d)
            {
                case "-e":
                encrypt(string[] args);
                break;

                case "-d":
                decrypt(string[] args);
                break;

                default:
                Console.WriteLine("When using the program please use -e to encrypt and -d to decrypt");
                break;
            }        
        } //End of MAIN

        static void encrypt(string[] args)  //Function to encrypt
        {
            string inputtext =""; //Initialise Varible (Ensure it is empty)
            inputtext=System.IO.File.ReadAllText(args[2]); //Read file in an assign to input text
            return;
        }

        static void decrypt(string[] args)  //Function to decrypt
        {
            string inputtext =""; //Initialise Varible (Ensure it is empty)
            inputtext=System.IO.File.ReadAllText(args[2]); //Read file in an assign to input text
            return;
        }
    }  
}

どんな助けでも大歓迎です!アリステア

4

2 に答える 2

11

メソッドを呼び出すときは、引数の型を指定してはなりません。そう:

        case "-e":
        encrypt(args);
        break;
于 2012-11-05T15:25:03.280 に答える
2

ハンスが言ったことに加えて、メソッドの戻り値の型に関するエラーについて言及しました。

あなたのencryptanddecryptメソッドにはreturnステートメントがありますが、それらはvoid戻り値の型がないことを意味するメソッドです。

返したい型(おそらく操作している文字列)を指定するか、returnステートメントを完全に削除してください。returnメソッドを終了させるために、メソッドの最後に明示的に配置する必要はありません。とにかくそれはします。

2 つの小さなプロのヒントです。フィールドを異なる行で宣言します。すべてをまとめて ( and を宣言した方法でpw)まとめるのではなくhash、 の using ディレクティブも追加しSystem.IOます。System.IO.File.ReadAllTextFile.ReadAllText

于 2012-11-05T15:44:34.160 に答える