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

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

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

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

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

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

Представь, что метод принимает не один, а пять параметров, каждый может быть не обязателен. Методов таких - десятки. Мне что, расплодить их в тысячи?
...
Рейтинг: 0 / 0
Опционные параметры для метода класса в C# как реализовать
    #32177469
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда надо передавать какой-то объект, который может содержать в себе разное кол-во параметров, типа Params.
...
Рейтинг: 0 / 0
Опционные параметры для метода класса в C# как реализовать
    #32177529
демиан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выходит, Басик 5 и то мог, а C# нет? :(
...
Рейтинг: 0 / 0
Опционные параметры для метода класса в C# как реализовать
    #32177542
демиан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, похоже тут 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
Опционные параметры для метода класса в C# как реализовать
    #32185464
baltika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в шарпе можно юзать массив параметров
...
Рейтинг: 0 / 0
Опционные параметры для метода класса в C# как реализовать
    #32254380
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот достаточно масштабируемое решение:

Код: 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
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Опционные параметры для метода класса в C# как реализовать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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