30. august 2003 - 15:04
Der er
13 kommentarer
Is inaccessible due to its protection level
Jeg får denne fejl hver gang jeg prøver: spirit2.LegoVPBClass asd = new LegoVPBClass() Jeg har brugt Object Browser til at tjekke om LegoVPBClass var en public class, og det var den. På forhånd tak for hjælpen, Hanzi
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
30. august 2003 - 15:07
#1
Hvad med spirit2.LegoVPBClass, er den private?
30. august 2003 - 15:08
#2
Kan du prøve at komme med lidt mere kode?
30. august 2003 - 15:10
#3
Er spirit2's LegoVPBClass property også public?
30. august 2003 - 15:18
#4
Så vidt jeg kan se i Object Browser er alt public... Men jeg kan se at selvom jeg kun skrive: spirit2.LegoVPBClass asd = new spirit2.LegoVPBClass(); bliver fejlen: 'spirit2.LegoVPBClass.LegoVPBClass()' is inaccessible due to its protection level
30. august 2003 - 15:21
#5
Kan du ikke lige komme med noget kode, både for LegoVPBClass og den klasse som du kalder fra?
30. august 2003 - 15:31
#6
både constructoren og klassen skal være public
30. august 2003 - 16:22
#7
Hvordan kan jeg sørge for/tjekke om constructoren og klassen er public? Her er min kode: using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using spirit2; namespace mindstorm { /// <summary> /// Summary description for Form3. /// </summary> public class Form3 : System.Windows.Forms.Form { private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Button button1; /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; /// <summary> /// The main entry point for the application. /// </summary> /// [STAThread] static void Main() { Application.Run(new Form3()); } public Form3() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.textBox1 = new System.Windows.Forms.TextBox(); this.button1 = new System.Windows.Forms.Button(); this.SuspendLayout(); // // textBox1 // this.textBox1.Location = new System.Drawing.Point(128, 72); this.textBox1.Name = "textBox1"; this.textBox1.TabIndex = 0; this.textBox1.Text = "textBox1"; // // button1 // this.button1.Location = new System.Drawing.Point(240, 168); this.button1.Name = "button1"; this.button1.TabIndex = 1; this.button1.Text = "button1"; // // Form3 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(544, 326); this.Controls.Add(this.button1); this.Controls.Add(this.textBox1); this.Name = "Form3"; this.Text = "Form3"; this.Load += new System.EventHandler(this.Form3_Load); this.ResumeLayout(false); } #endregion private void Form3_Load(object sender, System.EventArgs e) { spirit2.LegoVPBClass asd = new spirit2.LegoVPBClass(); } } }
30. august 2003 - 16:31
#8
og så den for LegoVPBClass
30. august 2003 - 16:38
#9
LegoVPBClass er ikke noget jeg har skrevet. Det er en COM er snkker med.
30. august 2003 - 22:23
#10
Du forsøger at kalde default constructoren og den er tydeligvis ikke public selvom klassen selv er det. Måske findes der en Factory-metode du kan kalde i stedet? (Typisk en statisk metode på klassen selv der giver en instans tilbage) Der er ikke nødvendigt at prefixe når du bruger using. LegoVPBClass asd = new LegoVPBClass(); er altså fuldt tilstrækkeligt
31. august 2003 - 23:53
#11
Jeg fatter det stadig ikke... så jeg fandt en anden måde at gører det. Men tak for hjælpen...
Slettet bruger
01. september 2003 - 08:39
#12
Det er ikke fordi du åbner din applikation fra et netværksdrev? Så kan du få samme fejl. .net applikationer kan kun køre fra et lokalt drev.
01. september 2003 - 22:42
#13
briancaos, det er nu ikke helt rigtigt. Men man skal justere CAS for at få winforms til at virke fra web'et eller intranet zone (~mappede netværksdrev)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.