将对象转换为System Guid

Ash*_*osh 13 c#

Guid mainfolderid = (main.GetValue(""));
Run Code Online (Sandbox Code Playgroud)

哪里main是动态实体.

我怎样才能将上面提到的转换main.GetValue("")System.Guid

错误说

无法将类型对象隐式转换为"System.Guid".

Luk*_*keH 24

GetValue方法实际上是否返回了Guid类型object?如果是这样,那么你只需要像这样执行显式转换:

Guid mainfolderid = (Guid)main.GetValue("");
Run Code Online (Sandbox Code Playgroud)

如果没有,是否会GetValue返回可以传递给其中一个构造函数的东西(即a byte[]string)?在这种情况下,您可以这样做:

Guid mainfolderid = new Guid(main.GetValue(""));
Run Code Online (Sandbox Code Playgroud)

如果上述两种情况都不适用,那么您将需要做一些手动工作来将所返回的内容GetValue转换为Guid.


Dus*_*ine 5

Guid mainfolderid = new Guid(main.GetValue("").ToString());
Run Code Online (Sandbox Code Playgroud)

  • 错误的。[Guid.NewGuid](http://msdn.microsoft.com/en-us/library/system.guid.newguid.aspx) 不接受任何参数。 (3认同)
  • 如果 main.GetValue("") 是 Object 类型,则不起作用。Guid 构造函数不接受 Object 作为参数。 (2认同)

aro*_*eer 5

如果您使用 .Net 4.0,Guid 结构中添加了解析方法:

Guid Guid.Parse(string input)
Run Code Online (Sandbox Code Playgroud)

bool Guid.TryParse(string input, out Guid result)
Run Code Online (Sandbox Code Playgroud)

会做你想做的事。