Stark typisiert bedeutet, dass eine Variable, ein Feld oder eine Eigenschaft einem bestimmten Typ entspricht und nicht nur %code% .
%Vor%Wenn Sie stark typisierte Ressourcen verwenden, wird Code mit stark typisierten Eigenschaften für alle Ihre Ressourcen generiert. In diesem Fall wird der Ressourcenname als Eigenschaftsname verwendet, daher muss es ein gültiger C # -Eigenschaftsname sein. Ihr Beispiel %code% enthält einen Punkt und ist daher kein gültiger Eigenschaftenname. Der Code-Generator wird den Punkt durch einen Unterstrich ersetzen, um den Namen gültig zu machen, und gibt Ihnen die beschriebene Warnung, um Sie darüber zu informieren.
Basierend auf dem Link, den Sie in der Frage gepostet haben, denke ich, dass Sie wahrscheinlich nach %code% fragen - das bedeutet, dass Visual Studio eine Ressourcendatei generiert, die Ihnen den Zugriff auf Ressourcen über typisierte Eigenschaften ermöglicht, zB
%Vor%im Gegensatz zu nicht typisierten Ressourcen, in denen Sie den Rückgabewert selbst umwandeln müssen, weil er den Typ System.Object anstelle eines bestimmten Typs zurückgibt.
%Vor%"Stark typisiert" bedeutet in diesem Fall, dass Visual Studio versucht, aus Ihren Ressourcennamen ein Objektmodell für Sie zu generieren.
Beispiel: Sie haben eine Ressourcendatei mit URLs, die auf Ihre bevorzugten Websites verweisen. Ihre Ressourcen sind etwas wie:
Wenn die Ressource generate verwendet wird, um dies stark zu tippen, erhalten Sie ein Objektmodell, das wie folgt aufgerufen werden kann:
%code%
Wenn Sie eine Periode im Namen der Ressource haben, kann der Codegenerator sie nicht verwenden, da dies ungültige Namen im Resources-Objekt erzeugen würde. Zum Beispiel:
Dies wäre ungültig, weil es versuchen würde, eine Ressource namens %code%
zu erstellenIch bin mir nicht sicher, ob es Ihnen helfen wird, Ihr Problem zu lösen, aber im Interesse der Beantwortung Ihrer eigentlichen Frage. Stark typisiert bedeutet, dass die Variable einen bestimmten Typ hat, im Gegensatz zu einem Typ, der zur Laufzeit festgelegt wird. Besuche Wikipedia
Zum Beispiel:
%Vor%Bedeutet, dass die Zählervariable stark typisiert ist, da wir wissen, dass es ein Int32 ist. Andere Sprachen oder die Verwendung dynamischer Schlüsselwörter bedeuten:
%Vor%bedeutet, dass der Zähler nicht stark typisiert ist, da er zur Laufzeit vom Ergebnis von ResultOfFunc () bestimmt wird.
Ich vermute, dass Sie eine Ressource namens "MB ArchiveRestore.cs 11" haben. Seit VS 2005 generiert der Compiler (oder genauer gesagt ein Add-On-Tool) automatisch Zugriffsklassen für eingebettete Ressourcen. Diese können zum Abrufen der Ressourcen verwendet werden. Die Klasseneigenschaft für Ihr Beispiel ist wahrscheinlich %code% . Diese strikt typisierten Ressourcenklassen bieten auch eine bequeme Möglichkeit zur Lokalisierung.
Ich müsste raten, dass es sich am Ende über das 11 beschweren würde, was es nicht zu einer gültigen C # -Datei machen würde, also keine gültige Ressource.
Das Problem tritt auf, weil %code% kein gültiges Zeichen in Bezeichnern ist.
Was bedeutet stark typisiert genau?
Obwohl es für diese spezielle Frage nicht relevant ist, bedeutet "stark typisiert", dass ein Objekt eine bestimmte Vorstellung von Typ hat. Beispielsweise können Sie in C # %code% nicht ausführen, weil "5" eine Zeichenfolge und %code% eine Ganzzahl ist - ihre Typen sind nicht miteinander kompatibel.
Dies ist der Gegensatz zu "schwach typisierten" Sprachen, wo der Begriff "Typ" nicht so stark ist. Eine schwach typisierte Sprache könnte entscheiden, dass für etwas wie %code% die richtige Antwort 11 ist.
Stark typisiert bedeutet, dass eine Variable, ein Feld oder eine Eigenschaft einem bestimmten Typ entspricht und nicht nur Object
.
Wenn Sie stark typisierte Ressourcen verwenden, wird Code mit stark typisierten Eigenschaften für alle Ihre Ressourcen generiert. In diesem Fall wird der Ressourcenname als Eigenschaftsname verwendet, daher muss es ein gültiger C # -Eigenschaftsname sein. Ihr Beispiel MB_ArchiveRestore.cs_11
enthält einen Punkt und ist daher kein gültiger Eigenschaftenname. Der Code-Generator wird den Punkt durch einen Unterstrich ersetzen, um den Namen gültig zu machen, und gibt Ihnen die beschriebene Warnung, um Sie darüber zu informieren.
Basierend auf dem Link, den Sie in der Frage gepostet haben, denke ich, dass Sie wahrscheinlich nach strongly typed resource generation
fragen - das bedeutet, dass Visual Studio eine Ressourcendatei generiert, die Ihnen den Zugriff auf Ressourcen über typisierte Eigenschaften ermöglicht, zB
im Gegensatz zu nicht typisierten Ressourcen, in denen Sie den Rückgabewert selbst umwandeln müssen, weil er den Typ System.Object anstelle eines bestimmten Typs zurückgibt.
%Vor% Das Problem tritt auf, weil .
kein gültiges Zeichen in Bezeichnern ist.
Was bedeutet stark typisiert genau?
Obwohl es für diese spezielle Frage nicht relevant ist, bedeutet "stark typisiert", dass ein Objekt eine bestimmte Vorstellung von Typ hat. Beispielsweise können Sie in C # int i = "5";
nicht ausführen, weil "5" eine Zeichenfolge und i
eine Ganzzahl ist - ihre Typen sind nicht miteinander kompatibel.
Dies ist der Gegensatz zu "schwach typisierten" Sprachen, wo der Begriff "Typ" nicht so stark ist. Eine schwach typisierte Sprache könnte entscheiden, dass für etwas wie i = 5; j = "6"; print (i + j);
die richtige Antwort 11 ist.
"Stark typisiert" bedeutet in diesem Fall, dass Visual Studio versucht, aus Ihren Ressourcennamen ein Objektmodell für Sie zu generieren.
Beispiel: Sie haben eine Ressourcendatei mit URLs, die auf Ihre bevorzugten Websites verweisen. Ihre Ressourcen sind etwas wie:
Wenn die Ressource generate verwendet wird, um dies stark zu tippen, erhalten Sie ein Objektmodell, das wie folgt aufgerufen werden kann:
string googleUrl = Resources.Google;
string msUrl = Resources.Microsoft;
Wenn Sie eine Periode im Namen der Ressource haben, kann der Codegenerator sie nicht verwenden, da dies ungültige Namen im Resources-Objekt erzeugen würde. Zum Beispiel:
Dies wäre ungültig, weil es versuchen würde, eine Ressource namens Resources.Asp.NET
Ich bin mir nicht sicher, ob es Ihnen helfen wird, Ihr Problem zu lösen, aber im Interesse der Beantwortung Ihrer eigentlichen Frage. Stark typisiert bedeutet, dass die Variable einen bestimmten Typ hat, im Gegensatz zu einem Typ, der zur Laufzeit festgelegt wird. Besuche Wikipedia
Zum Beispiel:
%Vor%Bedeutet, dass die Zählervariable stark typisiert ist, da wir wissen, dass es ein Int32 ist. Andere Sprachen oder die Verwendung dynamischer Schlüsselwörter bedeuten:
%Vor%bedeutet, dass der Zähler nicht stark typisiert ist, da er zur Laufzeit vom Ergebnis von ResultOfFunc () bestimmt wird.
Ich vermute, dass Sie eine Ressource namens "MB ArchiveRestore.cs 11" haben.
Seit VS 2005 generiert der Compiler (oder genauer gesagt ein Add-On-Tool) automatisch Zugriffsklassen für eingebettete Ressourcen. Diese können zum Abrufen der Ressourcen verwendet werden.
Die Klasseneigenschaft für Ihr Beispiel ist wahrscheinlich Properties.Resources.MB_ArchiveRestore.cs_11
.
Diese strikt typisierten Ressourcenklassen bieten auch eine bequeme Möglichkeit zur Lokalisierung.
Tags und Links c# resources compiler-warnings