:: Не фоксом единым
FileIOPermissionAttribute
S-type

Сообщений: 2969
Дата регистрации: 24.04.2004
В книге "Основы разработки на платформе .NET Framework" Тони Нортроп и др. (Экзамен 70-536) на стр.42 есть такой пример:

В следующем примере атрибуты указывают, что необходимо прочитать файл C:\boot.ini. Из-за этого исполняющая среда перед выполнением сгенерирует исключение, если текущих привилегий недостаточно для доступа к этому файлу:

using System;
using System.Security.Permissions;
[assembly: FileIOPermissionAttribute(SecurityAction.RequestMinimum, Read = @"C:\boot.ini")]
namespace DeclarativeExample
{
class Program
{
[STAThread]
static void Main(string[] args)
{
Console.WriteLine("Hello, Word!");
}
}
}
Ratings: 0 negative/0 positive
Re: FileIOPermissionAttribute
S-type

Сообщений: 2969
Дата регистрации: 24.04.2004
Программа запускается, но IDE подчёркивает SecurityAction.RequestMinimum и выдаёт предупреждение:

[attachment 24382 s2.png]

Что означает фраза "Это действие может быть использовано только в области сборки"?
Где находится "область сборки" и "как может использоваться"?



Исправлено 1 раз(а). Последнее : S-type, 17.05.16 14:30
Ratings: 0 negative/0 positive
Re: FileIOPermissionAttribute
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
Означает что атрибут применяется целиком ко всей сборке, а не к отдельному модулю. Атрибуты размещённые в глобальной области (вне всяких пространств имён) могут применяться либо к сборке целиком, либо к отдельному модулю - и система не может сама определить к чему именно нужно применять этот атрибут. Поэтому требуется указывать так называемый attribute-target-specifier. В других случаях (когда атрибут применяется к типу, методу, полю, параметру и т.п.) система сама определяет к чему же именно атрибут относится и не требует указания явных [type: ... или там [param: ... Хотя не будет являться ошибкой и там их указывать - тем более что система лишь задаёт "цель по умолчанию" - в некоторых местах исходника атрибут может относится к разным "целям"
msdn.microsoft.com и там может потребоваться обязательно указывать этот спецификатор, чтобы уточнить цель атрибута.

Само предупреждение вроде как вполне понятное - этот вариант задания параметров безопасности является устаревшим и не поддерживается средой исполнения (т.е. по сути это всё игнорируется).

P.S. Не понимаю, зачем тебе жуткая смесь из русско-английских сообщений в IDE? Поставил бы чисто английский интерфейс студии


------------------
WBR, Igor




Исправлено 1 раз(а). Последнее : Igor Korolyov, 17.05.16 15:04
Ratings: 0 negative/0 positive
Re: FileIOPermissionAttribute
S-type

Сообщений: 2969
Дата регистрации: 24.04.2004
Igor Korolyov
Само предупреждение вроде как вполне понятное - этот вариант задания параметров безопасности является устаревшим и не поддерживается средой исполнения (т.е. по сути это всё игнорируется).
Да, старая книга, устаревший пример. Интересно - есть ли более свежий вариант, попробую поискать.

Igor Korolyov
P.S. Не понимаю, зачем тебе жуткая смесь из русско-английских сообщений в IDE? Поставил бы чисто английский интерфейс студии
Тут на русском не всегда понятно, а уж на англицком то - и подавно.
Ratings: 0 negative/0 positive
Re: FileIOPermissionAttribute
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
S-type
Тут на русском не всегда понятно, а уж на англицком то - и подавно.
IMHO ровно наоборот. На английском порой не всё очевидно и не всё сразу гуглится, а как окунаешься в перевод - ваще туши свет


------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 4 (Гостей: 4)

© 2000-2024 Fox Club 
Яндекс.Метрика