В чем разница между Marshal.GenerateGuidForType (Type) и Type.GUID? - PullRequest
6 голосов
/ 27 января 2011
Type classType = typeof(SomeClass);
bool equal = Marshal.GenerateGuidForType(classType) == classType.GUID;

Я не нашел случая, который не справился бы с этим условием.

Итак , почему и когда следует использовать метод Marshal вместо простого получения свойства GUID?

Ответы [ 2 ]

6 голосов
/ 27 января 2011

см. http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.generateguidfortype.aspx

... GenerateGuidForType обеспечивает ту же функциональность, что и свойство Type.GUID.

Так что согласно документации они одинаковы.Однако Marshal.GenerateGuidForType работает только для объектов RuntimeType, а Type.GUID также предоставляется для некоторых других реализаций типов.

2 голосов
/ 27 января 2011

Согласно MSDN , "GenerateGuidForType предоставляет те же функциональные возможности, что и свойство Type.GUID" . Это должно быть безопасно использовать тот, который подходит вам лучше всего.

...