REFACTOR: Possible 'System.NullReferenceException'.

This commit is contained in:
2017-12-21 16:59:15 +00:00
parent 586b838a17
commit f65de10280
11 changed files with 140 additions and 112 deletions

View File

@@ -51,8 +51,8 @@ namespace DiscImageChef.Filters
{
if(!type.IsSubclassOf(typeof(Filter))) continue;
Filter filter = (Filter)type.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
if(!filtersList.ContainsKey(filter.Name.ToLower())) filtersList.Add(filter.Name.ToLower(), filter);
Filter filter = (Filter)type.GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { });
if(filter != null && !filtersList.ContainsKey(filter.Name.ToLower())) filtersList.Add(filter.Name.ToLower(), filter);
}
catch(Exception exception) { DicConsole.ErrorWriteLine("Exception {0}", exception); }
}
@@ -67,18 +67,17 @@ namespace DiscImageChef.Filters
if(!filter.Identify(path)) continue;
Filter foundFilter =
(Filter)filter.GetType().GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
foundFilter.Open(path);
(Filter)filter.GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { });
if(foundFilter.IsOpened()) return foundFilter;
foundFilter?.Open(path);
if(foundFilter?.IsOpened() == true) return foundFilter;
}
else noFilter = filter;
if(!noFilter.Identify(path)) return noFilter;
if(!noFilter?.Identify(path) == true) return noFilter;
noFilter.Open(path);
if(noFilter.IsOpened()) return noFilter;
noFilter?.Open(path);
return noFilter;
}