C# 怎么获取类或者接口的GUID

dacan66 2010-01-26 03:35:30
例如以下代码:

[Guid("56a868c0-0ad4-11ce-b03a-0020af0ba770")]
[SuppressUnmanagedCodeSecurity]
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface IMediaEventEx : IMediaEvent
{
int CancelDefaultHandling(EventCode lEvCode);
int FreeEventParams(EventCode lEvCode, IntPtr lParam1, IntPtr lParam2);
int GetEvent(out EventCode lEventCode, out IntPtr lParam1, out IntPtr lParam2, int msTimeout);
int GetEventHandle(out IntPtr hEvent);
int GetNotifyFlags(out NotifyFlags lplNoNotifyFlags);
int RestoreDefaultHandling(EventCode lEvCode);
int SetNotifyFlags(NotifyFlags lNoNotifyFlags);
int SetNotifyWindow(IntPtr hwnd, int lMsg, IntPtr lInstanceData);
int WaitForCompletion(int msTimeout, out EventCode pEvCode);
}

我想获取该接口的GUID:
[Guid("56a868c0-0ad4-11ce-b03a-0020af0ba770")]


不知道该如何获取,请各位达人指教。
...全文
395 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dacan66 2010-01-27
  • 打赏
  • 举报
回复
谢谢talent,我将用你的方法去尝试一下,看看能不能解决问题。
telent 2010-01-26
  • 打赏
  • 举报
回复
Type type = typeof(IMediaEventEx );
Guid guid = type.GetCustomAttributes(type(Guid));
guid.GetGuid();
大概思路是这样,首先是获得结构的GuidAttribute,在从GuidAttribute中获得,你的程序应该有个GuidAttribute属性类才对
jasper 2010-01-26
  • 打赏
  • 举报
回复

'假设已经存在类class1,类似如下代码,即可搞定
protected void Button1_Click(object sender, EventArgs e)
{
Class1 o1 = new Class1();
Response.Write(o1.GetType().GUID);
}
dacan66 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xihuiyao 的回复:]
Type type = this.GetType();
type.GUID.ToString();

这也应该就可以了。
[/Quote]
这样操作的前提是不是需要先实例化,如果接口为Null,
就不能进行这样的操作了吧。。
xihuiyao 2010-01-26
  • 打赏
  • 举报
回复
三楼的同志,那是新生成了一个。楼主是想要引用已有的。
按照我的方法吧。
huangheguyun 2010-01-26
  • 打赏
  • 举报
回复
MessageBox.Show(Guid.NewGuid().ToString());
xihuiyao 2010-01-26
  • 打赏
  • 举报
回复
Type type = this.GetType();
type.GUID.ToString();

这也应该就可以了。
qlzf11140820 2010-01-26
  • 打赏
  • 举报
回复
MessageBox.Show(Guid.NewGuid().ToString());

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