가능한 중복 :
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를 반환하지 *이가하는 것을 깨닫게? –
제 생각에 이것은 다음에 서버를 다시 시작할 때까지 순차적 인 guid를 만듭니다. – hazimdikenli