Mögliche Duplizieren:
Can you add extension methods that you call like static methods?Erweiterungsmethoden als statische Klassenmethoden
Ich möchte NewSequentialGuid
Funktion auf dem Guid
Systemtyp hinzuzufügen, kann ich wie folgt so verwenden:
Id = Guid.NewSequentialGuid()
namespace MyExtensions
{
public static class GuidExtensions
{
[DllImport("rpcrt4.dll", SetLastError = true)]
static extern int UuidCreateSequential(out Guid guid);
public static Guid NewSequentialGuid(this Guid guid)
{
const int RPC_S_OK = 0;
Guid g;
int hr = UuidCreateSequential(out g);
if (hr != RPC_S_OK)
throw new ApplicationException
("UuidCreateSequential failed: " + hr);
return g;
}
}
}
Aber ich kann das nicht zum Laufen bringen, es funktioniert nur mit Instanzvariablen, jede Idee, wie man das zur erweiterten Klasse als statische Methode hinzufügt?
Sie erkennen, dass diese * nicht * guids zurück, die in irgendeiner Weise sequentiell sind, nicht wahr? –
Mein Verständnis ist, dass dies sequentielle Guides bis zum nächsten Neustart des Servers erstellt. – hazimdikenli