Podczas sprawdzania parametru metody wyrzucam ArgumentNullException
, jeśli jest on pusty. Zobacz pierwszy wiersz w poniższej metodzie. Ale co z właściwościami parametru, które nie powinny mieć wartości NULL? Jeśli staram się obsługiwać je w ten sam sposób, pojawia się błąd analizy kodu:Najlepszy sposób na obsługę właściwości pustych w parametrze metody
CA2208 Instantiate argument exceptions correctly Method 'PriorityDeratingComponentLogic.CreateItem(IvSimulation)' passes 'ivSimulation.SolarPanel' as the 'paramName' argument to a 'ArgumentNullException' constructor. Replace this argument with one of the method's parameter names. Note that the provided parameter name should have the exact casing as declared on the method.
public DeratingComponentBase CreateItem(IvSimulation ivSimulation)
{
if (ivSimulation == null) { throw new ArgumentNullException("ivSimulation"); }
if (ivSimulation.SolarPanel == null) { throw new ArgumentNullException("ivSimulation.SolarPanel"); }
if (ivSimulation.GlobalEquipment == null) { throw new ArgumentNullException("ivSimulation.GlobalEquipment"); }
// ... method body here
}
jest błąd coś CA powinien tłumić, czy istnieje ogólnie przyjęty sposób, aby lepiej sobie z tym poradzić? Być może problem jest w fazie początkowej i nie powinniśmy nawet sprawdzać, czy w tym momencie właściwości są zerowe?
Tak, ten komunikat o błędzie analizy kodu wygląda głupio. Wydaje mi się to całkowicie w porządku. Rzecz w tym, dlatego nigdy wcześniej nie korzystałem z oprogramowania do analizy kodu ... – Jashaszun
'IvSimulation' powinien zapobiegać konstruowaniu nieprawidłowych wartości, więc powinien potwierdzać' SolarPanel' i 'GlobalEquipment'. – Lee