Sto usando il ReSharper per ridimensionare il mio codice. Quando provo a spostare un blocco di codice al metodo, ottengo il seguente avvertimento:Perché viene visualizzato l'errore ReSharper "Il codice estratto ha più punti di accesso"?
The extracted code has multiple entry points
Ecco la firma del metodo sto progettando di utilizzare:
private void GetRatePlanComponents(ProductPlan productPlan,
ProductRatePlan productRatePlan)
ho cercato nel web per capire cosa significa. Ma non ha avuto molta fortuna. Qualcuno lo spiegherebbe?
Per riferimento, ecco il frammento di codice che sto cercando di passare ad un metodo separato:
QueryResult productRatePlanChargeQueryResult =
_zuoraService.query(string.Format(@"select Id, Name, IncludedUnits from
ProductRatePlanCharge where ProductRatePlanId = '{0}' and
ChargeModel = 'Overage Pricing'", productRatePlan.Id));
if (productRatePlanChargeQueryResult.size > 0)
{
foreach (ProductRatePlanCharge productRatePlanCharge
in productRatePlanChargeQueryResult.records)
{
string numberOfUnits = productRatePlanCharge.IncludedUnits.ToString();
if (productRatePlanCharge.Name.Equals("Users"))
{
productPlan.NumberofUsers = numberOfUnits;
}
else if (productRatePlanCharge.Name.Equals("Projects"))
{
productPlan.NumberofProjects = numberOfUnits;
}
else if (productRatePlanCharge.Name.Equals("Storage"))
{
decimal volumeOfStorage;
if (decimal.TryParse(productRatePlanCharge.IncludedUnits.ToString(),
out volumeOfStorage))
{
if (volumeOfStorage < 1) volumeOfStorage *= 1000;
productPlan.VolumeofStorage = volumeOfStorage.ToString();
}
else
{
productPlan.VolumeofStorage = numberOfUnits;
}
}
}
}
}
Sei sicuro che indichi più punti * entry * anziché * exit * punti? Indica una linea particolare? È questa la totalità del metodo? Puoi includere la firma del metodo? –
@Jon Skeet: Sì. dice "entry point". Dai un'occhiata alla domanda aggiornata. – Moon