Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Опционные параметры для метода класса в C# как реализовать / 12 сообщений из 12, страница 1 из 1
05.06.2003, 11:56
    #32177190
демиан
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опционные параметры для метода класса в C# как реализовать
Опционные параметры для метода класса в C# как реализовать?
Перегруженные методы не предлагать.

Надо что-то типа такого:

public string GetNormalizedAddress(string OPTIONAL OriginalAddress)
{
return "fuck you bastard";
}
...
Рейтинг: 0 / 0
05.06.2003, 12:37
    #32177229
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опционные параметры для метода класса в C# как реализовать
что значит "опционные"? несколько разных? можно массив передавать.
...
Рейтинг: 0 / 0
05.06.2003, 12:47
    #32177244
демиан
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опционные параметры для метода класса в C# как реализовать
Ну как в Васике - OriginalAddress можно и не передавать.
Типа это валидные вызовы:

GetNormalizedAddres()
GetNormalizedAddres("motherfucker")
...
Рейтинг: 0 / 0
05.06.2003, 13:08
    #32177276
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опционные параметры для метода класса в C# как реализовать
делай перегрузку методов

GetNormalizedAddres()
{ return(GetNormalizedAddres("bla-bla")); //<-- то что идет по умолчанию
}

GetNormalizedAddres("motherfucker")
...
Рейтинг: 0 / 0
05.06.2003, 14:19
    #32177405
демиан
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опционные параметры для метода класса в C# как реализовать
кузя, ты бы прочел исходное сообщение, прежде чем советы давать
...
Рейтинг: 0 / 0
05.06.2003, 14:49
    #32177447
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опционные параметры для метода класса в C# как реализовать
а чем тебя перегруженные методы не устраивают?
...
Рейтинг: 0 / 0
05.06.2003, 14:58
    #32177462
демиан
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опционные параметры для метода класса в C# как реализовать
а чем тебя перегруженные методы не устраивают?

Представь, что метод принимает не один, а пять параметров, каждый может быть не обязателен. Методов таких - десятки. Мне что, расплодить их в тысячи?
...
Рейтинг: 0 / 0
05.06.2003, 15:02
    #32177469
Артем1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опционные параметры для метода класса в C# как реализовать
Тогда надо передавать какой-то объект, который может содержать в себе разное кол-во параметров, типа Params.
...
Рейтинг: 0 / 0
05.06.2003, 15:29
    #32177529
демиан
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опционные параметры для метода класса в C# как реализовать
Выходит, Басик 5 и то мог, а C# нет? :(
...
Рейтинг: 0 / 0
05.06.2003, 15:36
    #32177542
демиан
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опционные параметры для метода класса в C# как реализовать
Да, похоже тут C# сосет:

Some languages (such as the Managed Extensions for C++ and Microsoft Visual Basic .NET) support the assignment of default values to arguments.

Дарасы в M$!
...
Рейтинг: 0 / 0
18.06.2003, 14:14
    #32185464
baltika
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опционные параметры для метода класса в C# как реализовать
в шарпе можно юзать массив параметров
...
Рейтинг: 0 / 0
03.09.2003, 11:07
    #32254380
Ustazz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опционные параметры для метода класса в C# как реализовать
Вот достаточно масштабируемое решение:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
enum ParamName
{
	Name1 =  1 ,
	Name2 =  2 ,
	Name3 =  3 
}

void SomeMethod(Hashtable parameters)
{
	string param1 = string.Empty;
	string param2 = string.Empty;
	string param3 = string.Empty;

	if (parameters.ContainsKey(ParamName.Name1))
	{
		param1 = (string) parameters[ParamName.Name1];
	}
	if (parameters.ContainsKey(ParamName.Name2))
	{
		param2 = (string) parameters[ParamName.Name2];
	}
	if (parameters.ContainsKey(ParamName.Name3))
	{
		param3 = (string) parameters[ParamName.Name3];
	}

	//выполняются какие-то действия
}

void AnotherMethod()
{
	Hashtable hash = new Hashtable();

	hash.Add(ParamName.Name1,  "myValueForParam1" );
	hash.Add(ParamName.Name3,  "myValueForParam3" );

	SomeMethod(hash);
}
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Опционные параметры для метода класса в C# как реализовать / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]