I am trying the new nullable reference types C# 8.0. I have come to one tiny issue:
foreach(FileSystemAccessRule rule in directorySecurity.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount)))
{
// do something with rule
}
This shows a warning since the compiler thinks the rule could be null, which it never will be.
My current fix is this:
foreach(FileSystemAccessRule? rule in directorySecurity.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount)))
{
if (rule == null) continue;
// do something with rule
}
But I would be much happier with a fix, like [NeverNull]FileSystemAccessRule rule or something like that. Is there a way to achieve this?
if AuthorizationRuleCollection doesn't declare the nullability, or declares them as nullable: the compiler is right to complain. You can use the dammit operator, though, if you're sure:
rule!.DoTheThing();
There is an open issue (at time of writing) to perhaps change this rule slightly in the future.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With