Как я программно получаю GUID приложения в .net2.0

Если ваш вопрос заключается в том, как класс CSS может вставить конкретный символ (который будет отображаться как значок в специальном шрифте), посмотрите на источник для FontAwesome :

.icon-glass:before { content: "\f000"; }
.icon-music:before { content: "\f001"; }
.icon-search:before { content: "\f002"; }
.icon-envelope:before { content: "\f003"; }
.icon-heart:before { content: "\f004"; }

Поэтому для вставки символа используется символ CSS (который находится из специальной зарезервированной области частного использования Unicode, которая не испортит другие читатели).

41
задан Mihai Limbășan 22 March 2009 в 22:07
поделиться

3 ответа

Попробуйте следующий код. Значение, которое Вы ищете, хранится на экземпляре GuidAttribute, присоединенном к блоку

using System.Runtime.InteropServices;

static void Main(string[] args)
{
    var assembly = typeof(Program).Assembly;
    var attribute = (GuidAttribute)assembly.GetCustomAttributes(typeof(GuidAttribute),true)[0];
    var id = attribute.Value;
    Console.WriteLine(id);
}
64
ответ дан Emrys Myrooin 12 November 2019 в 10:51
поделиться

Редактирование: тем, кто настаивает на downvoting... Невозможно удалить этот ответ, потому что это - принятая версия. Поэтому редактирую для включения корректного ответа ( код JaredPar ниже)

Достаточно простой, если Вы только хотите получить Выполняющийся блок:

using System.Reflection;

Assembly assembly = Assembly.GetExecutingAssembly();

//The following line (part of the original answer) is misleading.
//**Do not** use it unless you want to return the System.Reflection.Assembly type's GUID.
Console.WriteLine(assembly.GetType().GUID.ToString());


// The following is the correct code.
var attribute = (GuidAttribute)assembly.GetCustomAttributes(typeof(GuidAttribute),true)[0];
var id = attribute.Value;
32
ответ дан Community 12 November 2019 в 10:51
поделиться

Необходимо смочь считать атрибут Гуида блока через отражение. Это получит GUID для текущего блока

         Assembly asm = Assembly.GetExecutingAssembly();
        var attribs = (asm.GetCustomAttributes(typeof(GuidAttribute), true));
        Console.WriteLine((attribs[0] as GuidAttribute).Value);

, можно заменить GuidAttribute другими атрибутами также, если Вы хотите считать вещи как AssemblyTitle, AssemblyVersion и т.д.

, можно также загрузить другой блок (блок. LoadFrom и все) вместо того, чтобы получить текущий блок - если необходимо считать эти атрибуты внешних блоков (например, - при загрузке плагина)

6
ответ дан amazedsaint 12 November 2019 в 10:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: