Один фактор, о котором Вы, возможно, не думали, Decimal.TryParse
метод. И Convert.ToDecimal
и Parse
выдают исключения, если они не могут преобразовать строку в надлежащий десятичный формат. Метод TryParse дает Вам хороший шаблон для контроля ввода.
decimal result;
if (decimal.TryParse("5.0", out result))
; // you have a valid decimal to do as you please, no exception.
else
; // uh-oh. error message time!
Этот шаблон является очень невероятно потрясающим для ввода данных пользователем проверки ошибок.
Вы почти у цели. Вам не хватает флага AuthorizationRule.InheritanceFlags - по умолчанию ACE не наследуются, но если вы добавите атрибут InheritanceFlags, ACE станут наследуемыми.
In MSDN under the DirectorySecurity it has this line:
Use the FileSecurity class to retrieve, add, or change the access rules that represent the DACL and SACL of a file.
I think that is what you need to look at to change the ACL of a file...
MSDN Ref: http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.directorysecurity.aspx