2013-04-06 5 views
-5

вопрос о именовании локальных переменных в методе C#, который принимает параметр того же имени Пожалуйста, смотрите ниже кодC# Именование Руководство для локальных переменных

private int DoSomething(string activationCode) 
    { 
     ... 

     int ??WhatNameToChooseHere?? = Convert.ToInt32(activationCode); 

     ... 
    } 

Что может быть хорошей стратегией для применения в выше сценария

Примечания: метод и параметр Я локальные переменный отличаются только типом только

+2

Если 'activationCode' всегда действует' Int32' почему бы не сделать метод только принять его как 'Int32' и в местах, вам необходимо фактическое' String' использовать 'activationCode.ToString()'? Вы даже можете перегрузить «DoSomething», который принимает «String», преобразует его в 'Int32' и вызывает другое' DoSomething'. – Corak

+0

Несколько проектов, над которыми я работал, использовали термин «код» - это текст, 'id' - целое число (' int', 'long',' uint', 'ulong'). Поэтому мы, вероятно, назвали бы его 'activId'. Не знаю, является ли это соглашением * good *, или если оно должно применяться здесь. Как я уже сказал, если это 'int', рассматривайте его как' int'. – Corak

ответ

1

Вы не можете сделать это. Правильный способ сделать это - назвать ваши переменные разными именами.

+3

ОП знает, что он не может этого сделать. Он спрашивает, что делать ... –

+1

@JasonWatkins Я считаю, что это предложение Алана о том, что делать вместо этого: «Назовите свои переменные с разными именами». –

+0

@AnnaLear Точно, спасибо – Alan

0
private int DoSomething(string activationCodeStoredInStringAndPassedAsAnArgument) { 
    int activationCodeThatDeclaredAsAnIntegerToStoreTheValueConvertedFromString = Convert.ToInt32(activationCodeStoredInStringAndPassedAsAnArgument); 
} 
+1

Хотя это немного уместно, этот ответ в корне прав. Дайте вашим переменным более описательные имена. –

+0

@JasonWatkins: Ого, ты читал мой разум! –

+0

Я просто почувствовал необходимость описать это тем, кто проголосовал за вас. –