Обращение к переменной созданного класса - C#
Формулировка задачи:
Понимаю, что все уже изъезжено по 100 раз, но в упор не могу понять следующую вещь!
У меня есть отдельный класс Main:
MySqlWrapper - класс содержащий в себе все необходимое для работы с базой MySql.
Теперь, в другом модуле, я создаю экземпляр вышеупомянутого класса и хочу передать другой форме в качестве параметров conString и экземпляр класса MySqlWrapper - "DB" по нажатию кнопки:
Однако у меня не выходит! В месте, где я создаю экземпляр класса Personal и пытаюсь передать в качестве параметра Gu.conString C# ругается "Ошибка 2 Доступ к члену "WindowsFormsApplication2.Main.conString" через ссылку на экземпляр невозможен; вместо этого уточните его, указав имя типа".
В упор не могу понять, почему он не видит через "." этот пресловутый conString????? Хотя "DB" он видит!
Как мне передать в другую форму переменную уже созданного класса?
Неужели придется каждый раз создавать экземпляр класса чтоб можно было обратиться к переменной?
Логично же, что создавая один экземпляр класса, он висит в памяти и никуда не девается!
Растолкуйте бестолковому пожалуйста!
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using MySQLClass; namespace WindowsFormsApplication2 { public class Main { public static string conString = "Database=glb;Data Source=localhost;ser Id=root;Password=1"; public MySqlWrapper DB = new MySqlWrapper(conString); } }
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using MySql.Data; using WindowsFormsApplication2; namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Main Gu = new Main(); //Создаю экземпляр класса Main private void Form1_Load(object sender, EventArgs e) { Personal frm2 = new Personal(Gu.conString,Gu.DB); frm2.MdiParent = this; frm2.Show(); }
Решение задачи: «Обращение к переменной созданного класса»
textual
Листинг программы
.class private auto ansi beforefieldinit A extends [mscorlib]System.Object { // Fields .field private string str1 .field private string str2 // Methods .method public hidebysig specialname rtspecialname instance void .ctor () cil managed { // Method begins at RVA 0x2050 // Code size 29 (0x1d) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldstr "текст1" IL_0006: stfld string A::str1 IL_000b: ldarg.0 IL_000c: call instance void [mscorlib]System.Object::.ctor() IL_0011: ldarg.0 IL_0012: ldstr "текст2" IL_0017: stfld string A::str2 IL_001c: ret } // end of method A::.ctor } // end of class A
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д