{"id":274013,"date":"2016-02-10T16:21:02","date_gmt":"2016-02-10T13:21:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=274013"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=274013","title":{"rendered":"\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 WPF \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Infragistics"},"content":{"rendered":"\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/769\/104\/36b\/76910436b663db1f3dc311bc33b9438b.png\" \/><\/div>\n<p>  \u041c\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 C#-\u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0441 \u0446\u0435\u043b\u044c\u044e \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 PVS-Studio. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 WPF \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Infragistics. \u0421\u0430\u043c\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Infragistics \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432 1989 \u0433\u043e\u0434\u0443. \u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0441\u0434\u0435\u043b\u0430\u043b\u0430 \u0441\u0435\u0431\u0435 \u0438\u043c\u044f \u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0434\u043b\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043d\u0430 \u0432\u0441\u0435\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445, \u0432\u043a\u043b\u044e\u0447\u0430\u044f .NET.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0412 PVS-Studio 6.00 \u043c\u044b \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 C# \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438 \u043e\u0431\u0449\u0435\u0433\u043e \u043f\u043b\u0430\u043d\u0430, \u043e\u043f\u0438\u0440\u0430\u044f\u0441\u044c \u043d\u0430 \u043e\u043f\u044b\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u043c\u0438 \u0440\u0430\u043d\u0435\u0435 C++ \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 PVS-Studio 6.01, \u043c\u044b \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043b\u0438 \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u0430 \u0421#. \u0414\u043b\u044f \u0441\u0442\u0430\u0440\u0442\u0430 \u0431\u044b\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u043d\u044b \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 (DependencyProperty), \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435\u0441\u044f \u0432 WPF \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445. \u041d\u0430 DependencyProperty \u0432\u044b\u0431\u043e\u0440 \u043f\u0430\u043b \u043f\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f. \u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043b\u0435\u0433\u043a\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0443 \u0432 \u043e\u0434\u043d\u043e\u0442\u0438\u043f\u043d\u043e\u043c \u043a\u043e\u0434\u0435, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0442\u044f\u0433\u043e\u0442\u0435\u044e\u0442 WPF \u043f\u0440\u043e\u0435\u043a\u0442\u044b. \u041d\u0430\u043c\u0438 \u0431\u044b\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u0440\u044f\u0434 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a [<a href=\"http:\/\/www.viva64.com\/ru\/d\/0440\/\">3044<\/a>, <a href=\"http:\/\/www.viva64.com\/ru\/d\/0441\/\">3045<\/a>, <a href=\"http:\/\/www.viva64.com\/ru\/d\/0442\/\">3046<\/a>, <a href=\"http:\/\/www.viva64.com\/ru\/d\/0443\/\">3047<\/a>, <a href=\"http:\/\/www.viva64.com\/ru\/d\/0444\/\">3048<\/a>, <a href=\"http:\/\/www.viva64.com\/ru\/d\/0445\/\">3049<\/a>], \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u044e\u0449\u0438\u0445\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0441\u0432\u043e\u0439\u0441\u0442\u0432.<\/p>\n<p>  \u041a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 DependencyProperty \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e, \u0447\u0442\u043e \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u043b\u044e\u0431\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0438\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043f\u0430\u0434\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f (\u0432 runtime). \u0412\u043e\u043b\u0435\u0439-\u043d\u0435\u0432\u043e\u043b\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438, \u0432\u043d\u043e\u0432\u044c \u0438 \u0432\u043d\u043e\u0432\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443. \u0422\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u043d\u0430 \u043f\u043e\u0438\u0441\u043a\u0438 \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0438 \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f DependencyProperty, \u0442\u0440\u0430\u0442\u044f\u0442\u0441\u044f \u0434\u0440\u0430\u0433\u043e\u0446\u0435\u043d\u043d\u044b\u0435 \u043c\u0438\u043d\u0443\u0442\u044b, \u0430 \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e \u2014 \u0446\u0435\u043b\u044b\u0435 \u0447\u0430\u0441\u044b. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 WPF \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u043d\u0435 \u0432\u0441\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>  \u041f\u0435\u0440\u0432\u044b\u043c \u0438\u0441\u043f\u044b\u0442\u0443\u0435\u043c\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a \u0441\u0442\u0430\u043b \u043a\u043e\u0434 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <a href=\"http:\/\/www.infragistics.com\/\">Infragistics<\/a>. \u0410\u0440\u0445\u0438\u0432 \u0431\u044b\u043b \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d 02.02.2016 <a href=\"http:\/\/www.infragistics.com\/samples\/wpf\/application-samples\">\u043e\u0442\u0441\u044e\u0434\u0430<\/a>, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442 11-\u0442\u0438 \u0448\u0442\u0443\u043a, \u043d\u043e \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c <a href=\"http:\/\/dl.infragistics.com\/products\/NetAdvantage\/WPF\/Showcases\/Infragistics_WPF_Showcase_All_Source.zip\">\u0432\u0441\u0435 \u043e\u0434\u043d\u0438\u043c \u0430\u0440\u0445\u0438\u0432\u043e\u043c<\/a>.<\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 <a href=\"http:\/\/www.viva64.com\/ru\/pvs-studio\/\">PVS-Studio<\/a> 6.01.<\/p>\n<h2>WPF \u043e\u0448\u0438\u0431\u043a\u0438<\/h2>\n<p>  \u041c\u043d\u043e\u0433\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043e\u0431\u0449\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0438 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043e\u0448\u0438\u0431\u043e\u043a.<\/p>\n<p>  <b>\u041e\u0448\u0438\u0431\u043a\u0430 N1<\/b><\/p>\n<p>  \u0412 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u00abIGExtensions.Common.WPF\u00bb \u0432 \u0444\u0430\u0439\u043b\u0435 \u00abLambertConformalConic.cs\u00bb \u0431\u044b\u043b\u0430 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u00abDependencyProperty\u00bb:  <\/p>\n<pre><code class=\"cs\">public static readonly DependencyProperty CentralMeridianProperty  = DependencyProperty.Register(&quot;CentralMeridianProperty&quot;,     typeof(double), typeof(LambertConformalConic),       new PropertyMetadata(0.0,         new PropertyChangedCallback(UpdateConstants)));<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0441\/\">V3045<\/a> WPF: the names of the registered property &#8216;CentralMeridianProperty&#8217;, and of the property &#8216;CentralMeridian&#8217;, do not correspond with each other. LambertConformalConic.cs 130<\/p>\n<p>  \u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u043f\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 DependencyProperty \u0432 \u0435\u0433\u043e \u0438\u043c\u0435\u043d\u0438 \u0431\u044b\u043b\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e \u00abCentralMeridianProperty\u00bb \u0432\u043c\u0435\u0441\u0442\u043e \u00abCentralMeridian\u00bb. \u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0447\u0430\u0441\u0442\u043e, \u0432\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u043d\u043e \u0442\u0430\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c.<\/p>\n<p>  \u0410 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438\/\u0447\u0442\u0435\u043d\u0438\u044f \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u0437 C# \u043a\u043e\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u044e\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e-\u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0443:  <\/p>\n<pre><code class=\"cs\">public double CentralMeridian {   get { return (double)GetValue(CentralMeridianProperty);  }   set { SetValue(CentralMeridianProperty, value); }  }<\/code><\/pre>\n<p>  \u041f\u0440\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u0438\u0437 xaml \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438, binding \u043f\u0438\u0448\u0443\u0442 \u043d\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u00abCentralMeridian\u00bb. WPF \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u043c\u043d\u044b\u0439, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0439\u0442\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e CentralMeridian \u0438 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0442\u0442\u0443\u0434\u0430, \u043d\u043e \u0432\u043e\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 CentralMeridian, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0431\u0443\u0434\u0443\u0442.<\/p>\n<p>  <b>\u041e\u0448\u0438\u0431\u043a\u0430 N2<\/b><\/p>\n<p>  \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044f \u0442\u0435\u043c\u0443 \u043e\u043f\u0435\u0447\u0430\u0442\u043e\u043a \u0432 \u0438\u043c\u0435\u043d\u0430\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443 \u0432 \u0444\u0430\u0439\u043b\u0435 \u00abTransverseMercator.cs\u00bb \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u00abIGExtensions.Common.WPF\u00bb.   <\/p>\n<pre><code class=\"cs\">public static readonly DependencyProperty CentralMeridianProperty   = DependencyProperty.Register(&quot;LongitudeOrigin&quot;, typeof(double),      typeof(TransverseMercator), new PropertyMetadata(0.0,        new PropertyChangedCallback(UpdateConstants)));  public double CentralMeridian { .... }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0441\/\">V3045<\/a> WPF: the names of the registered property &#8216;LongitudeOrigin&#8217;, and of the property &#8216;CentralMeridian&#8217;, do not correspond with each other. TransverseMercator.cs 95<\/p>\n<p>  \u041a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430, \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u0441\u043a\u043e\u043f\u043e\u043c, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u043f\u0440\u0430\u0432\u043a\u0430\u043c\u0438. \u0414\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"http:\/\/www.viva64.com\/ru\/t\/0068\/\">Copy-Paste<\/a>. \u0418 \u043d\u0435\u0440\u0435\u0434\u043a\u043e \u0433\u0434\u0435-\u0442\u043e \u0432 \u044d\u0442\u043e\u043c \u0431\u043b\u043e\u043a\u0435 \u043e\u0434\u043d\u043e\u0442\u0438\u043f\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u044e\u0442 \u043e\u0434\u043d\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0438 \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u0435\u0439 \u0434\u0440\u0443\u0433\u043e\u0435 \u0438\u043c\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u044b\u043b\u043e \u0440\u044f\u0434\u043e\u043c \u0432 \u0441\u043f\u0438\u0441\u043a\u0435. \u0410 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f, \u0447\u0442\u043e \u0441\u0430\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0433\u0434\u0435-\u043d\u0438\u0431\u0443\u0434\u044c \u0432 \u0431\u043b\u043e\u043a\u043d\u043e\u0442\u0435 [Notepad, Notepad++, Sublime Text \u0438 \u0442.\u0434.] \u0440\u044f\u0434\u043e\u043c \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043e\u043a\u043d\u0435, \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0433\u043b\u0430\u0437\u0430\u043c\u0438. \u0412\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e, \u0442.\u043a. \u043a\u043e\u0434 \u0432\u043f\u043e\u043b\u043d\u0435 \u0440\u0430\u0431\u043e\u0447\u0438\u0439, \u043d\u043e \u043f\u0440\u0430\u0432\u0434\u0430, \u043b\u0438\u0448\u044c \u043d\u0430 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443.<\/p>\n<p>  <b>\u041e\u0448\u0438\u0431\u043a\u0430 N3<\/b><\/p>\n<p>  \u0421 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438 \u0432 \u0438\u043c\u0435\u043d\u0430\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0432\u0440\u043e\u0434\u0435 \u0432\u0441\u0451 \u044f\u0441\u043d\u043e, \u043d\u043e \u0433\u0434\u0435 \u0435\u0449\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 DependencyProperty? \u041d\u0443, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0442\u0438\u043f\u0430\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0432 \u043d\u0438\u0445 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u0432 \u0444\u0430\u0439\u043b\u0435 \u00abPropertyBrushColorEditor.cs\u00bb \u0432\u0441\u0451 \u0442\u043e\u0433\u043e \u0436\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u00abIGExtensions.Common.WPF\u00bb.  <\/p>\n<pre><code class=\"cs\">public static readonly DependencyProperty BrushColorProperty =    DependencyProperty.Register(BrushColorPropertyName,      typeof(Brush), typeof(PropertyBrushColorEditor),        new PropertyMetadata(null, (sender, e) =&gt;        {....}) );  public SolidColorBrush BrushColor {  get { return (SolidColorBrush)GetValue(BrushColorProperty); }  set { SetValue(BrushColorProperty, value); } }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0442\/\">V3046<\/a> WPF: the type registered for DependencyProperty does not correspond with the type of the property used to access it.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043d\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432, \u043f\u043e\u0447\u0435\u043c\u0443 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043a\u043b\u0430\u0441\u0441 &quot; Brush&quot; \u043f\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438, \u0430 \u0432 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u00abBrushColor\u00bb \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0441\u043b\u0435\u0434\u043d\u0438\u043a\u0430 \u00abSolidColorBrush\u00bb, \u0442\u043e \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e. \u0412 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u043f\u0438\u0448\u0435\u043c \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0442\u0430\u043a\u043e\u0439 \u00ab\u0438\u0433\u0440\u044b\u00bb \u0441 \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u043c\u0438 \u0442\u0438\u043f\u0430\u043c\u0438.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 WPF \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u043a\u043b\u0430\u0441\u0441 \u043e\u043a\u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438:  <\/p>\n<pre><code class=\"cs\">public static DependencyProperty MyIndexProperty =   DependencyProperty.Register(&quot;MyIndex&quot;, typeof(int),   typeof(MainWindow), new FrameworkPropertyMetadata(1));  int MyIndex {  get { return (int)GetValue(MyIndexProperty); }  set { SetValue(MyIndexProperty, value); } }<\/code><\/pre>\n<p>  \u0412 xaml \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0435 \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code class=\"cs\">....Title=&quot;MainWindow&quot; Height=&quot;350&quot; Width=&quot;525&quot; DataContext=&quot;{Binding RelativeSource =                 {RelativeSource Mode=Self}}&quot;&gt; &lt;Grid&gt;   &lt;Grid.RowDefinitions&gt;       &lt;RowDefinition Height=&quot;Auto&quot; \/&gt;       &lt;RowDefinition Height=&quot;Auto&quot; \/&gt;       &lt;RowDefinition Height=&quot;Auto&quot; \/&gt;   &lt;\/Grid.RowDefinitions&gt;   &lt;TextBlock Grid.Row=&quot;0&quot; Text=&quot;{Binding Path=MyIndex}&quot;\/&gt;   &lt;Slider Grid.Row=&quot;1&quot; Name=&quot;slider1&quot;      Value=&quot;{Binding Path=MyIndex}&quot; Maximum=&quot;100&quot; \/&gt;     &lt;Button Grid.Row=&quot;2&quot; Click=&quot;Button_Click&quot;&gt;       \u041f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435     &lt;\/Button&gt; &lt;\/Grid&gt;<\/code><\/pre>\n<p>  \u0418 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u043a\u043b\u0430\u0441\u0441 \u043e\u043a\u043d\u0430 \u043a\u043e\u0434 \u043d\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043a\u043d\u043e\u043f\u043a\u0438:  <\/p>\n<pre><code class=\"cs\">private void Button_Click(object sender, RoutedEventArgs e) {   this.Title = this.MyIndex.ToString();  }<\/code><\/pre>\n<p>  \u0412\u0441\u0451. \u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0414\u0432\u0438\u0433\u0430\u0435\u043c \u0441\u043b\u0430\u0439\u0434\u0435\u0440, \u0447\u0438\u0441\u043b\u043e \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f. \u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443, \u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043e\u043a\u043d\u0430 \u0442\u0443\u0442 \u0436\u0435 \u043f\u043e\u043c\u0435\u043d\u044f\u043b \u0441\u0432\u043e\u0439 \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0441\u043b\u0430\u0439\u0434\u0435\u0440\u0435. \u041a\u0441\u0442\u0430\u0442\u0438, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0432 TextBlock-\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043c\u0435\u043d\u0438\u043c \u043f\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u043c DependencyProperty \u0442\u0438\u043f \u0441 \u00abint\u00bb \u043d\u0430 \u043e\u0431\u0449\u0438\u0439 \u0442\u0438\u043f \u00abobject\u00bb:  <\/p>\n<pre><code class=\"cs\">public static DependencyProperty MyIndexProperty =   DependencyProperty.Register(&quot;MyIndex&quot;, typeof(object),   typeof(MainWindow), new FrameworkPropertyMetadata(1));<\/code><\/pre>\n<p>  \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0438 \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443.<\/p>\n<p>  \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0430\u0441\u044c \u0438 \u0442\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0434\u0432\u0438\u0433\u0430\u0435\u043c \u0441\u043b\u0430\u0439\u0434\u0435\u0440, \u0432 TextBlock-\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u0432\u0435\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u041a\u0430\u043a \u043b\u0435\u0433\u043a\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f, \u0435\u0441\u043b\u0438 \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \u2014 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043f\u0430\u0434\u0435\u0442, \u0442.\u043a. \u043e\u043d\u0430 \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0441\u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0435\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 MyIndexProperty \u0432 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0435 MyIndex. \u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u043c\u0435\u043b\u043e\u0447\u044c, \u043d\u043e \u043e\u043d\u0430 \u043f\u0440\u0438\u0432\u0435\u043b\u0430 \u043a \u043f\u0435\u0447\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f\u043c. <\/p>\n<p>  <b>\u041e\u0448\u0438\u0431\u043a\u0430 N4<\/b><\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0432\u044b\u0448\u0435\u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 (\u0447\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u0435\u0447\u0430\u043b\u044c\u043d\u043e, \u0438\u0431\u043e \u0438\u0445 \u043d\u0438 \u0440\u0430\u0437\u0443 \u043d\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0438 \u0438 \u043d\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043d\u0438 \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435), \u0435\u0441\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 IGEquityTrading.WPF:  <\/p>\n<pre><code class=\"cs\">public static readonly DependencyProperty  AxisFinancialIndicatorYTemplateProperty =   DependencyProperty.Register(&quot;AxisFinancialIndicatorYTemplate&quot;,     typeof(DataTemplate),     typeof(DataChartEx),     new PropertyMetadata(default(DataTemplate)));  public DataTemplate AxisCategoryYTemplate{  get { return (DataTemplate)   GetValue(AxisFinancialIndicatorYTemplateProperty); }  set {    SetValue(AxisFinancialIndicatorYTemplateProperty, value); } }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0441\/\">V3045<\/a> WPF: the names of the property registered for DependencyProperty, and of the property used to access it, do not correspond with each other. DataChartEx.cs 469<\/p>\n<p>  \u0418 \u0441\u043d\u043e\u0432\u0430 Infragistics \u043d\u0430\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u043d\u0430 \u0442\u0435 \u0436\u0435 \u0433\u0440\u0430\u0431\u043b\u0438, \u0432\u043c\u0435\u0441\u0442\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438 \u00abAxisFinancialIndicatorYTemplate\u00bb \u0441\u043e\u0437\u0434\u0430\u044e\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u00abAxisCategoryYTemplate\u00bb.<\/p>\n<p>  <b>\u041e\u0448\u0438\u0431\u043a\u0430 N5<\/b>  <\/p>\n<pre><code class=\"cs\">public static readonly DependencyProperty  FinancialIndicatorSeriesTemplateProperty =   DependencyProperty.Register(&quot;FinancialIndicatorTemplate&quot;,     typeof(DataTemplate),     typeof(DataChartEx),     new PropertyMetadata(default(DataTemplate)));  public DataTemplate FinancialIndicatorSeriesTemplate {  get { return (DataTemplate)     GetValue(FinancialIndicatorSeriesTemplateProperty); }  set {      SetValue(FinancialIndicatorSeriesTemplateProperty, value); } }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0441\/\">V3045<\/a> WPF: the names of the property registered for DependencyProperty, and of the property used to access it, do not correspond with each other. DataChartEx.cs 344<\/p>\n<p>  \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0448\u0438\u0431\u043a\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0430, \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0448\u0438\u043b\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0438 \u0432\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0432 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0443 \u0444\u0440\u0430\u0437\u044b \u00abFinancialIndicatorTemplate\u00bb \u0441\u043b\u043e\u0432\u043e \u00abSeries\u00bb. \u0421\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435, \u0447\u0442\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u0438 \u0432\u0435\u0437\u0434\u0435, \u0434\u0430\u0436\u0435 \u0432 XAML \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0435 \u0438 \u0432 &quot;#region&quot;, \u043d\u043e \u0432\u043e\u0442 \u0432 \u0438\u043c\u0435\u043d\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0437\u0430\u0431\u044b\u043b\u0438.<\/p>\n<ul>\n<li>&#8230;.\\Infra\\EquityTrading\\IGEquityTrading.WPF\\App.xaml(123): &lt;DataTemplate x:Key=\u00abFinancialIndicatorSeriesTemplate\u00bb&gt;<\/li>\n<li>&#8230;.\\Infra\\EquityTrading\\IGEquityTrading.WPF\\App.xaml(214): FinancialIndicatorSeriesTemplate=&quot;{StaticResource FinancialIndicatorSeriesTemplate}&quot;<\/li>\n<li>&#8230;.\\Infra\\EquityTrading\\IGEquityTrading.WPF\\Controls\\DataChartEx.cs(189): var financialIndicator = FinancialIndicatorSeriesTemplate.LoadContent() as Series;<\/li>\n<li>&#8230;.\\Infra\\EquityTrading\\IGEquityTrading.WPF\\Controls\\DataChartEx.cs(330): #region FinancialIndicatorSeriesTemplate (DependencyProperty)<\/li>\n<li>&#8230;.\\Infra\\EquityTrading\\IGEquityTrading.WPF\\Controls\\DataChartEx.cs(336): public DataTemplate FinancialIndicatorSeriesTemplate<\/li>\n<li>&#8230;.\\Infra\\EquityTrading\\IGEquityTrading.WPF\\Controls\\DataChartEx.cs(349): #endregion FinancialIndicatorSeriesTemplate (DependencyProperty)<\/li>\n<li>&#8230;.\\Infra\\EquityTrading\\IGEquityTrading.WPF\\Controls\\StockHistoryChart.xaml(646): FinancialIndicatorSeriesTemplate=&quot;{StaticResource FinancialIndicatorSeriesTemplate}&quot;<\/li>\n<\/ul>\n<p>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u00abFinancialIndicatorTemplate\u00bb \u043d\u0438\u0433\u0434\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u0430 \u043a \u0447\u0435\u043c\u0443 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u0442\u0430\u043a\u0430\u044f \u043e\u043f\u043b\u043e\u0448\u043d\u043e\u0441\u0442\u044c, \u043c\u044b \u0443\u0436\u0435 \u0437\u043d\u0430\u0435\u043c.<\/p>\n<h2>\u041d\u0435\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 C# \u043e\u0448\u0438\u0431\u043a\u0438<\/h2>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445 \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Infragistics \u043d\u0435 \u043d\u0430\u0448\u043b\u043e\u0441\u044c \u0431\u043e\u043b\u044c\u0448\u0435 WPF \u043e\u0448\u0438\u0431\u043e\u043a. \u041a\u0430\u043a \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u043e\u0441\u044c, \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e WPF \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u044b \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u0435\u0449\u0435 \u0434\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u0410 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0443\u0436\u0435 \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430\u043c\u0438 \u0438 QA \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430\u043c\u0438. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0446\u0435\u043d\u0438\u043b\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0438 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c. \u0414\u0443\u043c\u0430\u044e, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u0437\u0430\u043c\u0435\u0447\u0430\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0443, \u0442\u043e, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u044f\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432.<\/p>\n<p>  \u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043a\u0440\u043e\u043c\u0435 WPF \u043e\u0448\u0438\u0431\u043e\u043a, \u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445 \u0435\u0441\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435. \u0410\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u0432\u044b\u0434\u0430\u043b \u0432 \u0441\u0443\u043c\u043c\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0442\u0435\u043d \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439. \u0414\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435 \u0438\u0437 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438. \u041c\u043d\u043e\u0433\u0438\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 double \u0441 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043e\u0439) \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432. \u042d\u0442\u043e \u043d\u0435 \u0441\u0442\u0440\u0430\u0448\u043d\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u043f\u043e\u0434\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0435\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439.<\/p>\n<p>  \u0412 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439 \u043c\u043d\u043e\u0433\u043e, \u0438 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0438\u0445 \u0447\u0430\u0441\u0442\u044c \u0441\u0432\u0438\u0434\u0435\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0431 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u044f\u0445 \u0432 \u043a\u043e\u0434\u0435. \u042d\u0442\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438\u043b\u0438 \u043a\u043e\u0434 \u00ab\u0441 \u0437\u0430\u043f\u0430\u0445\u043e\u043c\u00bb. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0430\u0432\u0442\u043e\u0440\u0430\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f. \u0417\u0434\u0435\u0441\u044c \u0436\u0435 \u043c\u044b \u043f\u0440\u043e\u0439\u0434\u0435\u043c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u0441\u0430\u043c\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u0438\u0437 \u043d\u0438\u0445:  <\/p>\n<pre><code class=\"cs\">public bool IsValid { get {   var valid =      double.IsNaN(Latitude) || double.IsNaN(Latitude) ||     this.Weather.DateTime == Weather.DateTimeInitial;   return valid;  } }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0381\/\">V3001<\/a> There are identical sub-expressions &#8216;double.IsNaN(Latitude)&#8217; to the left and to the right of the &#8216;||&#8217; operator. WeatherStation.cs 25<\/p>\n<p>  \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430\u043c \u0436\u0438\u0442\u044c \u0442\u044f\u0436\u0435\u043b\u043e. \u041e\u043d\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u0430\u043c\u043e\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438, \u043d\u043e \u0438 \u0432 \u0442\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438, \u0433\u0434\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430. \u0412\u043e\u0442 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043e\u043d\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0438 \u0437\u043d\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0441\u043b\u043e\u0432\u0430, \u043a\u0430\u043a \u00ab\u0432\u0438\u0440\u0430\u00bb (\u0412\u0432\u0435\u0440\u0445), \u00ab\u043c\u0430\u0439\u043d\u0430\u00bb (\u0412\u043d\u0438\u0437), \u00abLatitude\u00bb(\u0428\u0438\u0440\u043e\u0442\u0430), \u00abLongitude\u00bb(\u0414\u043e\u043b\u0433\u043e\u0442\u0430) \u0438 \u0442.\u0434. \u042d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u0441\u0445\u043e\u0436\u0438 \u043f\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e. \u0412\u043e\u0442 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e \u043f\u0438\u0448\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043e\u0434\u043d\u043e\u0439 \u0438 \u0442\u043e\u0439 \u0436\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439: double.IsNaN(Latitude) || double.IsNaN(Latitude).<\/p>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430:  <\/p>\n<pre><code class=\"cs\">private static int clipSegment(....) {  if (xmax &gt; rc.Right &amp;&amp; xmax &gt; rc.Right)  {    return -1;  } }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0381\/\">V3001<\/a> There are identical sub-expressions &#8216;xmax &gt; rc.Right&#8217; to the left and to the right of the &#8216;&amp;&amp;&#8217; operator. Geometry. Geometry.CubicSpline.cs 529<\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u043e\u0433\u043e, \u0432 \u043a\u0430\u043a\u0438\u0445 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u043b\u0435\u0436\u0438\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u2014 \u0434\u0435\u043b\u043e \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e\u0435, \u043d\u043e \u0432\u043e\u0442 \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f \u0432 \u0437\u043d\u0430\u043a\u0430\u0445, \u0430 \u043f\u043e\u0441\u043b\u0435 \u2014 \u0438 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c, \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u043a\u043e. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0434\u043b\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430: \u043e\u0431\u0449\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0438 \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0441 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0442\u043e\u0440\u043e\u043d \u0432 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445.  <\/p>\n<pre><code class=\"cs\">if (xmin &lt; rc.Right &amp;&amp; rc.Right &lt; xmax)<\/code><\/pre>\n<p>  \u041e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u0435\u0435 \u0438 \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043b\u0435\u0433\u0447\u0435.<\/p>\n<p>  P.S. \u041f\u0440\u0430\u0432\u0434\u0430 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u0444\u043e\u043a\u0443\u0441 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 Entity Framework, \u043f\u0440\u0438 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 LINQ \u043a\u043e\u0434\u0430 \u0432 SQL-\u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0443\u043f\u0430\u0434\u0435\u0442. \u0412\u043e\u0442 \u0442\u0430\u043a\u0438\u0435 \u0432\u043e\u0442 \u0434\u0435\u043b\u0430 \ud83d\ude42 <\/p>\n<p>  \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 Infragistics \u0447\u0442\u043e-\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0443\u0434\u0440\u0438\u043b \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\u043c\u0438. \u041a\u0440\u043e\u043c\u0435 \u0432\u044b\u0448\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u043f\u043e\u0434\u043e\u0431\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u043b\u0430\u0441\u044c \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0440\u043e\u0447\u043a\u0430\u0445:  <\/p>\n<pre><code class=\"cs\">private static int clipSegment(....) {   ....   if (ymin &lt; rc.Top &amp;&amp; ymin &lt; rc.Top) \/\/&lt;= \u0437\u0434\u0435\u0441\u044c   ....   if (ymax &gt; rc.Bottom &amp;&amp; ymax &gt; rc.Bottom) \/\/&lt;= \u0438 \u0437\u0434\u0435\u0441\u044c   .... }<\/code><\/pre>\n<p>  \u0414\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0435 <a href=\"http:\/\/www.viva64.com\/ru\/d\/0381\/\">V3001<\/a> \u043c\u0430\u043b\u043e \u044d\u0442\u0438\u0445 \u043e\u0448\u0438\u0431\u043e\u043a, \u0438 \u043e\u043d\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u044d\u043a\u0441\u043f\u0430\u043d\u0441\u0438\u044e \u043f\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0443 :). \u0412\u043e\u0442 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0435\u0451 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044f:  <\/p>\n<pre><code class=\"cs\">private static bool IsInDesignModeStatic(this Application app) {  ....   if (_isInDesignMode != null &amp;&amp; _isInDesignMode.HasValue)     return _isInDesignMode.Value;  .... }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0381\/\">V3001<\/a> There are identical sub-expressions &#8216;_isInDesignMode != null&#8217; to the left and to the right of the &#8216;&amp;&amp;&#8217; operator. NavigationApp.cs 415<\/p>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u043d\u0435 \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439, \u0430 \u0441 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c. \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c:  <\/p>\n<pre><code class=\"cs\">if (_isInDesignMode.HasValue)<\/code><\/pre>\n<p>  \u0415\u0449\u0435 \u043e\u0434\u043d\u043e \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0435 V3001 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430\u0441 \u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0443 \u00abIgWord.Infrastructure\u00bb:  <\/p>\n<pre><code class=\"cs\">void ParagraphSettingsPreviewAdapter_PropertyChanged(  object sender, PropertyChangedEventArgs e) {  ....  if (LineSpacingType == Infrastructure.LineSpacingTypes.Exactly    || LineSpacingType == Infrastructure.LineSpacingTypes.Exactly){  .... }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0381\/\">V3001<\/a> There are identical sub-expressions &#8216;LineSpacingType == Infrastructure.LineSpacingTypes.Exactly&#8217; to the left and to the right of the &#8216;||&#8217; operator. ParagraphSettingsPreviewAdapter.cs 268<\/p>\n<p>  \u0427\u0442\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u0437\u0434\u0435\u0441\u044c \u0445\u043e\u0442\u0435\u043b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043d\u043e \u044f\u0432\u043d\u043e \u043d\u0435 \u0442\u043e, \u0447\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e.<\/p>\n<p>  \u041e\u0442 V3001, \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u0438, \u043f\u0440\u0435\u0439\u0434\u0435\u043c \u043a V3010. <\/p>\n<p>  \u0412 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u00abIGEarthQuake.WPF\u00bb, \u0435\u0441\u0442\u044c \u043f\u0430\u0440\u0430 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0439:  <\/p>\n<pre><code class=\"cs\">public MapViewModel() {   ....   WeakPropertyChangedListener.CreateIfNecessary(_service, this);   .... }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0406\/\">V3010<\/a> The return value of function &#8216;CreateIfNecessary&#8217; is required to be utilized. MapViewModel.cs 42  <\/p>\n<pre><code class=\"cs\">public TimeLineViewModel(){   ....   WeakPropertyChangedListener.CreateIfNecessary(_service, this);   .... }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0406\/\">V3010<\/a> The return value of function &#8216;CreateIfNecessary&#8217; is required to be utilized. TimeLineViewModel.cs 50<\/p>\n<p>  \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0432 \u043e\u0431\u043e\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0438 \u043e\u043d\u0430 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0435\u0451 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e:  <\/p>\n<pre><code class=\"cs\">public static  WeakPropertyChangedListener CreateIfNecessary(object source, IPropertyChangedListener listener){   INotifyPropertyChanged inpc = source as INotifyPropertyChanged;   return inpc != null ?      new WeakPropertyChangedListener(inpc, listener) : null; }<\/code><\/pre>\n<p>  \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442, \u0438 \u0435\u0451 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0442\u043e\u0436\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f. \u0412\u043e\u0442 \u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u2014 \u0430 \u0437\u0430\u0447\u0435\u043c \u0435\u0451 \u0432\u043e\u043e\u0431\u0449\u0435 \u0437\u0432\u0430\u043b\u0438? \u041f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u0441\u0451 \u044d\u0442\u043e\u2026<\/p>\n<p>  \u041f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0430\u0441 \u0436\u0434\u0435\u0442 \u0438 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u00abIGHospitalFloorPlan.WPF\u00bb:  <\/p>\n<pre><code class=\"cs\">private void ParseAllShapefiles() {   ....   this.ShapeFilesMaxBounds.Expand(new Thickness(10, 10, 10, 10));   .... }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0406\/\">V3010<\/a> The return value of function &#8216;Expand&#8217; is required to be utilized. HospitalView.xaml.cs 52<\/p>\n<p>  \u0415\u0451 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0447\u0443\u0442\u044c \u0445\u0438\u0442\u0440\u0435\u0435, \u043d\u043e \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0438\u0433\u0434\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f.<\/p>\n<p>  \u041c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043c\u0441\u044f \u0432 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u0441\u0442\u0430\u0442\u044c\u0438. \u0412\u043e\u0442 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443. \u0420\u0430\u0441\u0441\u043b\u0430\u0431\u044c\u0442\u0435\u0441\u044c, \u0430 \u043f\u043e\u0442\u043e\u043c \u043c\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043c.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/ac6\/160\/6ee\/ac61606ee2b59a4b244bae2ffcabd131.png\" \/><\/div>\n<p>  \u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u043e\u0448\u0438\u0431\u043e\u043a \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u044b\u0439 Copy-Paste \u043a\u043e\u0434\u0430:  <\/p>\n<pre><code class=\"cs\">public static EsriMapImageryView     GetImageryView(EsriMapImageryStyle imageryStyle){  ....   if (imageryStyle ==     EsriMapImageryStyle.UsaPopulationChange2010Overlay)  return EsriMapImageryViews.UsaPopulationChange2010Overlay;   if (imageryStyle ==     EsriMapImageryStyle.UsaPopulationChange2010Overlay)  return EsriMapImageryViews.UsaPopulationChange2010Overlay;  .... }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0390\/\">V3021<\/a> There are two &#8216;if&#8217; statements with identical conditional expressions. The first &#8216;if&#8217; statement contains method return. This means that the second &#8216;if&#8217; statement is senseless EsriMapImageryView.cs 97<\/p>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043f\u043e\u0434 \u043e\u0434\u043d\u0438\u043c \u0438 \u0442\u0435\u043c \u0436\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u043a\u043e\u0434. \u041d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u044b\u0439 (\u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0439) Copy-Paste-\u0435 \u043a\u043e\u0434\u0430. \u041d\u043e \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0438\u0437\u043c\u0435\u043d\u0438\u0442 \u0442\u0435\u043b\u043e \u043d\u0438\u0436\u0435\u0441\u0442\u043e\u044f\u0449\u0435\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 if, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0430\u043c \u0432 \u043b\u043e\u0433\u0438\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>  \u0418 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0438\u0435 \u0435\u0449\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0432 \u043a\u043e\u0434\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Infragistics.<\/p>\n<p>  \u041d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u043d\u0438\u0436\u0435 \u0438\u0434\u0443\u0449\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0431\u044b\u043b\u043e \u0432\u044b\u0434\u0430\u043d\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 <a href=\"http:\/\/www.viva64.com\/ru\/d\/0391\/\">V3022<\/a>:  <\/p>\n<pre><code class=\"cs\">public static double GenerateTemperature(GeoLocation location){   ....   else if (location.Latitude &gt; 10 || location.Latitude &lt; 25)    ....   else if (location.Latitude &gt; -40 || location.Latitude &lt; 10)   .... }  public static WeatherCondition GenerateWeatherCondition(....){   ....   else if (location.Latitude &gt; 10 || location.Latitude &lt; 25)   ....   else if (location.Latitude &gt; -40 || location.Latitude &lt; 10)   .... }<\/code><\/pre>\n<p>  \u0412\u0441\u0451 \u043e\u0448\u0438\u0431\u043a\u0438 \u0441\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044e:<\/p>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0391\/\">V3022<\/a> Expression &#8216;location.Latitude &gt; -40 || location.Latitude &lt; 10&#8217; is always true. Probably the &#8216;&amp;&amp;&#8217; operator should be used here.<\/p>\n<p>  \u0427\u0442\u043e \u0442\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c? \u041d\u0430\u0432\u0435\u0440\u043d\u043e \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0447\u0442\u043e \u0438 \u0432\u044b\u0448\u0435, \u043f\u0440\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043e\u0448\u0438\u0431\u043e\u043a V3001. \u041f\u043e\u043b\u0435\u0437\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0442\u0442\u0435\u0440\u043d, \u043a\u043e\u0433\u0434\u0430 \u043e\u0434\u043d\u0430 \u0438 \u0442\u0430 \u0436\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0441 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0442\u043e\u0440\u043e\u043d \u0432 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0438:  <\/p>\n<pre><code class=\"cs\">if (xmin &lt; rc.Right &amp;&amp; rc.Right &lt; xmax)<\/code><\/pre>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043c \u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a\u043e \u0432\u0442\u043e\u0440\u043e\u043c\u0443 \u0438 \u0442\u0440\u0435\u0442\u044c\u0435\u043c\u0443, \u0442.\u043a. \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u043d\u043e\u043c\u0435\u0440 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0438\u043c\u0435\u0435\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442. <\/p>\n<p>  \u041d\u0430 \u0442\u0440\u0435\u0442\u044c\u0435\u043c \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0434\u0430\u0451\u0442 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440, \u043a\u043e\u0433\u0434\u0430 \u0441\u043b\u0430\u0431\u043e \u0443\u0432\u0435\u0440\u0435\u043d \u0432 \u0441\u0432\u043e\u0435\u0439 \u043f\u0440\u0430\u0432\u043e\u0442\u0435. \u0422\u0430\u043a\u0436\u0435 \u043d\u0430 3 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b \u043d\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.<\/p>\n<p>  \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f 3 \u0443\u0440\u043e\u0432\u043d\u044f \u0440\u0435\u0434\u043a\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u044e\u0442 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438. \u0427\u0430\u0441\u0442\u043e \u044d\u0442\u043e \u0432\u0441\u0451 \u0436\u0435 \u043b\u043e\u0436\u043d\u044b\u0435 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0445\u043e\u0442\u044f \u0438 \u043d\u0430 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u043a\u043e\u0434, \u043d\u043e \u0438\u043c\u0435\u044e\u0449\u0438\u0439 \u00ab\u0437\u0430\u043f\u0430\u0445\u00bb. \u0412 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0432\u0440\u0435\u043c\u044f, \u044d\u0442\u0438 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438 \u0441\u0442\u043e\u0438\u0442 \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0438 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433 \u043a\u043e\u0434\u0430.<\/p>\n<p>  \u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u043a\u043e\u0434\u0430 c \u0434\u0432\u0443\u043c\u044f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438:  <\/p>\n<pre><code class=\"cs\">\/\/ 0 reference public static double Ramp(double a) {   return a - Math.Floor(a); }  \/\/ 1 reference public static double Frac(double a) {   return a - Math.Floor(a); }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0389\/\">V3013<\/a> It is odd that the body of &#8216;Ramp&#8217; function is fully equivalent to the body of &#8216;Frac&#8217; function (28, line 33). Math.cs 28<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f Frac \u0438\u043c\u0435\u0435\u0442 \u0445\u043e\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0441\u043c\u044b\u0441\u043b, \u0442.\u043a. \u043f\u043e\u0434\u043e\u0431\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u044b\u043b\u0430 \u0432 Pascal, \u043d\u043e \u0432\u043e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f Ramp \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0430, \u0438\u043b\u0438 \u044f \u0438\u0445 \u043d\u0435 \u043d\u0430\u0448\u0451\u043b. \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043c\u0435\u0441\u0442, \u0433\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0433\u043e\u0432\u043e\u0440\u044f\u0442 \u0441\u0430\u043c\u0438 \u0437\u0430 \u0441\u0435\u0431\u044f (\u0441\u043c. \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438).<\/p>\n<p>  \u0414\u0430\u0431\u044b \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0443\u0445\u043e\u0434\u0438\u0442\u044c \u043e\u0442 \u043e\u0448\u0438\u0431\u043a\u0438 V3013, \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043b\u0443\u0447\u0430\u0439, \u043a\u043e\u0433\u0434\u0430 \u0434\u0430\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435.   <\/p>\n<pre><code class=\"cs\">public void StartCurrent() {   StartTask(&quot;Current&quot;); } public void StopCurrent() {   StartTask(&quot;Current&quot;); }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0389\/\">V3013<\/a> It is odd that the body of &#8216;StartCurrent&#8217; function is fully equivalent to the body of &#8216;StopCurrent&#8217; function (503, line 507). DataViewModel.cs 503<\/p>\n<p>  \u041f\u043e \u0432\u0441\u0435\u0439 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u00abStartTask\u00bb \u0441 \u00abStopTask\u00bb. \u042d\u0442\u0438 \u043e\u0431\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0435\u0441\u0442\u044c \u0432 \u043a\u043e\u0434\u0435, \u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442 \u043e\u043d\u0438 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0438\u0445 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u043c.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0435\u0440\u0438\u044e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u043d\u0438\u0436\u0435\u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c:  <\/p>\n<pre><code class=\"cs\">{   IsUpdating = true;   ....   IsUpdating = false; }<\/code><\/pre>\n<p>  \u041f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0430\u0436 4-\u0445 \u043c\u0435\u0441\u0442\u0430\u0445 (\u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0441\u0431\u043e\u0440\u043e\u043a)<\/p>\n<ul>\n<li><a href=\"http:\/\/www.viva64.com\/ru\/d\/0395\/\">V3008<\/a> The &#8216;IsUpdating&#8217; variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 201, 195. GeoRegion.cs 201<\/li>\n<li><a href=\"http:\/\/www.viva64.com\/ru\/d\/0395\/\">V3008<\/a> The &#8216;IsUpdating&#8217; variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 212, 205. GeoRegion.cs 212<\/li>\n<li><a href=\"http:\/\/www.viva64.com\/ru\/d\/0395\/\">V3008<\/a> The &#8216;IsUpdating&#8217; variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 226, 216. GeoRegion.cs 226<\/li>\n<li><a href=\"http:\/\/www.viva64.com\/ru\/d\/0395\/\">V3008<\/a> The &#8216;IsUpdating&#8217; variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 244, 236. GeoRegion.cs 244<\/li>\n<\/ul>\n<p>  \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043c\u0435\u0436\u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043e\u0433\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f. \u041d\u043e \u043a\u0430\u043a \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0434\u0430\u043d\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043d\u0438\u0433\u0434\u0435 \u043d\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f, \u043a\u0440\u043e\u043c\u0435 \u0441\u0442\u0440\u043e\u043a, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430.<\/p>\n<p>  \u0425\u043e\u0440\u043e\u0448\u043e, \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u044d\u0442\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0440\u0435\u0448\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043c\u0435\u0436\u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043e\u0439 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438. \u0418 \u0432\u043e\u0442 \u0442\u0443\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u043d\u0430\u0441 \u0436\u0434\u0435\u0442 \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 \u0441\u044e\u0440\u043f\u0440\u0438\u0437. \u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043e\u0439 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:  <\/p>\n<pre><code class=\"cs\">protected bool IsUpdating = false;<\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u043d\u0435\u0442 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00abvolatile\u00bb, \u0430 \u043a\u0430\u043a \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0441 \u0443\u0441\u043f\u0435\u0445\u043e\u043c \u0435\u0451 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u0442\u0430\u043a, \u043a\u0430\u043a \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b.<\/p>\n<p>  \u0427\u0442\u043e \u0435\u0449\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043d\u0430\u0448\u043b\u043e\u0441\u044c \u0432 \u043a\u043e\u0434\u0435? \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043b\u0438\u0448\u043d\u0438\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f:<\/p>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440 1:  <\/p>\n<pre><code class=\"cs\">public static void Normalize(....) {   var x = rect.X &lt; boundingRect.X ? boundingRect.X : rect.X;   x = (rect.X + rect.Width) &gt; boundingRect.Right ?       boundingRect.X : rect.X; }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0395\/\">V3008<\/a> The &#8216;x&#8217; variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 96, 95. RectEx.cs<\/p>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440 2:  <\/p>\n<pre><code class=\"cs\">private static GradientStopCollection fromInterpolation(....){  ....  Color color=ColorTool.FromAHSV(ahsv[0],                                  ahsv[1],                                  ahsv[2],                                  ahsv[3]);  color = ColorTool.FromARGBInterpolation(min, p, max[i].Color);  .... }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0395\/\">V3008<\/a> The &#8216;color&#8217; variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 165, 163. BrushTool.cs<\/p>\n<p>  \u0418\u043d\u043e\u0433\u0434\u0430 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0432\u043e\u043e\u0431\u0449\u0435 \u0437\u0430\u0431\u0430\u0432\u043d\u044b\u0435 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u043a\u043e\u0434\u0430:   <\/p>\n<pre><code class=\"cs\">private void UpdateAutoSavedState() {   AutoSaved = true;   AutoSaved = false; }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0395\/\">V3008<\/a> The &#8216;AutoSaved&#8217; variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 691, 690. ShellViewModel.cs 691<\/p>\n<p>  \u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0441\u043e\u043c\u043d\u0435\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u043f\u0440\u0438\u0432\u043e\u0436\u0443 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430:  <\/p>\n<pre><code class=\"cs\">private bool autoSaved; public bool AutoSaved {   get { return autoSaved; }   set { autoSaved = value; } }<\/code><\/pre>\n<p>  \u0418 \u043e\u043f\u044f\u0442\u044c \u043d\u0438 \u00abvolatile\u00bb, \u043d\u0438 \u0447\u0435\u0433\u043e-\u0442\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u043e, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u043e \u0431\u044b \u043e \u0441\u043a\u0440\u044b\u0442\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u2014 \u043d\u0435\u0442.<\/p>\n<p>  \u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0435\u0449\u0435 \u043a \u043e\u0434\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 \u0441\u0442\u0440\u043e\u043a \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 <a href=\"http:\/\/www.viva64.com\/ru\/d\/0418\/\">V3029<\/a>:  <\/p>\n<pre><code class=\"cs\">public void OnPropertyChanged(PropertyChangedEventArgs ea) {  ....  var index = this.SelectedBrushCollectionIndex;  ....  if (index &gt;= 0)    DebugManager.LogData(this.BrushCollectionList[index].ToText());  if (index &gt;= 0)    this.SelectedBrushCollectionIndex = index;  .... }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0418\/\">V3029<\/a> The conditional expressions of the &#8216;if&#8217; operators situated alongside each other are identical. Check lines: 338, 339.  <\/p>\n<pre><code class=\"cs\">public static void EnableSeriesMouseDoubleClick(   this XamGeographicMap geoMap, bool isEnabled = true){   ....   if (geoMap != null) geoMap.SeriesMouseLeftButtonDown +=     OnSeriesMouseLeftButtomDown;   if (geoMap != null) geoMap.SeriesMouseLeftButtonUp +=     OnSeriesMouseLeftButtonUp;   ....   if (geoMap != null) geoMap.SeriesMouseLeftButtonDown -=     OnSeriesMouseLeftButtomDown;   if (geoMap != null) geoMap.SeriesMouseLeftButtonUp -=     OnSeriesMouseLeftButtonUp;   .... }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0418\/\">V3029<\/a> The conditional expressions of the &#8216;if&#8217; operators situated alongside each other are identical. Check lines: 92, 93. GeoMapAdapter.cs 92<\/p>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0418\/\">V3029<\/a> The conditional expressions of the &#8216;if&#8217; operators situated alongside each other are identical. Check lines: 100, 101. GeoMapAdapter.cs 100  <\/p>\n<pre><code class=\"cs\">public void SyncSeriesViewPropertyChanges() {   if (this.SeriesView != null)      this.SeriesView.PropertyUpdated += OnSeriesViewPropertyUpdated;   if (this.SeriesView != null)      this.SeriesView.PropertyChanged += OnSeriesViewPropertyChanged; }<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0418\/\">V3029<\/a> The conditional expressions of the &#8216;if&#8217; operators situated alongside each other are identical. Check lines: 342, 343. GeoSeriesLayer.cs 342<\/p>\n<p>  \u041a\u0430\u043a \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f \u2014 \u00ab\u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439, \u0430 \u0442\u043e \u0432\u0434\u0440\u0443\u0433\u00bb\u2026<\/p>\n<p>  \u0425\u043e\u0442\u044f \u044d\u0442\u043e \u0438 \u043d\u0435 \u043e\u0448\u0438\u0431\u043a\u0438, \u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0435 \u043f\u043e\u0432\u0435\u0440\u043a\u0438 \u0437\u0430\u0433\u0440\u043e\u043c\u043e\u0436\u0434\u0430\u044e\u0442 \u043a\u043e\u0434 \u0438 \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u044e\u0442 \u0435\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435.<\/p>\n<p>  \u0410 \u0432\u043e\u0442 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043e\u0437\u043d\u0438\u043a \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0430.  <\/p>\n<pre><code class=\"cs\">public Frame NavigationTarget {  get { return (Frame)this.GetValue(NavigationTargetProperty); }  set {   var targetFrame = value as Frame;   if (targetFrame != null)     this.SetValue(NavigationTargetProperty, value);  } }<\/code><\/pre>\n<p>  \u00abvalue\u00bb \u0438 \u0442\u0430\u043a \u0438\u043c\u0435\u0435\u0442 \u0442\u0438\u043f Frame, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e. \u041d\u043e \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0437\u0434\u0435\u0441\u044c \u043d\u0430\u0434\u043e \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e \u0432 \u0431\u043e\u043b\u0435\u0435 \u0432 \u0448\u0438\u0440\u043e\u043a\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435. Infragistics \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043d\u0430 null \u043f\u0440\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 DependencyProperty. \u0414\u043b\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0431\u044b\u043b\u0430 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u00abValidateValueCallback\u00bb. \u0414\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 DependencyProperty, \u0430 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u043e\u043d\u0430 \u043f\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>  \u0412 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0430\u0437 \u043d\u0430\u0448 \u0440\u0430\u0434\u0443\u0436\u043d\u044b\u0439 \u0435\u0434\u0438\u043d\u043e\u0440\u043e\u0433 \u0432 \u0441\u0438\u044f\u044e\u0449\u0438\u0445 \u0434\u043e\u0441\u043f\u0435\u0445\u0430\u0445 \u0432\u044b\u044f\u0432\u0438\u043b \u043d\u0435\u043c\u0430\u043b\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u044b\u0445 \u043c\u0435\u0441\u0442 (\u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435 \u043e\u0448\u0438\u0431\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438). \u0414\u0430, \u0442\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u0434 \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0433\u043e \u0431\u043e\u043b\u0435\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c, \u0447\u0435\u043c \u0431\u044b\u043b\u2026 \u0427\u0435\u043c \u0431\u044b\u043b, \u043a\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u043f\u0438\u0441\u0430\u043b\u0438\u2026 \u0427\u0435\u043c \u0431\u044b\u043b, \u043a\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438\u2026 \u0427\u0435\u043c \u0431\u044b\u043b, \u043a\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0438, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0438, \u0430 \u043e\u043d \u0432\u043d\u043e\u0432\u044c \u0438 \u0432\u043d\u043e\u0432\u044c \u043f\u0430\u0434\u0430\u043b \u0438\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043d\u0435 \u0442\u0430\u043a, \u043a\u0430\u043a \u043d\u0443\u0436\u043d\u043e\u2026<\/p>\n<p>  \u0412 \u043c\u043e\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0435, \u0431\u044b\u043b\u0438 \u0430\u0432\u0440\u0430\u043b\u044b \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u043c \u0438 \u043f\u043e \u043d\u043e\u0447\u0430\u043c, \u0437\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043d\u0435\u0439 \u0434\u043e \u0434\u0435\u0434\u043b\u0430\u0439\u043d\u0430, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0438 \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e. \u0412\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u043e\u043d\u0438\u043c\u0430\u043b\u0430, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u043d\u043e \u0441\u043f\u0435\u0448\u043a\u0430 \u0438 \u0443\u0441\u0442\u0430\u043b\u043e\u0441\u0442\u044c \u0434\u0430\u0432\u0430\u043b\u0438 \u043e \u0441\u0435\u0431\u0435 \u0437\u043d\u0430\u0442\u044c, \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0443\u0445\u043e\u0434\u0438\u043b\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u043e\u0442\u043b\u0430\u0434\u043a\u0443. \u0422.\u0435. \u043c\u044b \u043f\u0438\u0448\u0435\u043c \u043a\u043e\u0434, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u0441\u044f, \u0430 \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435 \u0442\u0430\u043a, \u043a\u0430\u043a \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u043e\u0441\u044c. \u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0432\u0441\u0451, \u0441\u0442\u0430\u0432\u0438\u043c \u0431\u0440\u0435\u0439\u043a\u043f\u043e\u0438\u043d\u0442 \u0438 \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u0441\u044f. \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0432\u0441\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u044f, \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043c \u0432 \u0442\u043e\u0447\u043a\u0443 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u0438 \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u0437\u0430 \u0441\u0442\u0440\u043e\u0447\u043a\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0432 \u043d\u0435\u0439 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442. \u041f\u0440\u044b\u0433\u0430\u044f \u043f\u043e \u043a\u043e\u0434\u0443 \u0442\u0443\u0434\u0430-\u0441\u044e\u0434\u0430 \u0438 \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445. \u0410 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0433\u0434\u0435-\u0442\u043e \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0438 \u043f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0438\u043b\u0438 \u0437\u043d\u0430\u043a\u2026 \u0412\u043e\u0442 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043d\u0430 \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0443 \u043f\u0440\u0438 Copy-Paste-\u0435 \u0443\u0445\u043e\u0434\u0438\u0442 15 \u043c\u0438\u043d\u0443\u0442 \u0447\u0438\u0441\u0442\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438\u2026<\/p>\n<p>  \u0422\u0430\u043a \u0447\u0442\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u044b \u043c\u044b \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u044b, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u044b \u043c\u044b \u0432 \u043d\u0438\u0445 \u043d\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0438 \u043e\u0448\u0438\u0431\u043e\u043a, \u044d\u0442\u043e \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u043c\u0435\u043b\u0435\u043d\u044c\u043a\u0430\u044f \u0432\u0435\u0440\u0448\u0438\u043d\u0430 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u0430\u0439\u0441\u0431\u0435\u0440\u0433\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043f\u0440\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u043a\u043e\u0434\u0430.<\/p>\n<p>  \u041d\u0438\u043a\u0442\u043e \u043d\u0435 \u0437\u0430\u0441\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u043d \u043e\u0442 \u043e\u0448\u0438\u0431\u043e\u043a. \u0414\u0430\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043b\u0443\u0436\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0437\u0446\u043e\u043c \u0434\u043b\u044f \u043f\u043e\u0434\u0440\u0430\u0436\u0430\u043d\u0438\u044f \u0438 \u0432\u0438\u0437\u0438\u0442\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043e\u043a. <\/p>\n<p>  \u041c\u043e\u0439 \u0432\u0430\u043c \u0438\u0441\u043a\u0440\u0435\u043d\u043d\u0438\u0439 \u0441\u043e\u0432\u0435\u0442 \u2014 \u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u043c PVS-Studio \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e. \u0414\u043b\u044f \u044d\u0442\u043e \u0432 \u043d\u0435\u043c \u0435\u0441\u0442\u044c \u0432\u0441\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u0442\u044c \u0440\u0435\u0436\u0438\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u0432\u0430\u043c \u0434\u0430\u0436\u0435 \u043d\u0435 \u043d\u0430\u0434\u043e \u0435\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c, \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u0441\u0430\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0438 \u0441\u043e\u043e\u0431\u0449\u0438\u0442 \u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0445 \u0432 \u043d\u0438\u0445.<\/p>\n<p>  <a href=\"http:\/\/www.viva64.com\/en\/b\/0375\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/35e\/064\/ddf\/35e064ddf91f5d99b620384893909ff7.png\" \/><\/div>\n<p><\/a><br \/>  \u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435\u0439 \u0441 \u0430\u043d\u0433\u043b\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u0439 \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u0435\u0439, \u0442\u043e \u043f\u0440\u043e\u0448\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434: Vitaliy Alferov. <a href=\"http:\/\/www.viva64.com\/en\/b\/0375\/\">Analyzing source code of WPF examples by the Infragistics Company<\/a>.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u043e\u0447\u0438\u0442\u0430\u043b\u0438 \u0441\u0442\u0430\u0442\u044c\u044e \u0438 \u0435\u0441\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441?<\/b><\/p>\n<div class=\"spoiler_text\">\u0427\u0430\u0441\u0442\u043e \u043a \u043d\u0430\u0448\u0438\u043c \u0441\u0442\u0430\u0442\u044c\u044f\u043c \u0437\u0430\u0434\u0430\u044e\u0442 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b. \u041e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u043d\u0438\u0445 \u043c\u044b \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u0437\u0434\u0435\u0441\u044c: <a href=\"http:\/\/www.viva64.com\/ru\/a\/0085\/\">\u041e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u0440\u043e PVS-Studio, \u0432\u0435\u0440\u0441\u0438\u044f 2015<\/a>. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441\u043e \u0441\u043f\u0438\u0441\u043a\u043e\u043c.  <\/div>\n<\/div>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/276989\/\"> https:\/\/habrahabr.ru\/post\/276989\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/769\/104\/36b\/76910436b663db1f3dc311bc33b9438b.png\" \/><\/div>\n<p>  \u041c\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 C#-\u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0441 \u0446\u0435\u043b\u044c\u044e \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 PVS-Studio. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 WPF \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Infragistics. \u0421\u0430\u043c\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Infragistics \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432 1989 \u0433\u043e\u0434\u0443. \u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0441\u0434\u0435\u043b\u0430\u043b\u0430 \u0441\u0435\u0431\u0435 \u0438\u043c\u044f \u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0434\u043b\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043d\u0430 \u0432\u0441\u0435\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445, \u0432\u043a\u043b\u044e\u0447\u0430\u044f .NET.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-274013","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/274013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=274013"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/274013\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=274013"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=274013"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=274013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}