私はそのクラスからプロパティを使用するために別のクラスからオブジェクトをインスタンス化しました。しかしボタンイベントの外側では、すべてが正常に動作しますが、インスタンス化されたオブジェクトがタイプとして使用されているというエラーが表示されます。私はこの非常に同じコードを取って、それをカットしてボタンイベントに貼り付けると、エラーメッセージは表示されません。私は何が起こっているのか、そしてなぜそれが理解できないのですか?オブジェクトがボタンイベントの内部かどうかにかかわらず、オブジェクトはインスタンス化されます。なぜ、ボタンイベントの外側で動作しないのですか?ボタンがクリックされたときではなく、フォームが開くとすぐに別のフォームから2つのラベルフィールドを自動入力する必要があります。ここで インスタンスで別のクラスのプロパティを使用することとの混乱
public partial class MeasurementsForm : Form
{
private MeasurementsBOL busObject = new MeasurementsBOL();
//autofill bodyfat and body weight from nutrition form when form opens
busObject.BodyFatB4 = double.Parse(lblBodyFatB4FromNutrition.Text);
busObject.BodyWeightB4 = double.Parse(lblWeightB4FromNutrition.Text);
//default constructor
public MeasurementsForm()
{
InitializeComponent();
busObject.InitializeConnection();
}
//event handler for B4 input data
private void btnEnterMeasurementsB4_Click(object sender, EventArgs e)
{
//convert input data and assign to variables
busObject.ChestMeasurementB4 = double.Parse(txtChestB4.Text);
busObject.WaistMeasurementB4 = double.Parse(txtWaistB4.Text);
busObject.HipsMeasurementB4 = double.Parse(txtHipsB4.Text);
busObject.RightThighB4 = double.Parse(txtRightThighB4.Text);
busObject.LeftThighB4 = double.Parse(txtLeftThighB4.Text);
busObject.RightArmB4 = double.Parse(txtRightArmB4.Text);
busObject.LeftArmB4 = double.Parse(txtLeftArmB4.Text);
//call method to save input data
busObject.SaveB4Data();
//clear text boxes of data
this.txtChestB4.Clear();
this.txtWaistB4.Clear();
this.txtHipsB4.Clear();
this.txtRightThighB4.Clear();
this.txtLeftThighB4.Clear();
this.txtRightArmB4.Clear();
this.txtLeftArmB4.Clear();
//close form
this.Close();
}
がMeasurementsBOLクラスからの私の二つの性質です:
は、ここに私のコードです。私はそれを示していないが、オブジェクトがインスタンス化されています:
//properties for variables
public double BodyFatB4
{
get { return bodyFatB4; }
set { bodyFatB4 = nutritionObject.BodyFatStart;}
}
public double BodyWeightB4
{
get { return bodyWeightB4; }
set { bodyWeightB4 = nutritionObject.BodyWeight; }
}
あなたのセッターは、最高の状態ではまったく変わっていません。なぜあなたは 'value'を割り当てていませんか? – BrokenGlass
@BrokenGlass:いいですか?私は財産を見ていませんでした。 –
@brokenGlass - 別のクラスのプロパティから値を取得したいからです。それはそれを行う方法ではありませんか? –