Ich habe 2 Klassenbibliotheken (C#), sagen A und B.Erweiterung System-Namespace und verwenden Sie es als andere. DLL-Referenz
Bibliothek A
hat einige Methoden drin. Diese Methoden benötigen und eine Erweiterungsmethode zum Chiffrieren/Entschlüsseln ihrer Werte.
Bibliothek B
erledigt diesen Job. Diese Bibliothek verfügt über eine Erweiterungsmethode, erweitert sie jedoch im Namespace System
.
namespace System
{
public static class EncryptDecrypt
{
public static string ToEncrypt(this Object toEncrypt)
{
}
public static string ToDecrypt(this string toDecrypt)
{
}
}
}
Der Grund, warum ich es war in System
Namespace hatte während der ganzen Anwendung diese Erweiterung zu nutzen, ohne in using
Abschnitt importieren zu müssen.
Bitte beachten
Bibliothek B
wird immer als .dll
Referenz verwendet werden, da es einen privaten Schlüssel (ein geheimer Schlüssel) für Chiffre/entschlüsseln hat. Also wo auch immer ich diese Bibliothek verwenden werde; Ich hätte einen öffentlichen Schlüssel, um die Dinge zu verschlüsseln.
Ich hatte alles eingerichtet und wenn ich es versuche; Es gibt mir Kompilierzeitfehler für jede Erweiterung, wo immer ich sie verwende.
Also, wenn ich es an einer Schnur item.Member_FirstName.ToEncrypt()
‚string‘ enthält keine Definition verwenden für ‚ToEncrypt‘ und keine Erweiterungsmethode ‚ToEncrypt‘ ein erstes Argument vom Typ ‚string‘ akzeptieren konnte gefunden werden (möglicherweise fehlt eine using-Direktive oder ein Montage Referenz?)
Aber wenn ich auf die Definition dieser Erweiterungsmethoden gehen. Diese gehen auf korrekte Definition von ihnen in der Bibliothek ** B
. **
Ich vermute, dass es Konflikte mit Bibliothek A's
System-Namespace und B's
System-Namespace?
Bitte korrigieren Sie mich.
'using EncryptDecrypt' –
@LeiYang, Dont brauchen, dass eigentlich als Namespace ist" System ". Ich habe das irgendwo in Frage gestellt. – Manoj
Das System ist für die Microsoft Net Library reserviert. Sie haben keinen Zugriff zum Hinzufügen von Elementen zu dieser Bibliothek. Sie sollten also jede benutzerdefinierte Bibliothek Ihren eigenen Root-Namespace verwenden lassen. – jdweng