خطأ وحل للطريقة الثابتة C# لا يمكن الوصول إلى الأعضاء غير المتطوعين
خطأ: مرجع كائن مطلوب
]يوضح مقتطف الكود التالي هذه المشكلة:
namespace WindowsApplication1
{
public partial class Form1 : Form
{
...
private static void SumData(object state)
{
...
setTextboxText(result); // 错误:非静态字段、方法或属性
}
}
}
سبب المشكلة
] تشير رسالة الخطأ إلى أن الطريقة الثابتة sumData
تحاول استدعاء عضو غير static setTextBoxText
. لا يمكن للطريقة الثابتة الوصول إلى الأعضاء الثابتة فقط ، بينما يتطلب الوصول إلى الأعضاء غير المنتظمة إشارة إلى كائن الفئة التي ينتمي إليها.
حلول
هناك عدة طرق لإصلاح هذا الخطأ:
setTextBoxText
public static void setTextboxText(int result)
فئة 1
{
مثيل Form1 العام ؛
...
sumdata الفراغ الثابت الخاص (حالة الكائن)
{
...
مثيل.
}
}
class Form1
{
public static Form1 Instance; // 单例
...
private static void SumData(object state)
{
...
Instance.setTextboxText(result);
}
}
مثيل = this ؛ .
إنشاء form1
في طريقة الاتصال:
sumdata الفراغ الثابتة الخاصة (حالة الكائن)
{
...
form1 Frm1 = new form1 () ؛
frm1.settextboxtext (النتيجة) ؛
}
private static void SumData(object state)
{
...
Form1 frm1 = new Form1();
frm1.setTextboxText(result);
}
sumdata قم بتعيين طريقة الاتصال
sumData
private void sumdata (حالة الكائن)
{
...
setTextBoxText (النتيجة) ؛
}
لمزيد من المعلومات ، يرجى الرجوع إلى وثائق MSDN.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3