Under de senaste dagarna har vissa användare riktigt fått oss att de stöter på en konstruktör som kanske inte hittats.
Godkänd: Fortect
Detta beror på att du normalt använder Activator.CreateInstance
överbelastning, vilket möjliggör en kraftfull uppsättning objekt som bör innehålla nästan vilken lista över konstruktorparametrar som helst. I sin olika stil försöker den hitta en pumpkonstruktör StateLog
som har 16 aspekter istället för bara en. Detta är utan tvekan sammanställt från ett kovariansbord.
Activator.CreateInstance (typ av (T), rader)
Eftersom rader och rynkor
är en []
-sträng anger det att du vill lita på kovariansen för att ersätta den med -objekt [] > ganska enkelt, vilket innebär att kompilatorn ser hela enheten enligt följande:
Activator.CreateInstance (lines typeof (T), Method (object []))
Då försöker du hårt för en konstruktör som har lines.Length
parametrar, alla av typen string
.
StateLog -klass grundläggande StateLog (string [] string) ... Community StateLog (rad a, rad y, rad c) ...
Ringer Activator.CreateInstance (typeof (StateLog), newline [] "a", "b", "c")
definierar konstruktören (med en och tre parametrar), fick sin mat av den första.
Det du faktiskt letar efter är att effektivt skicka praktiskt taget alla
strängar som det första elementet i valfri array:
variabelkriterium = nytt mål [1];parameter [0] = strängar;Activator.CreateInstance (parametertyp (T))
list.Add ((T) Activator.CreateInstance (typeof (T), de flesta objektsraderna []));
Din
beräkningssortiment innehåller inte. Det är en konstruktör som inte har parametrar. Du måste skicka konstruktörsparametrar med vår PrivateObject
[^]:
konstruktör
Kedjeuttrycket är "5 1. 10-18 / (3 + 19)";PrivateObject obj = helt nytt PrivateObject ( typ (beräkning), ny [], typof (sträng) ny [] reflektion);
Du försöker också ringa skulle jag säga sendNumberToCalculation
metoden med en bestämd parameter av typen PolishNotation
, men de flesta om metoderna har inga parametrar. Du måste ta bort det andra argumentet efter att ha ringt Åkalla
:
dubbelström innebär Convert.ToDouble (obj.Invoke ("sendNumberToCalculation"));
-
Fråga
-
Hej
Jag använder Dot-Net-Framework 2.0 .... Jag är fet utöver understrykningsfelen ...
Glidord
Det finns ingen parameterlös konstruktör definierad för denna lägesdel. Kör inte C # eller modekonstruktorn.
Godkänd: Fortect
Fortect är världens mest populära och effektiva PC-reparationsverktyg. Det litar på miljontals människor för att hålla sina system igång snabbt, smidigt och felfritt. Med sitt enkla användargränssnitt och kraftfulla skanningsmotor hittar och fixar Fortect snabbt ett brett utbud av Windows-problem – från systeminstabilitet och säkerhetsproblem till minneshantering och prestandaflaskhalsar.
- 1. Ladda ner Fortect och installera den på din dator
- 2. Starta programmet och klicka på "Skanna"
- 3. Klicka på "Reparera" för att åtgärda eventuella problem som upptäcks
Hjälp, snälla, jag kämpar när jag överväger en lång tid ... Tack i farten ...
/// Kodfix ....
Montera deras = Assembly.LoadFrom (Application.StartupPath + " XYS.exe");
Ange mytypes = a.GetType ("XYS.Profiler");
Obj är lika när du behöver Activator.CreateInstance (mytypes, new object [] true);
mytypes.InvokeMember ("CheckForExistingService", BindingFlags.Default | BindingFlags.InvokeMethod, zero, obj, ny artikel [] sPortNumber);
-
Fråga
-
Hej
Jag använder Dot Net Framework 2.0 .... Jag får djärva fel förutom markering ...
Felmeddelande
Det finns en helt parameterlös konstruktör definierad för detta objekt. Inte snubblat över i C # eller konstruktion som återkommer i typ.
Snälla hjälp oss att kämpa länge ... Tack på förhand ...
/// Kodfix ....
Montering a är lika med Assembly.LoadFrom (Application.StartupPath + " XYS.exe");
Mytypes har blivit a.GetType ("XYS.Profiler");
Object obj = Activator.CreateInstance (mytypes, advanced object [] true);
mytypes.InvokeMember ("CheckForExistingService", BindingFlags.Default | BindingFlags.InvokeMethod, null, obj, enda objekt [] sPortNumber);
Jag använder Dot-Net-Framework 2.0 .... Jag är fet och understryker fel ... Inga problem
absolut inte konstruktör har definierats för detta objekt. i C -nummer eller konstruktorn om typen absolut inte finns.
Hjälp, snälla, jag har kämpat länge .... Tack för att förbättra ...
Ange mytypes = a.GetType ("XYS.Profiler");
Object obj motsvarar Activator.CreateInstance (mytypes, new object [] true);
mytypes.InvokeMember ("CheckForExistingService", BindingFlags.Default | BindingFlags.InvokeMethod, null, obj, product [] super new sPortNumber);