- 1
- 2
- 3
- 4
- 5
- 6
- 7
void makeGetSet(ref int delegate() get, ref void delegate(int) set)
{
int _data = 0;
get = {return _data;};
set = (int Data){_data = Data;};
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+117
void makeGetSet(ref int delegate() get, ref void delegate(int) set)
{
int _data = 0;
get = {return _data;};
set = (int Data){_data = Data;};
}
guest 16.06.2010 17:00 # 0
guest 16.06.2010 17:47 # 0
Lure Of Chaos 16.06.2010 18:06 # 0
guest 16.06.2010 18:27 # 0
Lure Of Chaos 16.06.2010 19:03 # 0
guest 16.06.2010 21:27 # +1
-это что ? О.о
Webkill 16.06.2010 23:32 # 0
может быть, это C# 4.0?
guest 17.06.2010 00:24 # 0
guest 17.06.2010 00:25 # 0
Мне кажеться, что здесь не хватает static.
koodeer 17.06.2010 13:26 # 0
guest 17.06.2010 00:31 # −1
get = delegate {return _data;};
set = delegate (int Data){_data = Data;};
Webkill 17.06.2010 01:57 # 0
get {return _data;}
set {_data = value;}
Сабж - какая-то вымышленная хрень, в C# например запрещено ставить точкую с запятой после }, УЖЕ не скомпилируется. Вряд ли в 4.0 поменяли правила
Не говоря уже о ref void delegate(int) set
Андерс Хейльсберг перевернулся в гробу (он в нём спит)
guest 17.06.2010 09:20 # 0
А вообще должно использоваться как-то типа:
Получение 2х делегатов, а потом использование, как установка или получение значения переменной _data.
guest 17.06.2010 09:22 # 0
guest 17.06.2010 14:11 # 0
Тогда всё, раз гест не знает -- код нежизнеспособен.
guest 19.06.2010 00:28 # 0
вот так работает!!
guest 20.06.2010 21:10 # 0
[code lang=C#]
void makeGetSet(ref Func<int> get, ref Action<int> set)
{
int _data = 0;
get = delegate { return _data; };
set = delegate(int Data) { _data = Data; };
}
[code]
guest 20.06.2010 21:17 # +1