C# *.dll für VB6 Programm erstellen

Also Google sagt das ist dies:
Code:
public class MyControl : Control
{ 
   // Standardkonstruktor 
   public MyControl() : base() 
   { 
   }
}
Ja, diese Klasse hat einen Standardkonstruktor.
Aber sowas hab ich ja schon :
Code:
	public class HexRC4Exception : Exception
	{
		#region Constructor
		public HexRC4Exception(string sMessage) : base(sMessage) { }
		#endregion
	}
}
Das ist kein Standardkonstruktor. Ich hatte auch bereits gesagt was ein Standardkonstruktor ist.
 
Zuletzt bearbeitet:
Sorry, aber finde es nicht wo du es Beschrieben haben solltest.

jedenfalls habe ich nun Bei AssemblyInfo das hier drinnen
Code:
[assembly: System.Runtime.InteropServices.ComVisible(true)]

aber das Hilft auch nicht sehr viel.
 
Also dies ist das Beispiel:
Code:
 class KonstruktorBeispiel
 {
   public KonstruktorBeispiel(){
     //Das ist der Standardkonstruktor
   }
   //Auch Konstruktoren können überladen werden
   public KonstruktorBeispiel(string Text){
     Console.WriteLine(Text);
   }
 }

dann mache ich es so:
Code:
   public KonstruktorBeispiel(){
   }

public static string GeneratePublicKeyString(string Text) 
		{
			int keyLength = new Random(DateTime.Now.Millisecond).Next(52, 64);
			Random v = new Random(DateTime.Now.Millisecond + DateTime.Now.Second + keyLength);
			StringBuilder sb = new StringBuilder(keyLength);

			for (int i = 0; i < keyLength; i++)
			{
				int j = 0;
				if (v.Next(0, 2) == 1)
					j = v.Next(97, 123);
				else
					j = v.Next(48, 58);
				sb.Append((char)j);
			}

			return sb.ToString(text);
		}

Das is der ursprüngliche Code:
Code:
public static string GeneratePublicKeyString() 
		{
			int keyLength = new Random(DateTime.Now.Millisecond).Next(52, 64);
			Random v = new Random(DateTime.Now.Millisecond + DateTime.Now.Second + keyLength);
			StringBuilder sb = new StringBuilder(keyLength);

			for (int i = 0; i < keyLength; i++)
			{
				int j = 0;
				if (v.Next(0, 2) == 1)
					j = v.Next(97, 123);
				else
					j = v.Next(48, 58);
				sb.Append((char)j);
			}

			return sb.ToString();
		}
 
Also dies ist das Beispiel:
Code:
 class KonstruktorBeispiel
 {
   public KonstruktorBeispiel(){
     //Das ist der Standardkonstruktor
   }
   //Auch Konstruktoren können überladen werden
   public KonstruktorBeispiel(string Text){
     Console.WriteLine(Text);
   }
 }

dann mache ich es so:
Du stellst dich aber auch an... :rolleyes: Langsam hab ich das Gefühl du willst mich veralbern.

Auf der Seite steht:
Beim Erstellen von Konstruktoren ist auf drei wichtige Punkte zu achten. 1) Der Konstruktor heißt genau so wie die Klasse.
Wenn also deine Klasse HexRC4 heißt, dann muss ein Konstruktor auch so heißen.
C#:
class HexRC4 {
  // Konstruktor ohne Parameter => Standardkonstruktor:
  public HexRC4() {
  }
  ...
}
Gruß
 
Ich habe doch das hier:

Code:
namespace HexRC4
{
[ComVisible(true)]



