using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; using System.Runtime.InteropServices; using RomCheater.Interfaces; namespace RomCheater.PluginFramework.Core { internal class _AssemblyGuid : IAssemblyGuid { //public _AssemblyGuid() : this(new Guid()) { } public _AssemblyGuid(Assembly asm) : this(new Guid((asm.GetCustomAttributes(typeof(GuidAttribute), true)[0] as GuidAttribute).Value)) { } public _AssemblyGuid(Type type) : this(type.Assembly) { } public _AssemblyGuid(Guid guid) { _guid = guid; } #region IAssemblyGuid members private Guid _guid; public Guid guid { get { return _guid; } } #endregion } public static class AssemblyGuid { //public static Guid GetGuid() { IAssemblyGuid g = new _AssemblyGuid(); return g.guid; } public static Guid GetGuid(Assembly assembly) { IAssemblyGuid g = new _AssemblyGuid(assembly); return g.guid; } public static Guid GetGuid(Type type) { IAssemblyGuid g = new _AssemblyGuid(type); return g.guid; } } }