可能重複:
Can you add extension methods that you call like static methods?擴展方法的靜態類的方法
我想對Guid
系統類型添加NewSequentialGuid
功能,這樣我就可以使用像以下:
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;
}
}
}
但我不能得到這個工作,它只適用於實例變量,任何想法如何將這個擴展類作爲靜態方法?
你意識到這樣做*不*返回以任何方式連續的GUID,對不對? – 2010-12-23 14:25:58
我的理解是,這將創建連續的GUID,直到下次重新啓動服務器。 – hazimdikenli 2010-12-30 12:13:52