	public class HexRC4
ist das nicht ausreichend?
Nochmal zum Mitschreiben:

Du brauchst einen Standardkonstruktor für die Klasse.
Du brauchst einen Standardkonstruktor für die Klasse.
Du brauchst einen Standardkonstruktor für die Klasse.
Du brauchst einen Standardkonstruktor für die Klasse.
Du brauchst einen Standardkonstruktor für die Klasse.
Du brauchst einen Standardkonstruktor für die Klasse.
Du brauchst einen Standardkonstruktor für die Klasse.
Du brauchst einen Standardkonstruktor für die Klasse.
Du brauchst einen Standardkonstruktor für die Klasse.

Jetzt verstanden?

Der Code oben enthält ja nicht mal irgendwelche Definitionen der Klasse, geschweige denn einen Konstruktor.

Kann es sein, das du einfach zu jung bist das zu verstehen? Mach doch was anderes und geh draussen spielen. (Ist nicht bös' gemeint...)

Gruß
 
Ich denke als Volljähriger Spielt man nicht mehr draussen ;) aber war ja wohl nur gut gemeint, das Problem ist einfach das ich bissher kaum was gemacht habe in dieser Programmier Sprache, ich bin bei VB6 daheim, somit ist das eine ganz andere Welt für mich in der ich mich bei dieser Sprache bewege, ich gebe stets mein Bestes.
Und bin sehr froh das du solch eine Gedult mit mir hast.

Doch das mit den Standard-Konstruktor habe ich immer noch nicht gecheckt.
ich werde es gleich nochmal versuchen und das Result hier Posten.

Edit:/

Also wenn mein Standard-Konstruktor so aussehen würde:
Code:
 class HexRC4Konstruktor
 {
   public HexRC4Konstruktor(){
     //Das ist der Standardkonstruktor
   }
   //Auch Konstruktoren können überladen werden
   public HexRC4Konstruktor(string Text){
     Console.WriteLine(Text);
   }
 }

Müsste ich doch bestimmt bei allem was einen Werrt zurück gibt es in die Klammern Schreiben oder sehe ich da was Falsch?
 
Zuletzt bearbeitet:
Hi

Ich denke als Volljähriger Spielt man nicht mehr draussen ;) aber war ja wohl nur gut gemeint, das Problem ist einfach das ich bissher kaum was gemacht habe in dieser Programmier Sprache, ich bin bei VB6 daheim, somit ist das eine ganz andere Welt für mich in der ich mich bei dieser Sprache bewege, ich gebe stets mein Bestes.
Und bin sehr froh das du solch eine Gedult mit mir hast.

Doch das mit den Standard-Konstruktor habe ich immer noch nicht gecheckt.
ich werde es gleich nochmal versuchen und das Result hier Posten.
Das hat aber nichts mit der Programmiersprache zu tun, sondern mit dem Paradigma. Und das ist .NET nun mal OOP. Damit musst du dich auseinander setzen.
Also wenn mein Standard-Konstruktor so aussehen würde:
Code:
 class HexRC4Konstruktor
 {
   public HexRC4Konstruktor(){
     //Das ist der Standardkonstruktor
   }
   //Auch Konstruktoren können überladen werden
   public HexRC4Konstruktor(string Text){
     Console.WriteLine(Text);
   }
 }
Richtig, das obere ist der Standardkonstruktor. Daran zu erkennen, dass er keine Parameter hat/Argumente annimmte
Müsste ich doch bestimmt bei allem was einen Werrt zurück gibt es in die Klammern Schreiben oder sehe ich da was Falsch?
Die Frage versteh ich nicht. kannst du die bitte etwas anders formulieren? Danke

@deep
Ruhig bleiben!
 
Also ich mache mal ein Beispiel :

Das ist er Normale Code:
Code:
		public static string GeneratePublicKeyString() 
		{
			int keyLength = new Random(DateTime.Now.Millisecond).Next(52, 64);
			Random v = new Random(DateTime.Now.Millisecond + DateTime.Now.Second + keyLength);
			StringBuilder sb = new StringBuilder(keyLength);

			for (int i = 0; i < keyLength; i++)
			{
				int j = 0;
				if (v.Next(0, 2) == 1)
					j = v.Next(97, 123);
				else
					j = v.Next(48, 58);
				sb.Append((char)j);
			}

			return sb.ToString();

Nun mache ich dort das HexRC4Konstruktor in die Klammern, da es ja ein Wert ist der weiter geben werden soll an das VB6 Programm.

Code:
		public static string GeneratePublicKeyString() 
		{
			int keyLength = new Random(DateTime.Now.Millisecond).Next(52, 64);
			Random v = new Random(DateTime.Now.Millisecond + DateTime.Now.Second + keyLength);
			StringBuilder sb = new StringBuilder(keyLength);

			for (int i = 0; i < keyLength; i++)
			{
				int j = 0;
				if (v.Next(0, 2) == 1)
					j = v.Next(97, 123);
				else
					j = v.Next(48, 58);
				sb.Append((char)j);
			}

			return sb.ToString(HexRC4Konstruktor);
 
Zurück