2011-09-20 9 views
6

Estaba construyendo mi BLL con .Net Framework 4.0 pero luego noté que lo necesitaba para una aplicación de WebServices, así que cambié la versión de .Net a 3.5. Ahora tengo esta línea de código me da un error:Cómo usar System.Guid.Parse en framework 3.5

tmp.GlobalIdentifier = Guid.Parse(Convert.ToString(row["GlobalIdentifier"]));

El error es

'System.Guid' does not contain a definition for 'Parse'

que es un error muy clara. ¿Tiene algún método "Parse" equivalente en cualquier otra clase? ¿Cuál sería la mejor manera de analizar un UniqueIdentifier de SQL Server en un objeto System.Guid utilizando .Net Framework 3.5?

Respuesta

17

tratar tmp.GlobalIdentifier = new Guid(Convert.ToString(row["GlobalIdentifier"]))

Linking MSDN documentation.

+0

Gracias, esto funcionó como un encanto. Vi un montón de soluciones Regex para este problema, pero quería algo más como esto (deje que .net haga el trabajo por mí). ¡Gracias por su amabilidad! –

1

¿Cuál es el tipo de .NET que está utilizando para almacenar el servidor SQL UniqueIdentifier?

Si es la SqlGuid estructura, sólo puede utilizar el proporcionado explicit conversion operator:

tmp.GlobalIdentifier = (Guid)(SqlGuid)row["GlobalIdentifier"]; 

Si está utilizando una cadena que Guid puede aceptar, a continuación, puedes utilizar la sobrecarga del constructor del Guid que acepta una cadena , como otros han mencionado.

+0

Gracias Amablemente Ani. De hecho, yo mismo no almaceno datos en esta tabla, solo los recupero así que ignoro cómo se están haciendo. Sin embargo, usaré esto para asegurarme de que surja la oportunidad. Gracias por la ayuda. –

4
Guid myGuid = new Guid("B80D56EC-5899-459d-83B4-1AE0BB8418E4"); 
Cuestiones relacionadas