2016-05-02 18 views
-5

私は変数SpyAgencySpyFormspyagencytb.textの値を渡す必要があるが、私はAgencyを入力するタイプStringからの暗黙的な変換のいくつかのフォームがあるように持っていることを行うことができます前に。C#のデータ型と変数

namespace Day3Homework 
{ 

    class Spy 
    { 
     SpyForm form = new SpyForm(); //creating an instance of the SpyForm 

     private string codeName; 
     private Agency spyAgency; 
     private DateTime dateLastSeen; 
     private string notes; 

     public string CodeName 
     { 
      get { return codeName; } 
      set { codeName = value; } 
     } 

     public Agency SpyAgency 
     { 
      get { return spyAgency; } 
      set { spyAgency = value; } 
     } 

    public DateTime DateLastSeen 
     { 
      get { return dateLastSeen; } 
      set { dateLastSeen = DateTime.Parse(form.textBox5.Text); } 
     } 
} 
+5

あなたはプロパティの仕組みを完全に誤解しています。あなたのモデルクラスはフォームをまったく参照すべきではありません。 – SLaks

+0

"何もうまくいかないようです" - 何を試しましたか?何がうまくいかないの? – Fermin

+0

これは 'HomeWork'なので、インストラクターに戻って、クラスオブジェクトのインスタンスをどこにどのように作成するかを説明する前に、教師に説明したり、割り当てレッスンをやり直すようにしてください。私たちがあなたの宿題を完了することを期待することはできません。 – MethodMan

答えて

0

@SLAKsは正しいです。プライベートSpyFormを作成していますが、これは決して更新されず、Spyインスタンス内のユーザーまたは他のユーザーは利用できません。完全に間違っている。これを削除します。

SpyForm form = new SpyForm(); //creating an instance of the SpyForm 
が変更

あなたDateLastSeen.setこれに:次にどこかSpyFormコードで、あなたがこのような何かを行います

set { dateLastSeen = value; } 

this.someSpy = new Spy(); 

と、フォームのイベントの一つであなたは次のようなことをします:

DateTime d; 
if DateTime.TryParse(textBox5.Text, out d) 
    this.someSpy.DateLastSeen = d; 
else you need to tell the user the date was invalid; 

このコードにはいくつかの間違いがあります。独自のバッキングフィールドを定義するべきではなく、すべてのプロパティを初期化するコンストラクタを定義する必要があります。また、変数の名前にデータ型を埋め込まないでください。

+0

ありがとうございました...とても役に立ちました – johndoe

関連する問題