2016-05-27 5 views
-1

this MSDNのサンプルコードを使用しようとしています。この記事では、ソースコードソリューション全体を提供するのではなく、個々のメソッドコードと他のスニペットを記事のセクションとして表示しています。 「は、フォームのコンストラクタに以下のコードを追加します。」私が行っている次のように:MSDN Cryptoサンプルコードが動作しない/フォームのコンストラクタでグローバルオブジェクトを宣言する

public partial class MyCryptoTestForm : Form 
{ 
    public MyCryptoTestForm() 
    { 
     CspParameters cspp = new CspParameters(); 
     RSACryptoServiceProvider rsa; 

     const string EncrFolder = @"c:\Encrypt\"; 
     const string DecrFolder = @"c:\Decrypt\"; 
     const string SrcFolder = @"c:\docs\"; 

     const string PubKeyFile = @"c:\encrypt\rsaPublicKey.txt"; 

     const string keyName = "Key01"; 

     InitializeComponent(); 
    } 
} 
グローバル私が言うの指示に従っているオブジェクトの宣言トピック 下の記事で

また、これらのコントロールのフォームと関連するイベントコードに追加するいくつかの特定のコントロールを示します。私はすべてのコントロールとそれぞれのイベントコードを追加しました。

私は次のエラーを取得しています(デバッグ中)アプリを実行しよう

The name cspp does not exist in the current context
The name rsa does not exist in the current context

この記事のすべてのコードをコピーして、指示に正確に従おうとしました。

私は間違っていますか?ところで

- 私が使用しています:

  • WIN7
  • VS2015コミュニティ版
  • .NET Frameworkの4.5.2.1`
+1

:例として

// Declare CspParmeters and RsaCryptoServiceProvider // objects with global scope of your Form class. 

をあなたが書いたコードを含める必要があります。 –

+1

問題は、MSDNの記事のBAD TEXTにあります。すべてのコードはそこにあります。私は質問のテキストを洗練します。これは閉じてはいけません。 –

+1

@AlexeiLevenkov - OPが編集されました –

答えて

2

あなたが投稿MSDNの記事を見ると、Iテキストに誤った引用があると考えてください:

次のコードをFormのコンストラクタに追加します。

この文は誤っています。このコードをフォームのconstructorに追加したくない場合そうすることで、あなたが見ているエラーが発生します。なぜなら、それらの宣言はコンストラクタメソッドのローカルスコープであり、必要なようにFormクラスにグローバルスコープではないからです。

テキストを行うには正しい事を述べたコメント含まれていることを、次のコード:あなたは私たちがあなたのコードのお手伝いをすることが予想される場合は、あなたが、

public partial class Form1 : Form 
{ 
    // Declare CspParmeters and RsaCryptoServiceProvider 
    // objects with global scope of your Form class. 
    CspParameters cspp = new CspParameters(); 
    RSACryptoServiceProvider rsa; 

    // Path variables for source, encryption, and 
    // decryption folders. Must end with a backslash. 
    const string EncrFolder = @"c:\Encrypt\"; 
    const string DecrFolder = @"c:\Decrypt\"; 
    const string SrcFolder = @"c:\docs\"; 

    // Public key file 
    const string PubKeyFile = @"c:\encrypt\rsaPublicKey.txt"; 

    // Key container name for 
    // private/public key value pair. 
    const string keyName = "Key01"; 

    public Form1() 
    { 
     InitializeComponent(); 

     // NOT HERE in the constructor, this scope will not work 

    } 
} 
+0

記事に誤りを指摘していただきありがとうございます。私はあなたの指示に従って、それは働いた。 – nam

関連する問題