| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			mfp: X++ in AX7: The var keyword
			 
			
			Источник: http://blogs.msdn.com/b/mfp/archive/...r-keyword.aspx 
		
		
		
		
		
		
			============== ![]() This is the new language feature that is generating most discussions. Just like C# you can now use the var keyword when declaring variables. It has the exact same semantics, and any guideline you will find on how to use it in C# will also apply in X++. In C# the var keyword was introduced to enable scenarios where declaring the type was impossible, near-impossible or irrelevant, like with anonymous types and generics. Writing less was naturally well received by a lot of developers, and the use of var blossomed. It is also a great topic for steering up a debate. There are lots of guidelines and opinions. They cover the entire range from one extreme: "Always use it, it makes code easier to read" to the opposite extreme: "Never use it, it makes code harder to read". X++ does not support anonymous types or generics in AX7 - so the real need for the var keyword is not present - yet it is supported, and already heavily used. Like in C# the use of var is as strongly typed as when the type is explicitly provided. Personally, I'm recommending using var in only two cases: 
 
 THIS POST IS PROVIDED AS-IS AND CONFERS NO RIGHTS ============== Источник: http://blogs.msdn.com/b/mfp/archive/...r-keyword.aspx 
				__________________ 
		
		
		
		
	Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			var myClass = new MyClass();
		
	 
Извиняюсь. Прочитал статью. Там есть ответ на этот вопрос. Отрицательный Последний раз редактировалось S.Kuskov; 03.12.2015 в 12:23.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Британский учённый 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
 
		
				__________________ 
		
		
		
		
		
			Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. Последний раз редактировалось Link; 03.12.2015 в 12:27. Причина: RTFM  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			when using the var keyword, IntelliSense is not available (yet).
		
	 
 
		
				__________________ 
		
		
		
		
	Возможно сделать все. Вопрос времени  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Му-ха-ха-ха!!!!! 
		
		
		
		
		
		
		
	Кхе-кхе-Кх-х-хгр.... *подавился сардоническим смехом*  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А кто-нибудь понял в чем отличие от Object или Common? 
		
		
		
		
		
		
		
	типо просто круче?  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Британский учённый 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Думаю, что дело не в том, что круче. Скорее всего т.к. АХ движется постепенно в сторону С#, то скорее и смысл будет тот же что и в С#. Видно, что добавили, но не доделали. Может для будущей совместимости, а может не получилось доделать. Собственно автор и дает рекомендации объявления в АХ7.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
		
			Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. Последний раз редактировалось Link; 03.12.2015 в 14:26.  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Британский учённый 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
А где об этом можно почитать? 
				__________________ 
		
		
		
		
		
			Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. Последний раз редактировалось Link; 03.12.2015 в 16:38.  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
				__________________ 
		
		
		
		
	Возможно сделать все. Вопрос времени  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от sukhanchik
			 
 
			Я так понимаю - необязательно писать extends Object у класса - т.к. это подразумевается по умолчанию. Но классы по-любому будут отнаследованы от Object. https://msdn.microsoft.com/en-us/library/object.aspx 
		
	 | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: sukhanchik (2). | |
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
|
| За это сообщение автора поблагодарили: Logger (1), Link (1). | |
| 
			
			 | 
		#13 | 
| 
			
			 Британский учённый 
		
			
	 | 
	
	
	
		
		
		
		
		
		
		
		
		
		
			 
				__________________ 
		
		
		
		
	Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			в 2009-й 
		
		
		
		
		
		
		
		
			\Classes\Activities\classDeclaration 2-й класс в ветке аот X++: class Activities
{
    boolean deleteSeries;
}Последний раз редактировалось Logger; 03.12.2015 в 16:34.  | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Британский учённый 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
 
		
				__________________ 
		
		
		
		
	Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.  | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Британский учённый 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Я правильно понимаю, что единственная причина, по которой вы привели это класс, что у него в свойствах Extends ничего не указанно?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.  | 
| 
	
 | 
| 
			
			 | 
		#17 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Создайте экземпляр такого класса в джобе (его или любого другого который ни от чего не наследуется). И попробуйте на нем вызывать методы класса Object Получите ошибку времени выполнения.  | 
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Браузер иерархии говорит то же самое - что наследуется. А по факту это не так ![]() Добро пожаловать в реальный мир, Нео. ![]() Специально проверил в 2012-й Там то же самое. Последний раз редактировалось Logger; 03.12.2015 в 17:34.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Link (1). | |
| 
			
			 | 
		#19 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Var это не тип данных - это просто ключевое слово что тип данных будет выведен из выражения при присваивании. 
		
		
		
		
		
		
		
	Var x= new MyClass(); У x тип myClass - результат совершенно тот же что и у myClass x = new MyClass() Если вызвать x.nitExistingMetgod() результат не скопируется Object x= new MyClass() у x тип object - можно присвоить значение-экземпляр другого класса Если вызвать несуществующий метод результат скопируется но при запуске будет ошибка  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Logger (3). | |
| 
			
			 | 
		#20 | 
| 
			
			 Британский учённый 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
![]() Более того, противоположно утверждению на MSDN, все новые не стандартные классы создаются без наследования Object   И таковых немало среди стандартных. Интересно, от куда ноги растут у этого утверждения, если как минимум для 2009 и 2012 это не верно, а в статье указанно, что она относится к АХ 2012.
		
				__________________ 
		
		
		
		
	Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.  | 
| 
	
 |