<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-763086315823320854</id><updated>2024-10-04T20:29:33.221-07:00</updated><category term="C#"/><category term="Linguaggio"/><category term="How To"/><category term="Concept"/><category term="Analisi"/><category term="Linq"/><category term="asp.Net"/><category term="generic"/><category term="List T"/><category term="DataTable"/><category term="javascript"/><category term="Lambda"/><category term="Tips"/><category term="Abstract"/><category term="Vb.Net"/><category term="Html"/><category term="MVC"/><category term="Reflection"/><category term="SQLSERVER"/><category term="Threading"/><category term="Virtual"/><category term="XML"/><category term="girdView"/><category term="Filosofia"/><category term="Membership"/><category term="Eventi"/><category term="Fundamental"/><category term="Graphics"/><category term="MS:70-516"/><category term="Static"/><category term="XA.EF Entity framework"/><category term="Direct X"/><category term="Dynamic"/><category term="Regular Expression"/><category term="delegati"/><category term="jquery"/><category term="css"/><category term="sqlite"/><category term="D.D.D"/><category term="DBML"/><category term="Direct Show"/><category term="Project Management"/><category term="Sfida"/><category term="Sfida a 250 byte"/><category term="String"/><category term="WPF Tutorials"/><category term="Win7"/><category term="easter eggs"/><category term="Array di sillabe"/><category term="Crypting"/><category term="Excel"/><category term="Galagone"/><category term="GrandSLA"/><category term="IDE"/><category term="ITIL"/><category term="Json"/><category term="Lazy"/><category term="Network Time Protocol"/><category term="ORACLE"/><category term="PLINQ"/><category term="Presentazione."/><category term="Report"/><category term="SQL"/><category term="Snippet"/><category term="WMI"/><category term="Win32"/><category term="Windows Management Instrumentation"/><category term="Windows Phone"/><category term="Word"/><category term="Workflow Foundation"/><category term="XNA"/><category term="Xls"/><category term="binary"/><category term="error"/><category term="ntp"/><category term="odbc"/><title type='text'>C# Light</title><subtitle type='html'>Think about, case study, implementation...&#xa;Pensieri, casi di studio e implementazioni, tutto quello che devo affrontare lavorando in c#.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>262</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-4501541422072577121</id><published>2017-09-13T00:59:00.000-07:00</published><updated>2017-09-13T00:59:08.133-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><title type='text'>How to: Count all numeric row with &quot;n&quot; decimals </title><content type='html'>Sembra facile ma non è difficile...&lt;br /&gt;
come si possono contare tutte le righe di una tabella per cui un campo numerico ha un Dato numero di decimali.&lt;br /&gt;
&lt;br /&gt;
Consideriamo di avere una tabella simile a questa:&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 494px;&quot;&gt;

 &lt;colgroup&gt;&lt;col style=&quot;mso-width-alt: 1280; mso-width-source: userset; width: 26pt;&quot; width=&quot;35&quot;&gt;&lt;/col&gt;
 &lt;col style=&quot;mso-width-alt: 4059; mso-width-source: userset; width: 83pt;&quot; width=&quot;111&quot;&gt;&lt;/col&gt;
 &lt;col style=&quot;mso-width-alt: 3437; mso-width-source: userset; width: 71pt;&quot; width=&quot;94&quot;&gt;&lt;/col&gt;
 &lt;col style=&quot;mso-width-alt: 5888; mso-width-source: userset; width: 121pt;&quot; width=&quot;161&quot;&gt;&lt;/col&gt;
 &lt;col style=&quot;mso-width-alt: 3401; mso-width-source: userset; width: 70pt;&quot; width=&quot;93&quot;&gt;&lt;/col&gt;
 &lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr height=&quot;20&quot; style=&quot;height: 15.0pt;&quot;&gt;
  &lt;td height=&quot;20&quot; style=&quot;background: rgb(91, 155, 213); border-color: rgb(155, 194, 230) rgb(255, 255, 255) rgb(155, 194, 230) rgb(155, 194, 230); border-style: solid none solid solid; border-width: 1px 0px 1px 1px; color: white; font-family: Calibri; font-size: 11pt; font-weight: 700; height: 15pt; margin: 0px; text-decoration: none; width: 26pt;&quot; width=&quot;35&quot;&gt;ID&lt;/td&gt;
  &lt;td style=&quot;background: rgb(91, 155, 213); border-color: rgb(155, 194, 230) rgb(255, 255, 255); border-style: solid none; border-width: 1px 0px; color: white; font-family: Calibri; font-size: 11pt; font-weight: 700; margin: 0px; text-decoration: none; width: 83pt;&quot; width=&quot;111&quot;&gt;ContoDiCasa&lt;/td&gt;
  &lt;td style=&quot;background: rgb(91, 155, 213); border-color: rgb(155, 194, 230) rgb(255, 255, 255); border-style: solid none; border-width: 1px 0px; color: white; font-family: Calibri; font-size: 11pt; font-weight: 700; margin: 0px; text-decoration: none; width: 71pt;&quot; width=&quot;94&quot;&gt;Causale&lt;/td&gt;
  &lt;td style=&quot;background: rgb(91, 155, 213); border-color: rgb(155, 194, 230) rgb(255, 255, 255); border-style: solid none; border-width: 1px 0px; color: white; font-family: Calibri; font-size: 11pt; font-weight: 700; margin: 0px; text-decoration: none; width: 121pt;&quot; width=&quot;161&quot;&gt;Importo_con_decimali&lt;/td&gt;
  &lt;td style=&quot;background: rgb(91, 155, 213); border-color: rgb(155, 194, 230) rgb(155, 194, 230) rgb(155, 194, 230) rgb(255, 255, 255); border-style: solid solid solid none; border-width: 1px 1px 1px 0px; color: white; font-family: Calibri; font-size: 11pt; font-weight: 700; margin: 0px; text-decoration: none; width: 70pt;&quot; width=&quot;93&quot;&gt;Percentuali&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;20&quot; style=&quot;height: 15.0pt;&quot;&gt;
  &lt;td align=&quot;right&quot; height=&quot;20&quot; style=&quot;background: rgb(221, 235, 247); border-color: rgb(155, 194, 230) rgb(0, 0, 0) rgb(155, 194, 230) rgb(155, 194, 230); border-style: solid none solid solid; border-width: 1px 0px 1px 1px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; height: 15pt; margin: 0px; text-decoration: none;&quot;&gt;1&lt;/td&gt;
  &lt;td style=&quot;background: rgb(221, 235, 247); border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;Elettrodomestici&lt;/td&gt;
  &lt;td style=&quot;background: rgb(221, 235, 247); border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;Televisione&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background: rgb(221, 235, 247); border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;2300,000&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background: rgb(221, 235, 247); border-color: rgb(155, 194, 230) rgb(155, 194, 230) rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid solid solid none; border-width: 1px 1px 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;48,191&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;20&quot; style=&quot;height: 15.0pt;&quot;&gt;
  &lt;td align=&quot;right&quot; height=&quot;20&quot; style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0) rgb(155, 194, 230) rgb(155, 194, 230); border-style: solid none solid solid; border-width: 1px 0px 1px 1px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; height: 15pt; margin: 0px; text-decoration: none;&quot;&gt;2&lt;/td&gt;
  &lt;td style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;Assicurazioni&lt;/td&gt;
  &lt;td style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;Macchina_A&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;1800,000&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(155, 194, 230) rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid solid solid none; border-width: 1px 1px 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;37,714&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;20&quot; style=&quot;height: 15.0pt;&quot;&gt;
  &lt;td align=&quot;right&quot; height=&quot;20&quot; style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(0, 0, 0) rgb(155, 194, 230) rgb(155, 194, 230); border-style: solid none solid solid; border-width: 1px 0px 1px 1px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; height: 15pt; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
  &lt;td style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;Spesa&lt;/span&gt;&lt;/td&gt;
  &lt;td style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;supermercato&lt;/span&gt;&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;123,950&lt;/span&gt;&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(155, 194, 230) rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid solid solid none; border-width: 1px 1px 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;2,60&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;20&quot; style=&quot;height: 15.0pt;&quot;&gt;
  &lt;td align=&quot;right&quot; height=&quot;20&quot; style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0) rgb(155, 194, 230) rgb(155, 194, 230); border-style: solid none solid solid; border-width: 1px 0px 1px 1px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; height: 15pt; margin: 0px; text-decoration: none;&quot;&gt;4&lt;/td&gt;
  &lt;td style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;Benzina&lt;/td&gt;
  &lt;td style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;Macchina_A&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;70,000&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(155, 194, 230) rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid solid solid none; border-width: 1px 1px 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;1,467&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;20&quot; style=&quot;height: 15.0pt;&quot;&gt;
  &lt;td align=&quot;right&quot; height=&quot;20&quot; style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(0, 0, 0) rgb(155, 194, 230) rgb(155, 194, 230); border-style: solid none solid solid; border-width: 1px 0px 1px 1px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; height: 15pt; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;5&lt;/span&gt;&lt;/td&gt;
  &lt;td style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;Elettrodomestici&lt;/span&gt;&lt;/td&gt;
  &lt;td style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;Frullatore&lt;/span&gt;&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;120,000&lt;/span&gt;&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(155, 194, 230) rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid solid solid none; border-width: 1px 1px 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;2,55&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;20&quot; style=&quot;height: 15.0pt;&quot;&gt;
  &lt;td align=&quot;right&quot; height=&quot;20&quot; style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0) rgb(155, 194, 230) rgb(155, 194, 230); border-style: solid none solid solid; border-width: 1px 0px 1px 1px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; height: 15pt; margin: 0px; text-decoration: none;&quot;&gt;6&lt;/td&gt;
  &lt;td style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;Elettrodomestici&lt;/td&gt;
  &lt;td style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;Bilancia&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;30,000&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(155, 194, 230) rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid solid solid none; border-width: 1px 1px 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;0,629&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;20&quot; style=&quot;height: 15.0pt;&quot;&gt;
  &lt;td align=&quot;right&quot; height=&quot;20&quot; style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(0, 0, 0) rgb(155, 194, 230) rgb(155, 194, 230); border-style: solid none solid solid; border-width: 1px 0px 1px 1px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; height: 15pt; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;7&lt;/span&gt;&lt;/td&gt;
  &lt;td style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;Benzina&lt;/span&gt;&lt;/td&gt;
  &lt;td style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;Macchina_B&lt;/span&gt;&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;20,000&lt;/span&gt;&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(155, 194, 230) rgb(155, 194, 230) rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid solid solid none; border-width: 1px 1px 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;0,42&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;20&quot; style=&quot;height: 15.0pt;&quot;&gt;
  &lt;td align=&quot;right&quot; height=&quot;20&quot; style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0) rgb(155, 194, 230) rgb(155, 194, 230); border-style: solid none solid solid; border-width: 1px 0px 1px 1px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; height: 15pt; margin: 0px; text-decoration: none;&quot;&gt;8&lt;/td&gt;
  &lt;td style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;Assicurazioni&lt;/td&gt;
  &lt;td style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;Casa&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;186,000&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background-color: transparent; border-color: rgb(155, 194, 230) rgb(155, 194, 230) rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid solid solid none; border-width: 1px 1px 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;3,897&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;20&quot; style=&quot;height: 15.0pt;&quot;&gt;
  &lt;td align=&quot;right&quot; height=&quot;20&quot; style=&quot;background: rgb(221, 235, 247); border-color: rgb(155, 194, 230) rgb(0, 0, 0) rgb(155, 194, 230) rgb(155, 194, 230); border-style: solid none solid solid; border-width: 1px 0px 1px 1px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; height: 15pt; margin: 0px; text-decoration: none;&quot;&gt;9&lt;/td&gt;
  &lt;td style=&quot;background: rgb(221, 235, 247); border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;Giochi&lt;/td&gt;
  &lt;td style=&quot;background: rgb(221, 235, 247); border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;Console&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background: rgb(221, 235, 247); border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;75,050&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;background: rgb(221, 235, 247); border-color: rgb(155, 194, 230) rgb(155, 194, 230) rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid solid solid none; border-width: 1px 1px 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;1,572&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;20&quot; style=&quot;height: 15.0pt;&quot;&gt;
  &lt;td align=&quot;right&quot; height=&quot;20&quot; style=&quot;border-color: rgb(155, 194, 230) rgb(0, 0, 0) rgb(155, 194, 230) rgb(155, 194, 230); border-style: solid none solid solid; border-width: 1px 0px 1px 1px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; height: 15pt; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;10&lt;/span&gt;&lt;/td&gt;
  &lt;td style=&quot;border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;Giochi&lt;/span&gt;&lt;/td&gt;
  &lt;td style=&quot;border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;Under18&lt;/span&gt;&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;border-color: rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid none; border-width: 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;47,720&lt;/span&gt;&lt;/td&gt;
  &lt;td align=&quot;right&quot; style=&quot;border-color: rgb(155, 194, 230) rgb(155, 194, 230) rgb(155, 194, 230) rgb(0, 0, 0); border-style: solid solid solid none; border-width: 1px 1px 1px 0px; color: black; font-family: Calibri; font-size: 11pt; font-weight: 400; margin: 0px; text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;1,00&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strike&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Rappresenta in breve un ipotetico conto di casa, supponiamo di voler cercare tutte le occorrenze che hanno solo 2 posizioni decimali.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Select &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Percentuali,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; right(CONVERT(varchar,Percentuali),3) soloDec,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHARINDEX(&#39;.&#39;, right(CONVERT(varchar,Percentuali),3)) PosizionePunto,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;from &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mia_Tabella&lt;br /&gt;where &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Percentuali &amp;gt;0&lt;br /&gt;and &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHARINDEX(&#39;.&#39;, right(CONVERT(varchar,Percentuali),3)) =2 &lt;br /&gt;
&lt;br /&gt;
Con questa prima query recuperiamo solo i dati di nostro interesse.&lt;br /&gt;
&lt;br /&gt;
Select count (*) from &lt;br /&gt;(&lt;br /&gt;&amp;nbsp;Select &lt;br /&gt;&amp;nbsp;&amp;nbsp;Percentuali,&lt;br /&gt;&amp;nbsp;&amp;nbsp;right(CONVERT(varchar,Percentuali),3) soloDec,&lt;br /&gt;&amp;nbsp;&amp;nbsp;CHARINDEX(&#39;.&#39;, right(CONVERT(varchar,Percentuali),3)) PosizionePunto,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;from &lt;br /&gt;&amp;nbsp;&amp;nbsp;mia_Tabella&lt;br /&gt;&amp;nbsp;where &lt;br /&gt;&amp;nbsp;&amp;nbsp;Percentuali &amp;gt;0&lt;br /&gt;&amp;nbsp;and &lt;br /&gt;&amp;nbsp;&amp;nbsp;CHARINDEX(&#39;.&#39;, right(CONVERT(varchar,Percentuali),3)) =2 &lt;br /&gt;)&lt;br /&gt;
&lt;br /&gt;
Con questa seconda otteniamo il conteggio.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/4501541422072577121/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/4501541422072577121' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/4501541422072577121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/4501541422072577121'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2017/09/how-to-count-all-numeric-row-with-n.html' title='How to: Count all numeric row with &quot;n&quot; decimals '/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-6940605662926189071</id><published>2017-03-01T00:24:00.001-08:00</published><updated>2017-03-01T00:24:22.827-08:00</updated><title type='text'>How To: Run Edit and Manage DTS on Win 7 </title><content type='html'>Avevo trovato una guida per poter far questa attività, ma a quanto pare i link risultano essere vecchi e non più funzionanti.&lt;br /&gt;
&lt;br /&gt;
Per cui ripropongo qui la nuova versione sperando di aver trovato dei link permanenti.&lt;br /&gt;
&lt;br /&gt;
In molte realtà&amp;nbsp;persistono e sono&amp;nbsp;ancora in uso parecchi DTS (SQL 2000) che tuttavia non sono sempre consultabili tramite i nuovi sistemi operativi. &lt;br /&gt;
Non riuscite ad accedervi? Questa è una breve guida di come accedere al&amp;nbsp; DTS Designer / Runtime lavorando su SQL 2005/2008 Studio / R2 Management.&lt;br /&gt;
&lt;br /&gt;
Diciamo che bisogna risalire a qualche vecchio pacchetto (per cui mi auguro che MS mantenga i link) e alla fine di questo tortuoso giro si dovrebbe essere in grado di operare sui DTS.&amp;nbsp;Io ci sono riuscito ma è piuttosto intricato e verosimilmente bisogna fare qualche prova in più.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span id=&quot;result_box&quot; lang=&quot;it&quot;&gt;Questo è il link alla documentazione ufficiale per SQL 2000 DTS - SQL 2008 R2. Ci sono 2 tipi&lt;/span&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;trans-verified-button goog-toolbar-button&quot; id=&quot;t-served-community-button&quot; role=&quot;button&quot; style=&quot;-ms-user-select: none; display: none;&quot;&gt;&lt;span class=&quot;jfk-button-img&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Run-time support&amp;nbsp; (Execute DTS packages using dtsrun.exe) &lt;/li&gt;
&lt;li&gt;Design-time support (Import, open &amp;amp; design DTS packages in SSMS)&lt;/li&gt;
&lt;/ol&gt;
&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms143755.aspx&quot; target=&quot;_blank&quot;&gt;Install Support for Data Transformation Services Packages &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Potrebbe non essere strettamente utile ma una lettura dovrebbe quanto meno aiutare a comprendere meglio la situazione.&lt;br /&gt;
&lt;br /&gt;
Si parte da qui !&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;A)&amp;nbsp;Download dei componenti aggiuntivi&lt;/b&gt;&lt;br /&gt;
Il primo pacchetto da installare è :&lt;br /&gt;
&lt;br /&gt;
Download SQLServer2005_DTS.msi&lt;br /&gt;
&lt;a href=&quot;https://www.microsoft.com/en-us/download/details.aspx?id=24793&quot; target=&quot;_blank&quot;&gt;https://www.microsoft.com/en-us/download/details.aspx?id=24793&lt;/a&gt;&lt;br /&gt;
(se non dovesse funzionare il link vi consiglio di cercare &quot;SQLServer2005_DTS.msi&quot; su Google).&lt;br /&gt;
&lt;br /&gt;
il secondo dipende&amp;nbsp;dal fatto che il sistema operativo sia a 64bit&lt;br /&gt;
Download SQLServer2005_BC.msi &amp;gt; &lt;br /&gt;
X86 &lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkId=123702&amp;amp;clcid=0x409&quot; target=&quot;_blank&quot;&gt;http://go.microsoft.com/fwlink/?LinkId=123702&amp;amp;clcid=0x409&lt;/a&gt;&lt;br /&gt;
X64 &lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkId=123703&amp;amp;clcid=0x409&quot; target=&quot;_blank&quot;&gt;http://go.microsoft.com/fwlink/?LinkId=123703&amp;amp;clcid=0x409&lt;/a&gt;&lt;br /&gt;
(se non dovesse funzionare il link vi consiglio di cercare il&amp;nbsp;nome del&amp;nbsp;pacchetto su Google).&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;B) Installazione dei componenti aggiuntivi&lt;/b&gt;&lt;br /&gt;
Installare entrambi i pacchetti stesso nell&#39;ordine di presentazione prima&amp;nbsp;( SQLServer2005_DTS.msi, poi SQLServer2005_BC.msi).&lt;br /&gt;
Al termine dovreste trovare nei seguenti percorsi le DLL:&lt;br /&gt;
C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn\ &lt;br /&gt;
&lt;br /&gt;
Oppure potete&amp;nbsp;trovarli qui:&lt;br /&gt;
C:\Program Files\Microsoft SQL Server\80\Tools\Binn\&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;br /&gt;
&lt;br /&gt;
* binn è proprio con &quot;2 N&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;C) Impostare il path&lt;/b&gt;&lt;br /&gt;
Altro punto da non dimenticare, saltando questo&amp;nbsp;verosimilmente il processo non funzionerà, per cui:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5gMn9mEd0PQNCUkuBgU0w1ukg-RuY2ZftdPPcwMKRH9CDzaNREFpagHwUS-yoqmGnL3oqDJiQhJb6x8ITqRQ5LVW8V4-ypP88N7tpPXAhtTcPJqYA540l6yxO1yx39wjb70QQpSaTMCg/s1600/Path.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5gMn9mEd0PQNCUkuBgU0w1ukg-RuY2ZftdPPcwMKRH9CDzaNREFpagHwUS-yoqmGnL3oqDJiQhJb6x8ITqRQ5LVW8V4-ypP88N7tpPXAhtTcPJqYA540l6yxO1yx39wjb70QQpSaTMCg/s320/Path.png&quot; width=&quot;285&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
E&#39; necessario settare il percorso in cui è stata effettuata l&#39;installazione e in cui avete trovato la cartella Tools\BINN&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A questo punto è necessario effettuare una copia a mano &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;32-bit (x86)&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
a. Copiare i files: &lt;br /&gt;
&lt;span class=&quot;skimlinks-unlinked&quot;&gt;SEMSFC.DLL&lt;/span&gt;, &lt;br /&gt;
&lt;span class=&quot;skimlinks-unlinked&quot;&gt;SQLGUI.DLL&lt;/span&gt;, &lt;br /&gt;
&lt;span class=&quot;skimlinks-unlinked&quot;&gt;SQLSVC.DLL&lt;/span&gt;, &lt;br /&gt;
DA %ProgramFiles%\Microsoft SQL Server\80\Tools\Binn &lt;br /&gt;
A %ProgramFiles%\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\ folder&lt;br /&gt;
&lt;br /&gt;
b. Copiare i files:&lt;br /&gt;
&lt;span class=&quot;skimlinks-unlinked&quot;&gt;SEMSFC.RLL&lt;/span&gt;, &lt;br /&gt;
&lt;span class=&quot;skimlinks-unlinked&quot;&gt;SQLGUI.RLL&lt;/span&gt;, &lt;br /&gt;
&lt;span class=&quot;skimlinks-unlinked&quot;&gt;SQLSVC.RLL&lt;/span&gt;, &lt;br /&gt;
DA&amp;nbsp; %ProgramFiles%\Microsoft SQL Server\80\Tools\Binn\Resources\ &lt;br /&gt;
A %ProgramFiles%\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Resources\1033\ &lt;br /&gt;
&lt;br /&gt;
(1033) rappresenta la lingua del pacchetto di installazione (dovrebbe esserci una sola cartella)&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;64-bit (x64)&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
a. Copiare i files:&lt;br /&gt;
&lt;span class=&quot;skimlinks-unlinked&quot;&gt;SEMSFC.DLL&lt;/span&gt;, &lt;br /&gt;
&lt;span class=&quot;skimlinks-unlinked&quot;&gt;SQLGUI.DLL&lt;/span&gt;, &lt;br /&gt;
&lt;span class=&quot;skimlinks-unlinked&quot;&gt;SQLSVC.DLL&lt;/span&gt;, &lt;br /&gt;
DA %ProgramFiles(x86)%\Microsoft SQL Server\80\Tools\Binn &lt;br /&gt;
A %ProgramFiles%\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\ folder&lt;br /&gt;
&lt;br /&gt;
b. Copiare i files: &lt;br /&gt;
&lt;span class=&quot;skimlinks-unlinked&quot;&gt;SEMSFC.RLL&lt;/span&gt;, &lt;br /&gt;
&lt;span class=&quot;skimlinks-unlinked&quot;&gt;SQLGUI.RLL&lt;/span&gt;, &lt;br /&gt;
&lt;span class=&quot;skimlinks-unlinked&quot;&gt;SQLSVC.RLL&lt;/span&gt;, &lt;br /&gt;
DA %ProgramFiles(x86)%\Microsoft SQL Server\80\Tools\Binn\Resources\ &lt;br /&gt;
A %ProgramFiles(x86)%\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Resources\1033\&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
(1033) rappresenta la lingua del pacchetto di installazione (dovrebbe esserci una sola cartella)&lt;br /&gt;
&lt;br /&gt;
Generalmente:&lt;br /&gt;
%ProgramFiles(x86)% –&amp;gt; C:\Program Files (x86)\    &lt;br /&gt;%ProgramFiles% –&amp;gt; C:\Program Files\&lt;br /&gt;
&lt;br /&gt;
Riavviare...&lt;br /&gt;
&lt;br /&gt;
E se non ci sono stati problemi, tutto dovrebbe funzionare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/6940605662926189071/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/6940605662926189071' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/6940605662926189071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/6940605662926189071'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2017/03/how-to-run-edit-and-manage-dts-on-win-7.html' title='How To: Run Edit and Manage DTS on Win 7 '/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5gMn9mEd0PQNCUkuBgU0w1ukg-RuY2ZftdPPcwMKRH9CDzaNREFpagHwUS-yoqmGnL3oqDJiQhJb6x8ITqRQ5LVW8V4-ypP88N7tpPXAhtTcPJqYA540l6yxO1yx39wjb70QQpSaTMCg/s72-c/Path.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-6281429684390957851</id><published>2013-11-07T07:37:00.000-08:00</published><updated>2013-11-07T09:06:55.958-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Sfida"/><title type='text'>Sfida alla Serie</title><content type='html'>Questa volta il protagonista non è il codice... o no? Certo che lo è ma si tratta di una sfida molto più analitica. Chi lo trova i sedici numeri in base 4 mancanti vince...&lt;br /&gt;
&lt;br /&gt;
Esempio&amp;nbsp; blocco va da 0000 a 3333 secondo la regola 0001,0002,0003,0010... etc &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;background-color: #cccccc;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;background-color: #cccccc;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;0200130310333023 =&amp;nbsp; 99&lt;br /&gt;2002212313311333 = 109&lt;br /&gt;3002232111231221 = 205&lt;br /&gt;0030122113013132 = 323&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;background-color: #cccccc;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;???????????????? = 340 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
La sfida è semplice vince chi trova per primo la serie corretta per 340 è necessario trovare l&#39;algoritmo corretto per trovare la scrittura di un corrispondentet 340 !&lt;br /&gt;
&lt;br /&gt;
Chiaramente ho la soluzione.&lt;br /&gt;
&lt;br /&gt;
Sotto a chi tocca...&lt;br /&gt;
&lt;br /&gt;
Potete fare domande, potete pubblicare del codice di prova, le regole sono sempre le stesse il primo che trova 340 corretto vince.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
------------------------------------------------------------------------------------------&lt;/div&gt;
&lt;br /&gt;
Mi è stato detto che la richiesta non è del tutto chiara. Cerco di riformularla.&lt;br /&gt;
&lt;br /&gt;
I primi 4 blocchi da 16 cifre corrispondono rispettivamente al numero 99/109/205/323, come sarà rappresentato il numero 340?&lt;br /&gt;
&lt;br /&gt;
Ossia tramite quale algoritmo ( dedotto o desumibile dai primi 4 di esempio ) riesco a ricavare le 14 cifre che mi daranno 340 ?&lt;br /&gt;
&lt;br /&gt;
Spero in questo modo di essere stato un filo più chiaro.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
------------------------------------------------------------------------------------------&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/6281429684390957851/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/6281429684390957851' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/6281429684390957851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/6281429684390957851'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/11/sfida-alla-serie.html' title='Sfida alla Serie'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-8164030910009196536</id><published>2013-11-05T07:44:00.001-08:00</published><updated>2013-11-05T07:44:08.951-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ITIL"/><title type='text'>ITIL V3 foundation</title><content type='html'>L&#39;argomento è sicuramente esteso ed è decisamente molto complesso, sia per i termini sia per concetti, tuttavia la complessità assume un peso minore se si riesce a creare un paragone con la quotidianità.&lt;br /&gt;
&lt;br /&gt;
ITIL Information Technology Infrastructure Library è in realtà l&#39;insieme di casi di sucesso di differenti realtà catalogate e raccolte per dar vita ad un insieme di &quot;consigli&quot; o &quot;best practices&quot; nella creazione, gestione, evoluzione vita di un Servizio.&lt;br /&gt;
&lt;br /&gt;
Questa libreria o queste librerie ( dato che sono parecchi libri ogniuno con un focus differente ) hanno lo scopo di indicare la best way, non sono centralizzate su uno specifico linguaggio di programmazione, non sono specifiche per una soluzione, e questo è il principale punto di forza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Questo articolo non ha pretese come al solito, ma presenta una breve overview.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ITIL V3 ( Ciclo )&lt;/b&gt;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0KZwSdKltWTDuYTuZ_NFEyTWqRLThSmbH7jIlNGm0qr86LngJFZ7c3tXeckwFcDfHbFz7hDWfin28Ra6mZXIgds_gm501XcYmzJGqKAJKEGiK7KUH9-LW3HkqiZoG2lFnuYewgEv01Jg/s1600/ITIL.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;293&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0KZwSdKltWTDuYTuZ_NFEyTWqRLThSmbH7jIlNGm0qr86LngJFZ7c3tXeckwFcDfHbFz7hDWfin28Ra6mZXIgds_gm501XcYmzJGqKAJKEGiK7KUH9-LW3HkqiZoG2lFnuYewgEv01Jg/s320/ITIL.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Questa immagine (che nel corso del tempo è stata oggetto di varie revisioni nei colori e nella grafica) rappresenta il ciclo di vita di un ipotetico servizio.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Service Strategy&lt;/b&gt; che sottende i processi:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Strategy Management for IT Services&lt;/li&gt;
&lt;li&gt;Financial Management&lt;/li&gt;
&lt;li&gt;Service Portfolio Management&lt;/li&gt;
&lt;li&gt;Demand Management&lt;/li&gt;
&lt;li&gt;Business Relationship Management&lt;/li&gt;
&lt;/ul&gt;
Si occupa principalmente dello studio, della strategia, dell&#39;analisi di mercato, della richiesta e dell&#39;offerta. E&#39; il cuore di ciò che sarà da considerare come offerta verso i clienti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Service Design&lt;/b&gt; che sottende i processi:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Design Coordination&lt;/li&gt;
&lt;li&gt;Service Catalogue Management&lt;/li&gt;
&lt;li&gt;Service Level Management&lt;/li&gt;
&lt;li&gt;Capacity Management&lt;/li&gt;
&lt;li&gt;Availability Management&lt;/li&gt;
&lt;li&gt;IT Service Continuity Management&lt;/li&gt;
&lt;li&gt;Information Security Management&lt;/li&gt;
&lt;li&gt;Supplier Management&lt;/li&gt;
&lt;/ul&gt;
Si occupa della progettazione, della creazione di un servizio offrendo inoltre i limiti d&#39;uso, gli sla i KPI, si occupa di verficare e organizzare forniture esterne nel caso fossero necessarie.&lt;br /&gt;
L&#39;importanza di questo processo è inoltre la manutenzione e la gestione del CATALOGO, una raccolta completa dei servizi vecchi, nuovi e in dismissione e/o obsoleti e dismessi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Service Transition&lt;/b&gt; che sottende i processi:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Transition Planning and Support&lt;/li&gt;
&lt;li&gt;Change Management&lt;/li&gt;
&lt;li&gt;Service Asset and Configuration Management&lt;/li&gt;
&lt;li&gt;Release and Deployment Management&lt;/li&gt;
&lt;li&gt;Service Validation and Testing&lt;/li&gt;
&lt;li&gt;Change Evaluation&lt;/li&gt;
&lt;li&gt;Knowledge Management&lt;/li&gt;
&lt;/ul&gt;
Si occupa della gestione del servizio durante la sua erogazione, sono previsti tutti processi sia di confugurazione, sia di Change ( evolute o bug fixing ) sia di Rilascio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Service Operation &lt;/b&gt; che sottende i processi:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Event Management&lt;/li&gt;
&lt;li&gt;Incident Management&lt;/li&gt;
&lt;li&gt;Request Fulfillment Management&lt;/li&gt;
&lt;li&gt;Access Management&lt;/li&gt;
&lt;li&gt;Problem Management&lt;/li&gt;
&lt;/ul&gt;
&amp;nbsp;Processi tipici della gestione di eccezioni, errori, problemi ( non intesi in senso stretto ). Un processo la cui correlazione è molto forte con il &lt;b&gt;Service Transition&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Continual service improvement&lt;/b&gt;&lt;br /&gt;
L&#39;anello più esterno che ha il preciso scopo di gestire l&#39;evoluzione, l&#39;anello che consente di comprendere dove siamo e dove ci piacerebbe arrivare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Molti di questi processi sono noti, quasi sicuramente il più noto di tutti è il Change Management, credo che in ogni realtà ci sia un processo simile. Ammetto che la prima volta in cui mi sono imbattutto in questo elenco la mia prima reazione è stato quasti di terrore ( ma devo imparare tutto questo ?? ) per poi scoprire che molti di questi termini erano già nel mio bagaglio senza tuttavia esserne a piena conoscenza.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Attori&amp;nbsp;&lt;/b&gt; &lt;br /&gt;
I due attori principali di ITIL sono sicuramente il Client e il Vendor, il primo rappresente chi gode e chi paga il servizo che il Vendor offre.&lt;br /&gt;
&lt;br /&gt;
Il Client di contro è colui che a sua volta produce ( tramite il servizio ) il Valore, potrebbe anche essere che non sia il Client a utilizzare il servizio, ma un terzo attore comunemente chiamato User.&lt;br /&gt;
&lt;br /&gt;
Il Service Strategy studia, il Service Design realizza, cio che il Client chiede. Nello specifico il Service Strategy non studia nel dettaglio quel particolare Client ma la generica richiesta di mercato, e il Service Design che si focalizza maggiormente sull&#39;esigenza del cliente specifico.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Processo&lt;/b&gt;&lt;br /&gt;
Il processo per ITIL è un insieme di funzioni composti di differenti attività.&amp;nbsp;&lt;br /&gt;
Ma come sempre un esempio &quot;chiaro&quot; vale più di mille parole.&lt;br /&gt;
&lt;br /&gt;
Il Service Operation è composto da differenti processi, ma anche da 4 funzioni specifiche quali:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Service Desk&lt;/li&gt;
&lt;li&gt;Technical Management&lt;/li&gt;
&lt;li&gt;IT Operation Management&lt;/li&gt;
&lt;li&gt;Application Management&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Service Desk&lt;/b&gt; o come molti lo chiamano Help Desk anche se in realtà non si tratta della stessa cosa.&lt;br /&gt;
&lt;b&gt;Technical Management&lt;/b&gt; tipicamente riferito ad un supporto di natura tecnologico&lt;br /&gt;
&lt;b&gt;IT Operation Management&lt;/b&gt; gestione del servizio direzione della operazione monitoraggio SLA&lt;br /&gt;
&lt;b&gt;Application Management&lt;/b&gt; gestione dell&#39;evolutive e correttive prevenute dal Change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/8164030910009196536/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/8164030910009196536' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/8164030910009196536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/8164030910009196536'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/11/itil-v3-foundation.html' title='ITIL V3 foundation'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0KZwSdKltWTDuYTuZ_NFEyTWqRLThSmbH7jIlNGm0qr86LngJFZ7c3tXeckwFcDfHbFz7hDWfin28Ra6mZXIgds_gm501XcYmzJGqKAJKEGiK7KUH9-LW3HkqiZoG2lFnuYewgEv01Jg/s72-c/ITIL.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-4000532728375974986</id><published>2013-11-04T09:42:00.001-08:00</published><updated>2013-11-04T09:43:07.452-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="sqlite"/><title type='text'>How To:SQLite create DB.</title><content type='html'>Sulla falsa riga del precedente post, ecco che vi allego una breve brano di codice per la creazione di db SQLite.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;IO;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Data&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;SQLite&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;SqlLiteTest&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CreateDB&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Program&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Main&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt;[] &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;args&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #ff5600;&quot;&gt;SQLiteDBHelpers&lt;/span&gt; sdH &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;SQLiteDBHelpers&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;DBTest&quot;&lt;/span&gt;, @&lt;span style=&quot;color: #666666;&quot;&gt;&quot;\Data&quot;&lt;/span&gt;);
            &lt;span style=&quot;color: #ff5600;&quot;&gt;sdH&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;CreateDBFile&lt;/span&gt;();

        }
    }


    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;SQLiteDBHelpers&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; string _fName;
        &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; string _fPath;

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;SQLiteDBHelpers&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;fName&lt;/span&gt;, &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;fPath&lt;/span&gt;)
        {
            _fName &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; fName;
            _fPath &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; fPath;
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;CreateDBFile&lt;/span&gt;()
        {
            VerifyPath(_fPath);

            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!&lt;/span&gt;CheckName(&lt;span style=&quot;color: #ff5600;&quot;&gt;Path&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Combine( _fPath,_fName)))
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;SQLiteConnection&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;CreateFile(&lt;span style=&quot;color: #ff5600;&quot;&gt;Path&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Combine(_fPath, _fName) &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;.sqlite&quot;&lt;/span&gt;);

                &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Data&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;SQLite&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;SQLiteConnection&lt;/span&gt; sc &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; 
                            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;SQLiteConnection&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;DATA SOURCE =&quot;&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt;
                            &lt;span style=&quot;color: #ff5600;&quot;&gt;Path&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Combine(_fName, _fPath)&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;.sqlite;Version=3&quot;&lt;/span&gt;);

                &lt;span style=&quot;color: #ff5600;&quot;&gt;sc&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Open&lt;/span&gt;();

                string sqlMaster &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;create table master &quot;&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; 
                        &lt;span style=&quot;color: #666666;&quot;&gt;&quot;(id int, tName varchar(40),tCreation datetime)&quot;&lt;/span&gt;;


                &lt;span style=&quot;color: #ff5600;&quot;&gt;SQLiteCommand&lt;/span&gt; command &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;SQLiteCommand&lt;/span&gt;(sqlMaster, sc);
                &lt;span style=&quot;color: #ff5600;&quot;&gt;command&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ExecuteNonQuery&lt;/span&gt;();

                &lt;span style=&quot;color: #ff5600;&quot;&gt;sc&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Close&lt;/span&gt;();
            }            
        }


        &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;VerifyPath&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;Path&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Directory&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Exists(&lt;span style=&quot;color: #ff5600;&quot;&gt;Path&lt;/span&gt;))
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;Directory&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;CreateDirectory(&lt;span style=&quot;color: #ff5600;&quot;&gt;Path&lt;/span&gt;);
            }
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; bool &lt;span style=&quot;color: #21439c;&quot;&gt;CheckName&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;Name&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;File&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Exists(&lt;span style=&quot;color: #ff5600;&quot;&gt;Name&lt;/span&gt;);
        }

    }
}

&lt;/pre&gt;
&lt;br /&gt;
Poca roba, ma comunque utile.
</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/4000532728375974986/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/4000532728375974986' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/4000532728375974986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/4000532728375974986'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/11/how-tosqlite-create-db.html' title='How To:SQLite create DB.'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-7903941127533861752</id><published>2013-10-24T08:08:00.000-07:00</published><updated>2013-11-04T09:42:54.746-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="DataTable"/><category scheme="http://www.blogger.com/atom/ns#" term="sqlite"/><title type='text'>How To :Read FireFox Cookies </title><content type='html'>E&#39; dura da ammettere ma nell un ottica &quot;del grande tutto&quot; siamo tracciatati e guradati fin nell&#39;intimo..&lt;br /&gt;
&lt;br /&gt;
Mi Nonno l&#39;ha detto fin da quando ha capito che cosa era interent ( e non ha mai fatto in tempo ad usarlo ) &quot;chell&#39;internet lì a l&#39;è un meste undue tutch san quel che te fè&quot;&lt;br /&gt;
trad ( dal milanese ) &lt;b&gt;internet è un qualcosa dove tutti sanno quello che fai&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Morale da buon curioso mi sono domandato come verificare ( ad esempio su FireFox ) quanti e quali Cookies ho.&lt;br /&gt;
&lt;br /&gt;
Per prima cosa scopro che utilizza sqlLite, per cui il primo step se non lo avete e quello di scaricavi le librerie per la gestione di sqlLite che trovate a questo link:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki&quot; target=&quot;_blank&quot;&gt;http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Dopo il setup si può partire con: New Windows Application ( X86 se avete scaricato slq lite 32 bit )&lt;br /&gt;
&lt;br /&gt;
Aggiungente un bottone o un menu,&lt;br /&gt;
Aggiungete una DataGrid...&lt;br /&gt;
&lt;br /&gt;
E poi &quot;Copia e Incolla... &quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;ComponentModel&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Data&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Data&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;SQLite&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;IO;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Drawing&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Windows&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Forms&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Web&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Net&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;CookiesReader&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; partial &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;frmMain&lt;/span&gt; : Form
    {

       
        &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;DataTable&lt;/span&gt; dt &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
        

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;frmMain&lt;/span&gt;()
        {
            InitializeComponent();
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;mnuRead_Click&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;object&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;sender&lt;/span&gt;, &lt;span style=&quot;color: #ff5600;&quot;&gt;EventArgs&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;e&lt;/span&gt;)
        {

            GetFireFoxCookie(getFireFoxDBLite());

            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (dt &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;dvgDetails&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;DataSource&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; dt;
            }

        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;GetFireFoxCookie&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;source&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (source &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;&quot;&lt;/span&gt;) { &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt;; }

            using (var conn &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;SQLiteConnection&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Data Source=&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; source))
            {
                using (var cmd &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;conn&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;CreateCommand&lt;/span&gt;())
                {
                    &lt;span style=&quot;color: #ff5600;&quot;&gt;cmd&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;CommandText&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;select * from moz_cookies order by baseDomain&quot;&lt;/span&gt;;

                    dt &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;DataTable&lt;/span&gt;();
                    &lt;span style=&quot;color: #ff5600;&quot;&gt;SQLiteDataAdapter&lt;/span&gt; sda &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;SQLiteDataAdapter&lt;/span&gt;(cmd);

                    &lt;span style=&quot;color: #ff5600;&quot;&gt;conn&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Open&lt;/span&gt;();
                    &lt;span style=&quot;color: #ff5600;&quot;&gt;sda&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Fill&lt;/span&gt;(dt);
                }
            }
        }


        &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; string &lt;span style=&quot;color: #21439c;&quot;&gt;getFireFoxDBLite&lt;/span&gt;()
        {
            string x &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;Environment&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;GetFolderPath(
                 &lt;span style=&quot;color: #ff5600;&quot;&gt;Environment&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;SpecialFolder&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;ApplicationData&lt;/span&gt;);

            x &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+=&lt;/span&gt; @&lt;span style=&quot;color: #666666;&quot;&gt;&quot;\Mozilla\Firefox\Profiles\&quot;;

            DirectoryInfo di = new DirectoryInfo(x);
            DirectoryInfo[] dir = di.GetDirectories(&quot;&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;default&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&quot;);

            if (dir.Length != 1) { return &quot;&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&quot;; }

            x += dir[0].Name + @&quot;&lt;/span&gt;\&lt;span style=&quot;color: #666666;&quot;&gt;&quot; + &quot;&lt;/span&gt;cookies&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;sqlite&lt;span style=&quot;color: #666666;&quot;&gt;&quot;;

            if (!File.Exists(x)) { return &quot;&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&quot;; }

            return x;
        }
    }
}

&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
Quindi unbel run .. e mani nei capelli !!&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/7903941127533861752/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/7903941127533861752' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/7903941127533861752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/7903941127533861752'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/10/how-to-read-firefox-cookies.html' title='How To :Read FireFox Cookies '/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-6265642595621836166</id><published>2013-10-23T09:16:00.000-07:00</published><updated>2013-10-23T09:16:03.516-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Abstract"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Concept"/><category scheme="http://www.blogger.com/atom/ns#" term="Linguaggio"/><title type='text'>How To: Implement Chain of Responsibility</title><content type='html'>Questo pattern.. è bellissimo, peccato che nonostante la sua alta usabilità sia considerato e amato poco.&lt;br /&gt;
&lt;br /&gt;
Concettualmente ad una classe è associato il suo successore o in breve chi gestirà il dato o i dati dopo di lui, in questo modo se la classe A non sa ( e non che non può ) gestire e di contro lo demanda a B..&lt;br /&gt;
e via così.&lt;br /&gt;
&lt;br /&gt;
Verosimilmente è raro che venga implementato... anche perchè in molti casi risolve parecchie beghe.&lt;br /&gt;
&lt;br /&gt;
Una mia supposizione è che volendo si possa implementare un buon ragionamento su come gestire i Successori.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;TestChain&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Program&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Main&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt;[] &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;args&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #af82d4;&quot;&gt;// Setup Chain of Responsibility&lt;/span&gt;

            idealWorker w1 &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;Worker&lt;/span&gt;();

            idealWorker w2 &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;CheafofWorker&lt;/span&gt;();

            idealWorker w3 &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;SomeONE&lt;/span&gt;();

            &lt;span style=&quot;color: #ff5600;&quot;&gt;w1&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;SetNext&lt;/span&gt;(w2);

            &lt;span style=&quot;color: #ff5600;&quot;&gt;w2&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;SetNext&lt;/span&gt;(w3);


            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; i &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;; i &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;40&lt;/span&gt;; i&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;++&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;w1&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;IDoMyWork&lt;/span&gt;(i);
            }

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReadLine();

        }
    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;abstract&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;idealWorker&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;protected&lt;/span&gt; idealWorker successor;

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;SetNext&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;idealWorker&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;bw&lt;/span&gt;)
        {
            successor &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; bw;
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;abstract&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;IDoMyWork&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;Range&lt;/span&gt;);
    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Worker&lt;/span&gt; : idealWorker
    {

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; override &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;IDoMyWork&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;Range&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; ((&lt;span style=&quot;color: #ff5600;&quot;&gt;Range&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;) &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;  (&lt;span style=&quot;color: #ff5600;&quot;&gt;Range&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;10&lt;/span&gt;))
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;I&#39;M a Worker and I&#39;ll work for :&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt;
                        &lt;span style=&quot;color: #ff5600;&quot;&gt;Range&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ToString());
            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;else&lt;/span&gt;
            {
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (successor &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
                &lt;span style=&quot;color: #ff5600;&quot;&gt;successor&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;IDoMyWork&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;Range&lt;/span&gt;);
            }
        }
    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;CheafofWorker&lt;/span&gt; : idealWorker
    {

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; override &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;IDoMyWork&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;Range&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; ((&lt;span style=&quot;color: #ff5600;&quot;&gt;Range&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;10&lt;/span&gt;) &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;Range&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;20&lt;/span&gt;))
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;I&#39;M a Cheaf and I&#39;ll work for :&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; 
                         &lt;span style=&quot;color: #ff5600;&quot;&gt;Range&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ToString());
            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;else&lt;/span&gt;
            {
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (successor &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
                &lt;span style=&quot;color: #ff5600;&quot;&gt;successor&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;IDoMyWork&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;Range&lt;/span&gt;);
            }
        }
    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;SomeONE&lt;/span&gt; : idealWorker
    {

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; override &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;IDoMyWork&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;Range&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; ((&lt;span style=&quot;color: #ff5600;&quot;&gt;Range&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;20&lt;/span&gt;))
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;I&#39;M NoOne... &quot;&lt;/span&gt;);
            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;else&lt;/span&gt;
            {
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (successor &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
                &lt;span style=&quot;color: #ff5600;&quot;&gt;successor&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;IDoMyWork&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;Range&lt;/span&gt;);
            }
        }
    }
}

&lt;/pre&gt;
&lt;br /&gt;
Ed ecco il codice.. facile facile, con un filo di ironia.&lt;br /&gt;
&lt;br /&gt;
tutto nasce da idealWorker ( che di contro non fa nulla demanda ) ai suoi successori... magari domani tiro fuori un esempio più edificante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/6265642595621836166/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/6265642595621836166' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/6265642595621836166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/6265642595621836166'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/10/how-to-implement-chain-of-responsibility.html' title='How To: Implement Chain of Responsibility'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-8183210399880090568</id><published>2013-10-14T08:49:00.002-07:00</published><updated>2013-10-14T08:49:23.498-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="Linguaggio"/><category scheme="http://www.blogger.com/atom/ns#" term="Linq"/><category scheme="http://www.blogger.com/atom/ns#" term="String"/><title type='text'>How To: Lamba on String</title><content type='html'>E&#39; bello fare certe scoperte... ( SOLO DOPO ) !&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;LambdaString&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Program&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Main&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt;[] &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;args&lt;/span&gt;)
        {
            string &lt;span style=&quot;color: #ff5600;&quot;&gt;Test1&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;questo è uno splendido testo&quot;&lt;/span&gt;;
            var cTest1 &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;Test1&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ToCharArray()&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Where(c &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;gt;&lt;/span&gt; c &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&#39;n&#39;&lt;/span&gt;);
            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #ff5600;&quot;&gt;cTest1&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Count&lt;/span&gt;());

           
        }
    }
}
&lt;/pre&gt;
E ammetto che ci ho pure provato gusto !&lt;br /&gt;
Quello che mi fa sorridere e il non averci mai pensato eppure è li bello ovvio come il sole !&lt;br /&gt;
&lt;br /&gt;
Le stringhe sono array e come tali sono riconducibili ad un Querable Object.. e via ..&amp;nbsp; </content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/8183210399880090568/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/8183210399880090568' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/8183210399880090568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/8183210399880090568'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/10/how-to-lamba-on-string.html' title='How To: Lamba on String'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-6320524899060468036</id><published>2013-10-10T07:34:00.001-07:00</published><updated>2013-10-10T07:34:58.110-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="Json"/><category scheme="http://www.blogger.com/atom/ns#" term="Linguaggio"/><category scheme="http://www.blogger.com/atom/ns#" term="XML"/><title type='text'>How To: JSon To XML C#</title><content type='html'>Ho notato che nella maggio parte dei casi per trasformare JSon in un qualcosa di fruibile si ricorre a librerie esterne.&lt;br /&gt;
Ammetto la cosa è comoda, ma si ha poca elasticità, sono all&#39;antica, se qualcosa mi serve, la studio e la implemento ( il tutto dipende sempre dai costi e dai tempi ) e aggiungerei anche che programmando sempre meno, ho sempre meno bisogno di inventarmi qualcosa.&lt;br /&gt;
&lt;br /&gt;
MA LA MENTE VA ALLENATA SEMPRE... quindi avendo tempo e avendo la possibilità ritengo sempre un buon esercizio sprecare un po&#39; del prezioso tempo in un implementazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;Json&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Test&lt;/span&gt;
{

    &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Program&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Main&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt;[] &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;args&lt;/span&gt;)
        {
            string json &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;{\&quot;name\&quot;:\&quot;Fabio\&quot;;\&quot;surname\&quot;:\&quot;Arosio\&quot;;&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt;
                            &lt;span style=&quot;color: #666666;&quot;&gt;&quot;\&quot;age\&quot;:\&quot;39\&quot;;\&quot;friends\&quot;:{\&quot;name\&quot;:\&quot;Lorenzo\&quot;;&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt;
                            &lt;span style=&quot;color: #666666;&quot;&gt;&quot;\&quot;name\&quot;:\&quot;Federico\&quot;};\&quot;date\&quot;:\&quot;19740226\&quot;}&quot;&lt;/span&gt;;

            jHelper jH &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; jHelper(json);


            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #ff5600;&quot;&gt;jH&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;XData&lt;/span&gt;);

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReadLine();
        }
    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;jHelper&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; string _data;
        &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; string _xdata;

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; string &lt;span style=&quot;color: #ff5600;&quot;&gt;Data&lt;/span&gt;
        {
            get {&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt; _data;}
            set
            {
                _data &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;value&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Trim&lt;/span&gt;();
                _data &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; _data&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;TrimStart(&lt;span style=&quot;color: #666666;&quot;&gt;&#39;{&#39;&lt;/span&gt;);
                _data &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; _data&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;TrimEnd(&lt;span style=&quot;color: #666666;&quot;&gt;&#39;}&#39;&lt;/span&gt;);
                _data &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; _data&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Replace(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;\&quot;&quot;&lt;/span&gt;, &lt;span style=&quot;color: #666666;&quot;&gt;&quot;&quot;&lt;/span&gt;);
            }
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; string &lt;span style=&quot;color: #ff5600;&quot;&gt;XData&lt;/span&gt;
        {
            get { &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt; _xdata; }
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; jHelper (string data)
        {
           
            &lt;span style=&quot;color: #ff5600;&quot;&gt;Data&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; data;
   
            
            _xdata&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&quot;&amp;lt;?xml version=\&quot;1.0\&quot;&amp;gt;&quot;&lt;/span&gt;; 

            Parse();


            
           
        }


        &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; Parse()
        {
            bool allDone &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;false&lt;/span&gt;;

            string iData &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; _data;

            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;while&lt;/span&gt; (&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!&lt;/span&gt; allDone )
            {
                string cData &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&quot;&quot;&lt;/span&gt;;
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;iData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;IndexOf&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;;&quot;&lt;/span&gt;) &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;)
                {
                    cData &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;iData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Substring&lt;/span&gt;(&lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #ff5600;&quot;&gt;iData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;IndexOf&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;;&quot;&lt;/span&gt;));
                }
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;else&lt;/span&gt;
                {
                    cData &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; iData;
                }
                string pName &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&quot;&quot;&lt;/span&gt;;
                string pValue &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;&quot;&lt;/span&gt;;

                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;cData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Contains&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;{&quot;&lt;/span&gt;))
                {
                    pName &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;cData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Split&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&#39;:&#39;&lt;/span&gt;)[&lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;];
                    pValue &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;cData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Split&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&#39;:&#39;&lt;/span&gt;)[&lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;];
                    AddData(pName, pValue);
                }
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;else&lt;/span&gt;
                {
                    cData &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;iData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Substring&lt;/span&gt;(&lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #ff5600;&quot;&gt;iData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;LastIndexOf&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;}&quot;&lt;/span&gt;)&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;);
                    pName &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;cData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Split&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&#39;:&#39;&lt;/span&gt;)[&lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;];

                    jHelper jx &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; jHelper(&lt;span style=&quot;color: #ff5600;&quot;&gt;cData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Substring&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;pName&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Length&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;));

                    pValue &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;jx&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;XData&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Replace(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;&amp;lt;?xml version=\&quot;1.0\&quot;&amp;gt;&quot;&lt;/span&gt;, &lt;span style=&quot;color: #666666;&quot;&gt;&quot;&quot;&lt;/span&gt;);

                    jx &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
                    AddData(pName, pValue);
                }

                iData &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;iData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Substring&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;iData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;IndexOf&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;;&quot;&lt;/span&gt;) &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;);              
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;iData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;IndexOf&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;;&quot;&lt;/span&gt;) &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;) { allDone &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;true&lt;/span&gt;; };
            }

            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;iData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Length&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;)
            {
                AddData(&lt;span style=&quot;color: #ff5600;&quot;&gt;iData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Split&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&#39;:&#39;&lt;/span&gt;)[&lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;], &lt;span style=&quot;color: #ff5600;&quot;&gt;iData&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Split&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&#39;:&#39;&lt;/span&gt;)[&lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;]);            
            }

        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; AddData(string name, string value)
        {
            _xdata &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;&amp;lt;&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; name &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;&amp;gt;&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; value &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;&amp;lt;/&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; name &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;&amp;gt;\r\n&quot;&lt;/span&gt;;
        }
    }
}

&lt;/pre&gt;
&lt;br /&gt;
Posto che quanto realizzato si tratti di un esempio e del tutto causale, ho provato a giocare con un json non proprio base base.&lt;br /&gt;
Mi sono concesso di nidificargli un figlio complesso anche se non eccessivamente.&lt;br /&gt;
&lt;br /&gt;
Morale ottengo il mio XML, che di contro è più semplice da manipolare e quanto meno è più vicino a C# ( e al framework ) di quanto non lo sia Json.</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/6320524899060468036/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/6320524899060468036' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/6320524899060468036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/6320524899060468036'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/10/how-to-json-to-xml-c.html' title='How To: JSon To XML C#'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-1291874462210378804</id><published>2013-10-09T00:56:00.001-07:00</published><updated>2013-10-09T00:56:32.548-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="Lambda"/><category scheme="http://www.blogger.com/atom/ns#" term="Linq"/><category scheme="http://www.blogger.com/atom/ns#" term="List T"/><title type='text'>How To: Linq IN clause syntax</title><content type='html'>Ed eccomi qui con la scoperta della settimana. &lt;br /&gt;
Mi sono arrovellato, senza troppa congizione di causa su come si potesse implementare una IN con Linq, ammetto di aver avuto l&#39;aiuto dal pubblico, ma la soluzione era &quot;facile, Facile&quot; del resto Microsoft ci ha ben abituato a lavorare al contrario no ?&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;InWorkaround&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Program&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Main&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt;[] &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;args&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #af82d4;&quot;&gt;// Esempio di IN&lt;/span&gt;
            &lt;span style=&quot;color: #ff5600;&quot;&gt;List&amp;lt;string&amp;gt;&lt;/span&gt; ents &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;List&amp;lt;string&amp;gt;&lt;/span&gt;();
            &lt;span style=&quot;color: #ff5600;&quot;&gt;ents&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Fabio Arosio&quot;&lt;/span&gt;);
            &lt;span style=&quot;color: #ff5600;&quot;&gt;ents&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Lorenzo Arosio&quot;&lt;/span&gt;);
            &lt;span style=&quot;color: #ff5600;&quot;&gt;ents&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Federico Arosio&quot;&lt;/span&gt;);
            &lt;span style=&quot;color: #ff5600;&quot;&gt;ents&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Claudio Eridani&quot;&lt;/span&gt;);

            &lt;span style=&quot;color: #af82d4;&quot;&gt;// creo quanto ricercare .. &lt;/span&gt;
            &lt;span style=&quot;color: #ff5600;&quot;&gt;List&amp;lt;string&amp;gt;&lt;/span&gt; pattern &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;List&amp;lt;string&amp;gt;&lt;/span&gt;();
            &lt;span style=&quot;color: #ff5600;&quot;&gt;pattern&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Fabio Arosio&quot;&lt;/span&gt;);
            &lt;span style=&quot;color: #ff5600;&quot;&gt;pattern&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Claudio Eridani&quot;&lt;/span&gt;);


            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Esempio di IN&quot;&lt;/span&gt;);
            &lt;span style=&quot;color: #af82d4;&quot;&gt;// basta utilizzare la contains al contrario&lt;/span&gt;
            var r &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;ents&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Where&lt;/span&gt;(e &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;pattern&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Contains&lt;/span&gt;(e));

            foreach (string s in r)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(s);
            }
            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReadKey();

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;\n\rEsempio di Like&quot;&lt;/span&gt;);
            &lt;span style=&quot;color: #af82d4;&quot;&gt;// Questa è la Like&lt;/span&gt;
            var r1 &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;ents&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Where&lt;/span&gt;(e &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;e&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Contains&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Arosio&quot;&lt;/span&gt;));

            foreach (string s in r1)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(s);
            }

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReadKey();
        }
    }
}
&lt;/pre&gt;
&lt;br /&gt;
Bene non è difficile il tutto si basa sul &quot;chi contiene cosa&quot; generalmente quando in SQL utilizziamo la IN è per identificare una serie di valori per il cui il nostro campo può variare, con LINQ la situazione è inversa dato che la sintassi vera e propria non esiste. Quindi creiamo un set, e chiediamo se il campo è contenuto in quel range.</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/1291874462210378804/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/1291874462210378804' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/1291874462210378804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/1291874462210378804'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/10/how-to-linq-in-clause-syntax.html' title='How To: Linq IN clause syntax'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-7704507084245992942</id><published>2013-09-27T01:07:00.002-07:00</published><updated>2013-09-27T01:07:22.213-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="easter eggs"/><category scheme="http://www.blogger.com/atom/ns#" term="Win7"/><title type='text'>Easter Eggs:WIN7 ( PSR )</title><content type='html'>Questo è decisamente &quot;amarcord&quot;.... e vediamo se capite perchè...&lt;br /&gt;
&lt;br /&gt;
&lt;span id=&quot;intellitxt&quot; name=&quot;intellitxt&quot;&gt;&lt;/span&gt;&lt;br /&gt;
Posizionatevi su start... e cercate psr&lt;br /&gt;
&lt;br /&gt;
&lt;span id=&quot;intellitxt&quot; name=&quot;intellitxt&quot;&gt;&lt;/span&gt;&lt;br /&gt;
otterrete:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpqxAmWT0GSFOsDDFxqDnziqZgGu0TUnBNTNi-iFsr2sB_ngwu3_VluGZlL9N-iw9i-tPx5ygd9SLW7oD79It4keVJl_Ehidfuf26_-CjCiFIwbBK9i1uTXsrsz9ymef_ugWFxM3Mncko/s1600/Programsjpg.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpqxAmWT0GSFOsDDFxqDnziqZgGu0TUnBNTNi-iFsr2sB_ngwu3_VluGZlL9N-iw9i-tPx5ygd9SLW7oD79It4keVJl_Ehidfuf26_-CjCiFIwbBK9i1uTXsrsz9ymef_ugWFxM3Mncko/s320/Programsjpg.jpg&quot; width=&quot;238&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bene, ora un doppio click su psr.exe...&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-uawTYk90vkKE7diPjk_8hdiGRpa-XhhuSRPO3M0mxleac7JtoHte6RbNW1oNRzbit7Np0p67crTivDGxVNnjS2SMHKR7ibdKyc4pXZAaw1LJYK-XyBc5AFP-h08d00d5C1t2KV9l-So/s1600/psr.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;51&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-uawTYk90vkKE7diPjk_8hdiGRpa-XhhuSRPO3M0mxleac7JtoHte6RbNW1oNRzbit7Np0p67crTivDGxVNnjS2SMHKR7ibdKyc4pXZAaw1LJYK-XyBc5AFP-h08d00d5C1t2KV9l-So/s320/psr.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ma che bello ... ma cosa fa ?&lt;br /&gt;
&lt;br /&gt;
Tecnicamente non rigistra le macro anche se l&#39;interfaccia lo ricorda molto, ma crea in realtà un archivio Zip contenente un file Mht con tutto quello che avete eseguito.&lt;br /&gt;
&lt;br /&gt;
Tecnicamente serve per riportare gli errori.&lt;br /&gt;
&lt;br /&gt;
Ma con un briciolo di fantasia consente davvero molto di più !&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/7704507084245992942/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/7704507084245992942' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/7704507084245992942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/7704507084245992942'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/09/easter-eggswin7-psr.html' title='Easter Eggs:WIN7 ( PSR )'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpqxAmWT0GSFOsDDFxqDnziqZgGu0TUnBNTNi-iFsr2sB_ngwu3_VluGZlL9N-iw9i-tPx5ygd9SLW7oD79It4keVJl_Ehidfuf26_-CjCiFIwbBK9i1uTXsrsz9ymef_ugWFxM3Mncko/s72-c/Programsjpg.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-3245697406484155898</id><published>2013-09-26T07:48:00.001-07:00</published><updated>2013-09-27T01:07:53.782-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="easter eggs"/><category scheme="http://www.blogger.com/atom/ns#" term="Win7"/><title type='text'>Easter Eggs:WIN7 ( GOD MODE )</title><content type='html'>Ciao a tutti apro questa nuova sezione dedicata agli Easter Eggs di Windows 7&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=763086315823320854&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;Questo è particolarmente carino e ricodra molto un Cheat di Quake ...&lt;br /&gt;
&lt;br /&gt;
1) posizionatevi sul vostro Desktop &lt;br /&gt;
2) tasto destro &quot;Create New folder&quot;&lt;br /&gt;
3) rinomina : &lt;span id=&quot;intellitxt&quot; name=&quot;intellitxt&quot;&gt;&lt;i&gt;GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFdtqm8CBzMHdFy_P7xoI4sEsa082UHuBZxP_Sz0qeUbSh1Ca8vb_V5jsHet1xaSEce8NzBmPDxlh4IKXOPSlQUCtPdmO-bfDW17tu9F6AavBfE-R0SNqHS7kFalX3yQbUGHA6pq7224Q/s1600/dsk.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFdtqm8CBzMHdFy_P7xoI4sEsa082UHuBZxP_Sz0qeUbSh1Ca8vb_V5jsHet1xaSEce8NzBmPDxlh4IKXOPSlQUCtPdmO-bfDW17tu9F6AavBfE-R0SNqHS7kFalX3yQbUGHA6pq7224Q/s320/dsk.png&quot; width=&quot;287&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
Otterrete una cartella con parecchie shortcut...&lt;br /&gt;
Provare per credere.
</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/3245697406484155898/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/3245697406484155898' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/3245697406484155898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/3245697406484155898'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/09/easter-eggswin7-god-mode.html' title='Easter Eggs:WIN7 ( GOD MODE )'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFdtqm8CBzMHdFy_P7xoI4sEsa082UHuBZxP_Sz0qeUbSh1Ca8vb_V5jsHet1xaSEce8NzBmPDxlh4IKXOPSlQUCtPdmO-bfDW17tu9F6AavBfE-R0SNqHS7kFalX3yQbUGHA6pq7224Q/s72-c/dsk.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-2633707786926771390</id><published>2013-09-25T06:37:00.000-07:00</published><updated>2013-09-25T06:37:08.505-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="Linq"/><category scheme="http://www.blogger.com/atom/ns#" term="List T"/><title type='text'>How To: Sum of nullable int </title><content type='html'>Ma come si comporta linq quando somma un campo che può contenere null ?&lt;br /&gt;
&lt;br /&gt;
Già mi sono posto questa domanda perchè non mi è mai capitato di beccare un errore simile, posto che il compilatore blocchi &lt;b&gt;int i = null&lt;/b&gt; mi rimane solo qualche piccola pillola per ovviare a eventuali problemi provenienti da codice scritto male.&lt;br /&gt;
&lt;br /&gt;
Ma linq mi ha data prova di essere abbastanza solido... quanto meno in questo semplice esempio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;TestSumLinq&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Program&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;entity&lt;/span&gt;
        {
            &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; fstValue { get; set; }
            &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;?&lt;/span&gt; sndValue { get; set; } 
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Main&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt;[] &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;args&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #ff5600;&quot;&gt;List&amp;lt;entity&amp;gt;&lt;/span&gt; l &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;List&amp;lt;entity&amp;gt;&lt;/span&gt;();

            &lt;span style=&quot;color: #ff5600;&quot;&gt;l&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity() { fstValue &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;, sndValue&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;});
            &lt;span style=&quot;color: #ff5600;&quot;&gt;l&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity() { fstValue &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;, sndValue &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;2&lt;/span&gt; });
            &lt;span style=&quot;color: #ff5600;&quot;&gt;l&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity() { fstValue &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;2&lt;/span&gt;, sndValue &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;3&lt;/span&gt; });
            &lt;span style=&quot;color: #ff5600;&quot;&gt;l&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity() { fstValue &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;3&lt;/span&gt;, sndValue &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;4&lt;/span&gt; });

            &lt;span style=&quot;color: #af82d4;&quot;&gt;// facendo le somme ottengo ?? &lt;/span&gt;

            var r1 &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;l&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Sum&lt;/span&gt;(s &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;gt;&lt;/span&gt; s&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;fstValue);

            var r2 &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;l&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Sum&lt;/span&gt;(s &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;gt;&lt;/span&gt; s&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;sndValue);

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;somma campo int : &quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;r1&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ToString&lt;/span&gt;());

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;somma campo int?: &quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;r2&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ToString&lt;/span&gt;());

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReadKey();
        }
    }
}&amp;nbsp;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
E in bona sostanza rimango piacevolmente colpito .. perchè funziona senza rompersi.</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/2633707786926771390/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/2633707786926771390' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/2633707786926771390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/2633707786926771390'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/09/how-to-sum-of-nullable-int.html' title='How To: Sum of nullable int '/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-1165706373177949164</id><published>2013-09-09T01:53:00.001-07:00</published><updated>2013-09-09T01:53:33.940-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Analisi"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Concept"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="Linguaggio"/><category scheme="http://www.blogger.com/atom/ns#" term="Report"/><category scheme="http://www.blogger.com/atom/ns#" term="Tips"/><title type='text'>How To: Export report in 2 Excel Sheet.</title><content type='html'>Diciamo che ci sono vari modi per assolvere a questo how to.. ma questo è davvero il più semplice,&lt;br /&gt;
e il più veloce ( probabilmente il meno elegante ).&lt;br /&gt;
&lt;br /&gt;
Partiamo da una Window Application con Visual Studio 9.&lt;br /&gt;
&lt;br /&gt;
Se avete già un db comodo ( come nel mio caso ) utilizzatelo giusto per fare una prova.&lt;br /&gt;
Sempre nel mio caso ho un db di test che contiene il mio prototipo di entità.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhdjqyC9R5uoSbka6vKEmvmp_zcCqG1qbA3iszmbIOuxYeWSXTVxyJOaZfkGVyoawNWdWCm9D3FmD7dFZMf6XL3NhhyphenhyphenwKgC-VA4n6dXHG9hCi-7IsJZKCNpTP_ukPqlt947zsTIAPWZEs/s1600/DataSet.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhdjqyC9R5uoSbka6vKEmvmp_zcCqG1qbA3iszmbIOuxYeWSXTVxyJOaZfkGVyoawNWdWCm9D3FmD7dFZMf6XL3NhhyphenhyphenwKgC-VA4n6dXHG9hCi-7IsJZKCNpTP_ukPqlt947zsTIAPWZEs/s1600/DataSet.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Createvi quindi un nuovo report di microsoft, potete gasarvi un po&#39; anche se non lascia molto spazio alla fantasia.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqoXZ0Nyh07SENzxjndJwuns1t_ubWqG3q5q8eWhvRh35Zeb5ORdG6oKZqDtw6JRrbeTV7L_Kd4ZQLjmy_jVitAc9u1zDaPO8ldsbrNUuLUuwnRMCV2T7vUy274p8dO55-9Quase9Xi5I/s1600/Report.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;107&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqoXZ0Nyh07SENzxjndJwuns1t_ubWqG3q5q8eWhvRh35Zeb5ORdG6oKZqDtw6JRrbeTV7L_Kd4ZQLjmy_jVitAc9u1zDaPO8ldsbrNUuLUuwnRMCV2T7vUy274p8dO55-9Quase9Xi5I/s400/Report.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Vi ricordo che i campi si selezionano da dataset e si drag&#39;n droppano dalla tool box del data source.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDDUaQG_FQJ9H56lW5FN6Vy94BKzekh9hATGwArXO1mTJIMMB7zRXQm_Lfb4tcN_-qmuRQ2SN_MblT3V7CSfClDLyaDiH9p-zI55X_KLPRkD82zu3l6dSiUh3XMlSFVs9sL02IleWMYog/s1600/TableProprty.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDDUaQG_FQJ9H56lW5FN6Vy94BKzekh9hATGwArXO1mTJIMMB7zRXQm_Lfb4tcN_-qmuRQ2SN_MblT3V7CSfClDLyaDiH9p-zI55X_KLPRkD82zu3l6dSiUh3XMlSFVs9sL02IleWMYog/s400/TableProprty.png&quot; width=&quot;255&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiNAAiEiMBv6YzJdJhquTCk03JOA0v1DEWDC0UX8y2-b03K2RVAwtQpackq6TjLeS1qO3lMq1wark6o6O4-N1KrlO9LXcMaVMq_5WydjZGyPz7Hdfot5vmAsg7f-dfGr6YjSzWFIVxnPU/s1600/TableProprty.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;
Nello specifico la proprietà da settare PageBreakAtStart.&lt;br /&gt;
&lt;br /&gt;
Che cosa succederà ?&lt;br /&gt;
&lt;br /&gt;
La cosa è molto semplice non appena la Tabella sarà piena alla riga zero ( header ) si verificherà un salto pagina. In questo modo otterremo:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6nTmzQDrB1x6lnU9lpdmnQJ_1pTcu-6Y2lp-DGccqdGCbgMad-4bcmCdh6bKBDYUlArsrgJEqVC8oKprw8lnBbY6i5I2afilK1exaIizqg-6lS5LVGSby4UY65XzqZ2w9h5QOQ77fHu0/s1600/ReportExcelFinal.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;292&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6nTmzQDrB1x6lnU9lpdmnQJ_1pTcu-6Y2lp-DGccqdGCbgMad-4bcmCdh6bKBDYUlArsrgJEqVC8oKprw8lnBbY6i5I2afilK1exaIizqg-6lS5LVGSby4UY65XzqZ2w9h5QOQ77fHu0/s400/ReportExcelFinal.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Ed ecco che abbiamo il nostro report !&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/1165706373177949164/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/1165706373177949164' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/1165706373177949164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/1165706373177949164'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/09/how-to-export-report-in-2-excel-sheet.html' title='How To: Export report in 2 Excel Sheet.'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhdjqyC9R5uoSbka6vKEmvmp_zcCqG1qbA3iszmbIOuxYeWSXTVxyJOaZfkGVyoawNWdWCm9D3FmD7dFZMf6XL3NhhyphenhyphenwKgC-VA4n6dXHG9hCi-7IsJZKCNpTP_ukPqlt947zsTIAPWZEs/s72-c/DataSet.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-4470846091885009603</id><published>2013-08-09T03:39:00.001-07:00</published><updated>2013-11-04T09:48:09.981-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Analisi"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Concept"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="sqlite"/><title type='text'>How To: Create a multy Layer Method</title><content type='html'>Giusto per mettere qualche puntino sulle I anche se i per questa volta non è il prefisso di interfaccia.&lt;br /&gt;
&lt;br /&gt;
In molti casi, a volte in troppi, non è difficile imbattersi in codice scritto davvero male. Le cause, sono sempre le stesse ma riassumibili in un unica parola &quot;premura&quot;.&lt;br /&gt;
&lt;br /&gt;
Vi posto un esempio banale banale di come scrivere due righette di codice fatte bene, e di contro leggibili .&lt;br /&gt;
&lt;br /&gt;
Come sempre si tratta di un esempio ben poco edificante, ma quanto meno chiaro.&lt;br /&gt;
&lt;br /&gt;
Si tratta di un metodo spalmato su più livelli, e con questo che cosa si intende? che fra il chiamante e il reale esecutore del metodo c&#39;e&#39; almeno un secondo attore.&lt;br /&gt;
&lt;br /&gt;
Questa situazione consente molteplici considerazione e attività ma non è questo il post in cui parlarne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;TestLayer&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Program&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Main&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt;[] &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;args&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #ff5600;&quot;&gt;EntryPoint&lt;/span&gt; ep &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;EntryPoint&lt;/span&gt;();

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #ff5600;&quot;&gt;ep&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;GetData&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;demo&quot;&lt;/span&gt;));

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReadLine();
        }
    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;EntryPoint&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;EntryPointLogger&lt;/span&gt; epl &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;EntryPointLogger&lt;/span&gt;();
        &lt;span style=&quot;color: #ff5600;&quot;&gt;EntryPointRealMethod&lt;/span&gt; eprm &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;EntryPointRealMethod&lt;/span&gt;();

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; string &lt;span style=&quot;color: #21439c;&quot;&gt;GetData&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;inputValue&lt;/span&gt;)
        {
            string outputValue &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;&quot;&lt;/span&gt;;
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;try&lt;/span&gt;
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;epl&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;DoWriteLog&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Open&quot;&lt;/span&gt;, &lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;);
                &lt;span style=&quot;color: #ff5600;&quot;&gt;epl&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;DoWriteLog&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Execute start&quot;&lt;/span&gt;, &lt;span style=&quot;color: #a8017e;&quot;&gt;2&lt;/span&gt;);
                &lt;span style=&quot;color: #ff5600;&quot;&gt;eprm&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;GetData&lt;/span&gt;(inputValue);
                &lt;span style=&quot;color: #ff5600;&quot;&gt;epl&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;DoWriteLog&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Execute end&quot;&lt;/span&gt;, &lt;span style=&quot;color: #a8017e;&quot;&gt;2&lt;/span&gt;);
            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;catch&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;Exception&lt;/span&gt; ex)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;epl&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;DoWriteLog&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Error&quot;&lt;/span&gt;, &lt;span style=&quot;color: #a8017e;&quot;&gt;2&lt;/span&gt;);
                &lt;span style=&quot;color: #ff5600;&quot;&gt;epl&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;DoWriteLog&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;ex:&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;ex&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Message&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ToString(), &lt;span style=&quot;color: #a8017e;&quot;&gt;2&lt;/span&gt;);
            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;finally&lt;/span&gt;
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;epl&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;DoWriteLog&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Close&quot;&lt;/span&gt;, &lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;);
                eprm &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt; outputValue;
        }
    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;EntryPointRealMethod&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; string &lt;span style=&quot;color: #21439c;&quot;&gt;GetData&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;value&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (value &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;HelloWord&quot;&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;nice try&quot;&lt;/span&gt;;
            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;*&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; value &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;*&quot;&lt;/span&gt;;
        }
    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;EntryPointLogger&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;DoWriteLog&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;message&lt;/span&gt;, &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;level&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (level &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Trace:&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; message);
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt;;
            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (level &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;2&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;External:&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; message);
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt;;
            }
            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Error:&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; message);
        }
    }

&lt;/pre&gt;
Non è difficile notare che tutta la tracciatura dell&#39;errore e in un unico punto e tutto quello che avverà nel sottostante sarà gestito esclusivamente in quell&#39;unico punto.&lt;br /&gt;
&lt;br /&gt;
In più sfruttando un salto posso cambiare la logica di RealMethod senza cambiare il resto, in più se ho fatto le cose &quot;per bene&quot; posso loggare sempre in un solo punto ...&lt;br /&gt;
&lt;br /&gt;
Tanti vantaggi come un codice leggibile, un codice manutenibile... </content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/4470846091885009603/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/4470846091885009603' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/4470846091885009603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/4470846091885009603'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/08/how-to-create-multy-layer-method.html' title='How To: Create a multy Layer Method'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-4774894270056305841</id><published>2013-07-23T05:46:00.001-07:00</published><updated>2013-07-23T05:48:10.313-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="DataTable"/><category scheme="http://www.blogger.com/atom/ns#" term="Excel"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="Html"/><title type='text'>How to: DataGridView to Excel </title><content type='html'>Sfatiamo subito un mito da DataGridView a Excel 2007 non si può fare utilizzando un metodo semplice facile e veloce. L&#39;unica è agire tramite la creazione di un oggetto.&lt;br /&gt;
&lt;br /&gt;
Questo perchè ? Excel.xslx non è in realtà un file ma un insieme di file il che comporta una serie di difficoltà.&lt;br /&gt;
&lt;br /&gt;
Tuttavia è possibile effettuare una conversione diretta o quasi da DataGridView a Excel 97-2003.&lt;br /&gt;
&lt;br /&gt;
Di metodi ce ne sono davvero tanti e tutti più o meno equivalenti.&lt;br /&gt;
&lt;br /&gt;
Quello che vi propongo è più o meno semplice.&lt;br /&gt;
&lt;br /&gt;
Vi serve specificare lo schema :&lt;br /&gt;
&lt;b&gt;&amp;lt;&lt;/b&gt;&lt;br /&gt;
html xmlns:v=&quot;urn:schemas-microsoft-com:vml&quot;&lt;br /&gt;
xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot;&lt;br /&gt;
xmlns:x=&quot;urn:schemas-microsoft-com:office:excel&quot;&lt;br /&gt;
xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&lt;br /&gt;
&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Vi serve specifica nel tag head&lt;br /&gt;
&lt;b&gt;&amp;lt;%&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.ContentType = &quot;application/vnd.ms-excel&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Cache.SetCacheability(HttpCacheability.NoCache);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.AddHeader(&quot;Content-Disposition&quot;, &quot;inline;filename=File.xls&quot;);&lt;br /&gt;%&amp;gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Dove file.xls è il nome del vostro file...&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Fatto questo potete pure sbizzarrirvi con i fogli di stile stando però attenti a speficare ad esempio :&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .tableEx &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border: 1px solid #c0504d;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .thEx&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; background:#1f497d;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color: white;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family: Tahoma,verdana,arial;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-size: 11px;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; line-height: 30px;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border: 1px solid #1f497d !important;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .tdEx&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color: black;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family: Tahoma,verdana,arial;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-size: 11px;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border: 1px solid #c0504d;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;HeaderStyle-CssClass=&quot;thEx&quot; ItemStyle-CssClass=&quot;tdEx&quot;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Come questi debbano lavorare con la tabella. Basta un nulla che il tutto si compromette.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/4774894270056305841/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/4774894270056305841' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/4774894270056305841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/4774894270056305841'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/07/how-to-datagridview-to-excel.html' title='How to: DataGridView to Excel '/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-8834604666458966486</id><published>2013-06-27T07:47:00.001-07:00</published><updated>2013-06-27T07:47:21.341-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="asp.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="Html"/><title type='text'>How To: Gridview multiline Cell</title><content type='html'>Leggendo su internet ho trovato davvero di tutto e di più...&lt;br /&gt;
&lt;br /&gt;
I migliori ...&lt;br /&gt;
a) &quot;mettere una item column template con una textarea e un div che la wrappa...usando css3&quot;&lt;br /&gt;
b) &quot;come il punto a ma con jquery al posto css3&quot;&lt;br /&gt;
c) Creare un controllo custom che si auto &quot;alza&quot; in base al numero di righe presenti...&lt;br /&gt;
&lt;br /&gt;
MAMMA MIA.&lt;br /&gt;
Una volta che avete progettato la vostra gridview, una volta che avete stabilito il DataSource, rimane davvero poco da fare.&lt;br /&gt;
&lt;br /&gt;
Esiste un evento semplice semplice RowDataBound che si scatena quando il controllo renderizza se stesso... da dato a HTML.&lt;br /&gt;
&lt;br /&gt;
Perchè non provare ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;protected&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; gwMain_RowDataBound(object sender, &lt;span style=&quot;color: #ff5600;&quot;&gt;GridViewRowEventArgs&lt;/span&gt; e)
{
      &lt;span style=&quot;color: #ff5600;&quot;&gt;e&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Row&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Cells&lt;/span&gt;[&lt;span style=&quot;color: #a8017e;&quot;&gt;3&lt;/span&gt;]&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;e&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Row&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Cells&lt;/span&gt;[&lt;span style=&quot;color: #a8017e;&quot;&gt;3&lt;/span&gt;]&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Replace(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;\n&quot;&lt;/span&gt;, &lt;span style=&quot;color: #666666;&quot;&gt;&quot;
&quot;&lt;/span&gt;);
}
&lt;/pre&gt;
&lt;br /&gt;
Fatto così ... e funziona, senza troppi ( in questo caso inutili ) fronzoli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/8834604666458966486/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/8834604666458966486' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/8834604666458966486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/8834604666458966486'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/06/how-to-gridview-multiline-cell.html' title='How To: Gridview multiline Cell'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-484833672332522253</id><published>2013-06-14T04:16:00.000-07:00</published><updated>2013-06-14T04:16:40.629-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Analisi"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Concept"/><category scheme="http://www.blogger.com/atom/ns#" term="Dynamic"/><category scheme="http://www.blogger.com/atom/ns#" term="generic"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="XML"/><title type='text'>How To: Implement Dynamic Data Provider </title><content type='html'>Dopo aver scopert dynamic.. non mi sono più fermato ( ammetto di essermi complicato la vita ) ma il risultato è molto piacevole.&lt;br/&gt;&lt;br/&gt;
&lt;pre style=&quot;background:#fff;color:#3b3b3b&quot;&gt;using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Text&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;DynamicDataProvider&lt;/span&gt;;


namespace &lt;span style=&quot;color:#ff5600&quot;&gt;DynamicDataProvider&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Test&lt;/span&gt;
{
    &lt;span style=&quot;color:#ff5600&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;Program&lt;/span&gt;
    {
        &lt;span style=&quot;color:#ff5600&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;Main&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;string&lt;/span&gt;[] &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;args&lt;/span&gt;)
        {
          
            &lt;span style=&quot;color:#ff5600&quot;&gt;Entities&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;contactType ct &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;Entities&lt;/span&gt;.contactType();
            ct&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;id &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#a8017e&quot;&gt;1&lt;/span&gt;;
            &lt;span style=&quot;color:#ff5600&quot;&gt;ct&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Name&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#666&quot;&gt;&quot;Default&quot;&lt;/span&gt;;
            &lt;span style=&quot;color:#ff5600&quot;&gt;ct&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Description&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#666&quot;&gt;&quot;&quot;&lt;/span&gt;;


            &lt;span style=&quot;color:#ff5600&quot;&gt;DynamicDataProvider&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;DataProvider&lt;/span&gt; dp &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;DataProvider&lt;/span&gt;(&lt;span style=&quot;color:#666&quot;&gt;&quot;contactType&quot;&lt;/span&gt;);

            &lt;span style=&quot;color:#ff5600&quot;&gt;dp&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Insert&lt;/span&gt;(ct);

            &lt;span style=&quot;color:#ff5600&quot;&gt;Entities&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;contact c &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;Entities&lt;/span&gt;.contact();
            c&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;id &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#a8017e&quot;&gt;1&lt;/span&gt;;
            &lt;span style=&quot;color:#ff5600&quot;&gt;c&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Name&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#666&quot;&gt;&quot;Fabio&quot;&lt;/span&gt;;
            &lt;span style=&quot;color:#ff5600&quot;&gt;c&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Surname&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#666&quot;&gt;&quot;Arosio&quot;&lt;/span&gt;;
            &lt;span style=&quot;color:#ff5600&quot;&gt;c&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Since&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;DateTime&lt;/span&gt;(&lt;span style=&quot;color:#a8017e&quot;&gt;1974&lt;/span&gt;, &lt;span style=&quot;color:#a8017e&quot;&gt;2&lt;/span&gt;, &lt;span style=&quot;color:#a8017e&quot;&gt;26&lt;/span&gt;);
            &lt;span style=&quot;color:#ff5600&quot;&gt;c&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Contact_Type&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; ct;

            dp &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;DataProvider&lt;/span&gt;(&lt;span style=&quot;color:#666&quot;&gt;&quot;contact&quot;&lt;/span&gt;);

            &lt;span style=&quot;color:#ff5600&quot;&gt;dp&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Insert&lt;/span&gt;(c);
           
        }
    }
}
&lt;/pre&gt;
&lt;br/&gt;
Che cosa si nasconde dietro questo breve listato? &lt;br/&gt;
Tanto codice ma riutilizzabile all 100%&lt;br/&gt;
il tutto parte da questa semplice ma potente interfaccia&lt;br/&gt; 
&lt;pre style=&quot;background:#fff;color:#3b3b3b&quot;&gt;using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Text&lt;/span&gt;;

namespace &lt;span style=&quot;color:#ff5600&quot;&gt;DynamicDataProvider&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Commons&lt;/span&gt;
{
    &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;interface&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;IDataProvider&lt;/span&gt;
    {
        &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;Insert&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;dynamic&lt;/span&gt; &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;item&lt;/span&gt;);
        &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;Edit&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;dynamic&lt;/span&gt; &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;item&lt;/span&gt;);
        &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;Delete&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;dynamic&lt;/span&gt; &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;item&lt;/span&gt;);
        dynamic &lt;span style=&quot;color:#21439c&quot;&gt;Select&lt;/span&gt;();
    }
}

&lt;/pre&gt;
&lt;br/&gt;
il cui ruolo è ... non posso svelarvi tutto subito, è necessario leggere tutto il post.&lt;br/&gt;
&lt;br/&gt;
&lt;pre style=&quot;background:#fff;color:#3b3b3b&quot;&gt;using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Text&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;DynamicDataProvider&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Commons&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;DynamicDataProvider&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;XMLcontext&lt;/span&gt;;

namespace &lt;span style=&quot;color:#ff5600&quot;&gt;DynamicDataProvider&lt;/span&gt;
{
    &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;DataProvider&lt;/span&gt;:IDataProvider
    {

        &lt;span style=&quot;color:#ff5600&quot;&gt;IDataProvider&lt;/span&gt; current &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#a535ae&quot;&gt;null&lt;/span&gt;;

        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;DataProvider&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;t&lt;/span&gt;)
        {
            current &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;new&lt;/span&gt; contextDataProvider(t);
        }
       
        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;Insert&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;dynamic&lt;/span&gt; &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;item&lt;/span&gt;)
        {
            &lt;span style=&quot;color:#ff5600&quot;&gt;current&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Insert&lt;/span&gt;(item);
        }

        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;Edit&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;dynamic&lt;/span&gt; &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;item&lt;/span&gt;)
        {
            &lt;span style=&quot;color:#ff5600&quot;&gt;current&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Edit&lt;/span&gt;(item);
        }

        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;Delete&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;dynamic&lt;/span&gt; &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;item&lt;/span&gt;)
        {
            &lt;span style=&quot;color:#ff5600&quot;&gt;current&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Delete&lt;/span&gt;(item);
        }

        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; dynamic &lt;span style=&quot;color:#21439c&quot;&gt;Select&lt;/span&gt;()
        {
            &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;current&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Select&lt;/span&gt;();
        }

        
    }
}

&lt;/pre&gt;
Questo è il mio dataProvider, che implementa l&#39;interfaccia, diciamo che in tutto il progetto l&#39;interfaccia è molto molto diffusa, sia per implementare il pattern del proxy, sia per implementare in modo omogeneo tutta la struttura.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Queste le mie entià con relative collezioni &lt;br/&gt;
&lt;pre style=&quot;background:#fff;color:#3b3b3b&quot;&gt;using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Text&lt;/span&gt;;

namespace &lt;span style=&quot;color:#ff5600&quot;&gt;DynamicDataProvider&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Entities&lt;/span&gt;
{
    &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;contact&lt;/span&gt;
    {
        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;int&lt;/span&gt; id { get; set; }
        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; string &lt;span style=&quot;color:#ff5600&quot;&gt;Name&lt;/span&gt; { get; set; }
        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; string &lt;span style=&quot;color:#ff5600&quot;&gt;Surname&lt;/span&gt; { get; set; }
        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;DateTime&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;Since&lt;/span&gt; { get; set; }
        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; contactType &lt;span style=&quot;color:#ff5600&quot;&gt;Contact_Type&lt;/span&gt; { get; set; }
    }

    &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;contacts&lt;/span&gt; : List&amp;lt;contact&gt;
    { 
    
    }
}

&lt;/pre&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;pre style=&quot;background:#fff;color:#3b3b3b&quot;&gt;using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Text&lt;/span&gt;;

namespace &lt;span style=&quot;color:#ff5600&quot;&gt;DynamicDataProvider&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Entities&lt;/span&gt;
{
    &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;contactType&lt;/span&gt;
    {
        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;int&lt;/span&gt; id { get; set; }
        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; string &lt;span style=&quot;color:#ff5600&quot;&gt;Name&lt;/span&gt; { get; set; }
        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; string &lt;span style=&quot;color:#ff5600&quot;&gt;Description&lt;/span&gt; { get; set; }
    }

    &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;contactTypes&lt;/span&gt; :List&amp;lt;contactType&gt;
    {
    }

}

&lt;/pre&gt;
&lt;br/&gt;
&lt;br/&gt;
Ed ora la parte più complessa... il dataContext... &lt;br/&gt;
&lt;pre style=&quot;background:#fff;color:#3b3b3b&quot;&gt;using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Text&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;DynamicDataProvider&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;DynamicDataProvider&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Commons&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;DynamicDataProvider&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Entities&lt;/span&gt;;
using &lt;span style=&quot;color:#ff5600&quot;&gt;DynamicDataProvider&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;XMLcontext&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Utils&lt;/span&gt;;

namespace &lt;span style=&quot;color:#ff5600&quot;&gt;DynamicDataProvider&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;XMLcontext&lt;/span&gt;
{
    &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;contextDataProvider&lt;/span&gt; : IDataProvider
    {
        #region &lt;span style=&quot;color:#ff5600&quot;&gt;Contacts&lt;/span&gt;
        &lt;span style=&quot;color:#ff5600&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;contactsDP&lt;/span&gt; :IDataProvider
        {
            &lt;span style=&quot;color:#ff5600&quot;&gt;private&lt;/span&gt; string fName &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; @&lt;span style=&quot;color:#666&quot;&gt;&quot;\Contacts.xml&quot;&lt;/span&gt;;
            &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; contacts &lt;span style=&quot;color:#ff5600&quot;&gt;Contacts&lt;/span&gt; { get; set; }

            &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;contactsDP&lt;/span&gt;()
            {
                &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color:#ff5600&quot;&gt;Contacts&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color:#a535ae&quot;&gt;null&lt;/span&gt;) { &lt;span style=&quot;color:#ff5600&quot;&gt;Contacts&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;new&lt;/span&gt; contacts(); }                        
            }


            &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;Insert&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;dynamic&lt;/span&gt; &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;item&lt;/span&gt;)
            {
                &lt;span style=&quot;color:#ff5600&quot;&gt;Contacts&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Add(item);

                &lt;span style=&quot;color:#ff5600&quot;&gt;XmlHelpers&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Serialize&amp;lt;contacts&gt;&lt;/span&gt;(fName, &lt;span style=&quot;color:#ff5600&quot;&gt;Contacts&lt;/span&gt;);
            }

            &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;Edit&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;dynamic&lt;/span&gt; &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;item&lt;/span&gt;)
            {
                &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color:#ff5600&quot;&gt;int&lt;/span&gt; i &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#a8017e&quot;&gt;0&lt;/span&gt;; i &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;Contacts&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Count&lt;/span&gt;; i&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;++&lt;/span&gt;)
                {
                    &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color:#ff5600&quot;&gt;Contacts&lt;/span&gt;[i]&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;id &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;==&lt;/span&gt; item&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;id)
                    {
                        &lt;span style=&quot;color:#ff5600&quot;&gt;Contacts&lt;/span&gt;[i] &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; item;
                        &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;break&lt;/span&gt;;
                    }
                }

                &lt;span style=&quot;color:#ff5600&quot;&gt;XmlHelpers&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Serialize&amp;lt;contacts&gt;&lt;/span&gt;(fName, &lt;span style=&quot;color:#ff5600&quot;&gt;Contacts&lt;/span&gt;);
            }

            &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;Delete&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;dynamic&lt;/span&gt; &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;item&lt;/span&gt;)
            {
                &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color:#ff5600&quot;&gt;int&lt;/span&gt; i &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#a8017e&quot;&gt;0&lt;/span&gt;; i &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;Contacts&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Count&lt;/span&gt;; i&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;++&lt;/span&gt;)
                {
                    &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color:#ff5600&quot;&gt;Contacts&lt;/span&gt;[i]&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;id &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;==&lt;/span&gt; item&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;id)
                    {
                        &lt;span style=&quot;color:#ff5600&quot;&gt;Contacts&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;RemoveAt(i);
                        &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;break&lt;/span&gt;;
                    }
                }

                &lt;span style=&quot;color:#ff5600&quot;&gt;XmlHelpers&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Serialize&amp;lt;contacts&gt;&lt;/span&gt;(fName, &lt;span style=&quot;color:#ff5600&quot;&gt;Contacts&lt;/span&gt;);
            }

            &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; dynamic &lt;span style=&quot;color:#21439c&quot;&gt;Select&lt;/span&gt;()
            {
                &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;XmlHelpers&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Deserialize&amp;lt;contacts&gt;&lt;/span&gt;(fName);
            }
        }
        #endregion 

        #region &lt;span style=&quot;color:#ff5600&quot;&gt;ContactsType&lt;/span&gt;
        &lt;span style=&quot;color:#ff5600&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;contactTypesDP&lt;/span&gt; : IDataProvider
        {
            &lt;span style=&quot;color:#ff5600&quot;&gt;private&lt;/span&gt; string fName &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; @&lt;span style=&quot;color:#666&quot;&gt;&quot;\ContactsType.xml&quot;&lt;/span&gt;;
            &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; contactTypes &lt;span style=&quot;color:#ff5600&quot;&gt;ContactTypes&lt;/span&gt; { get; set; }

            &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;contactTypesDP&lt;/span&gt;()
            {
                &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color:#ff5600&quot;&gt;ContactTypes&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color:#a535ae&quot;&gt;null&lt;/span&gt;) { &lt;span style=&quot;color:#ff5600&quot;&gt;ContactTypes&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;new&lt;/span&gt; contactTypes(); }            
            }


            &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;Insert&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;dynamic&lt;/span&gt; &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;item&lt;/span&gt;)
            {
                &lt;span style=&quot;color:#ff5600&quot;&gt;ContactTypes&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Add(item);

                &lt;span style=&quot;color:#ff5600&quot;&gt;XmlHelpers&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Serialize&amp;lt;contactTypes&gt;&lt;/span&gt;(fName, &lt;span style=&quot;color:#ff5600&quot;&gt;ContactTypes&lt;/span&gt;);
            }

            &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;Edit&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;dynamic&lt;/span&gt; &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;item&lt;/span&gt;)
            {
                &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color:#ff5600&quot;&gt;int&lt;/span&gt; i &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#a8017e&quot;&gt;0&lt;/span&gt;; i &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;ContactTypes&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Count&lt;/span&gt;; i&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;++&lt;/span&gt;)
                {
                    &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color:#ff5600&quot;&gt;ContactTypes&lt;/span&gt;[i]&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;id &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;==&lt;/span&gt; item&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;id)
                    {
                        &lt;span style=&quot;color:#ff5600&quot;&gt;ContactTypes&lt;/span&gt;[i] &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; item;
                        &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;break&lt;/span&gt;;
                    }
                }

                &lt;span style=&quot;color:#ff5600&quot;&gt;XmlHelpers&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Serialize&amp;lt;contactTypes&gt;&lt;/span&gt;(fName, &lt;span style=&quot;color:#ff5600&quot;&gt;ContactTypes&lt;/span&gt;);
            }

            &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;Delete&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;dynamic&lt;/span&gt; &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;item&lt;/span&gt;)
            {
                &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color:#ff5600&quot;&gt;int&lt;/span&gt; i &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#a8017e&quot;&gt;0&lt;/span&gt;; i &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;ContactTypes&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Count&lt;/span&gt;; i&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;++&lt;/span&gt;)
                {
                    &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color:#ff5600&quot;&gt;ContactTypes&lt;/span&gt;[i]&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;id &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;==&lt;/span&gt; item&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;id)
                    {
                        &lt;span style=&quot;color:#ff5600&quot;&gt;ContactTypes&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;RemoveAt(i);
                        &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;break&lt;/span&gt;;
                    }
                }

                &lt;span style=&quot;color:#ff5600&quot;&gt;XmlHelpers&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Serialize&amp;lt;contactTypes&gt;&lt;/span&gt;(fName, &lt;span style=&quot;color:#ff5600&quot;&gt;ContactTypes&lt;/span&gt;);
            }

            &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; dynamic &lt;span style=&quot;color:#21439c&quot;&gt;Select&lt;/span&gt;()
            {
                &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;XmlHelpers&lt;/span&gt;&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#ff5600&quot;&gt;Deserialize&amp;lt;contactTypes&gt;&lt;/span&gt;(fName);
            }
        }
        #endregion 


        &lt;span style=&quot;color:#ff5600&quot;&gt;IDataProvider&lt;/span&gt; cur &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#a535ae&quot;&gt;null&lt;/span&gt;;

        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#21439c&quot;&gt;contextDataProvider&lt;/span&gt;(&lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color:#0053ff;font-weight:700&quot;&gt;t&lt;/span&gt;)
        {
            &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;if&lt;/span&gt; (t &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color:#666&quot;&gt;&quot;contact&quot;&lt;/span&gt;)
            { 
                cur &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;new&lt;/span&gt; contactsDP();
            }
            &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;if&lt;/span&gt; (t &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color:#666&quot;&gt;&quot;contactType&quot;&lt;/span&gt;)
            {
                cur &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;new&lt;/span&gt; contactTypesDP();
            }

        }



        #region &lt;span style=&quot;color:#ff5600&quot;&gt;IDataProvider&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;Members&lt;/span&gt;

        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; Insert(dynamic item)
        {
            &lt;span style=&quot;color:#ff5600&quot;&gt;cur&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Insert&lt;/span&gt;(item);
        }

        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; Edit(dynamic item)
        {
            &lt;span style=&quot;color:#ff5600&quot;&gt;cur&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Edit&lt;/span&gt;(item);
        }

        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;void&lt;/span&gt; Delete(dynamic item)
        {
            &lt;span style=&quot;color:#ff5600&quot;&gt;cur&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Delete&lt;/span&gt;(item);
        }

        &lt;span style=&quot;color:#ff5600&quot;&gt;public&lt;/span&gt; dynamic Select()
        {
            &lt;span style=&quot;color:#069;font-weight:700&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color:#ff5600&quot;&gt;cur&lt;span style=&quot;color:#069;font-weight:700&quot;&gt;.&lt;/span&gt;Select&lt;/span&gt;();
        }

        #endregion
    }
}


&lt;/pre&gt;
&lt;br/&gt;
&lt;br/&gt;
In breve la soluzione ha il seguente aspetto.&lt;br/&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXSs9BkHlHzv3P4A_inrW9nOFZfh92AJkk4FlhW2X0VkC2c8caenN6xMtisF7MgbdjR4l2C2pohAqQrvZu4ArL6P9BBS2UIYpXB6ynboMLko6Y0pOCj8CY5tmXVYFnFo1eTmd-ufkHOOk/s1600/sln.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXSs9BkHlHzv3P4A_inrW9nOFZfh92AJkk4FlhW2X0VkC2c8caenN6xMtisF7MgbdjR4l2C2pohAqQrvZu4ArL6P9BBS2UIYpXB6ynboMLko6Y0pOCj8CY5tmXVYFnFo1eTmd-ufkHOOk/s320/sln.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br/&gt;
&lt;br/&gt;
Devo essere onesto il codice scritto non è tanto, ma il fatto di essere riuscito a disaccoppiare i dati da chi li gestisce, dal tipo e da chi li chiama... è davvero forte&lt;br/&gt; 
Mi ha dato una certa soddisfazione arrivare a questo piccolo risultato, e ammetto che probabilmente si più limare ancora qualcosa. &lt;br/&gt;
Una nota, nella cartella utils trovate &lt;a href=&quot;http://csharplight.blogspot.it/2011/06/generc-deserializer.html&quot;&gt;la mia solita utility di serializzazione e deserializzazione.&lt;/a&gt; Come sempre buon divertimento&lt;br/&gt;




</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/484833672332522253/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/484833672332522253' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/484833672332522253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/484833672332522253'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/06/how-to-implement-dynamic-data-provider.html' title='How To: Implement Dynamic Data Provider '/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXSs9BkHlHzv3P4A_inrW9nOFZfh92AJkk4FlhW2X0VkC2c8caenN6xMtisF7MgbdjR4l2C2pohAqQrvZu4ArL6P9BBS2UIYpXB6ynboMLko6Y0pOCj8CY5tmXVYFnFo1eTmd-ufkHOOk/s72-c/sln.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-7065552444631442625</id><published>2013-06-11T03:25:00.000-07:00</published><updated>2013-06-11T09:07:02.661-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Analisi"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Concept"/><category scheme="http://www.blogger.com/atom/ns#" term="Dynamic"/><category scheme="http://www.blogger.com/atom/ns#" term="generic"/><category scheme="http://www.blogger.com/atom/ns#" term="List T"/><category scheme="http://www.blogger.com/atom/ns#" term="Reflection"/><title type='text'>E poi venne DYNAMIC</title><content type='html'>Lo so lo so sono un pazzo furioso, ammetto tutte le mie colpe ma credo davvero che mi sia spalancata la porta del sapere.&lt;br /&gt;
Questa mattina mi stavo arrovellando il cervello su come gestire una connettività fra classi in modo che si attivino come 
un Cromatoforo di un polpo. &lt;br /&gt;
Per chi non conoscesse l&#39;argomento il cromatoforo, è un cellula della pelle di un polpo o di una seppia, che consente se 
stimolata di modificare il suo stato. La &quot;vera fissa&quot; di questa entità e che lavora in gruppo.&lt;br /&gt;
Di contro se questo fosse ralizzabile in ambito &quot;software&quot; sarebbe davvero qualcosa di unico.. immaginate classi di calcolo
che lavorano all&#39;unisono solo se sono sollecitate o classi di calcolo che sanno che sollecitare per lavorare...
Mi vengono in mente mille soluzioni, e mille ipotesi. Ma per il momento mi godo questo momento e non penso ad altro.&lt;br /&gt;
(non è vero sto renderizzando ... ) &lt;br /&gt;
&lt;br /&gt;
Dynamic è qualcosa di &quot;astratto&quot; ma concreto non saprei dare una definizione, non è generic, benchè sia generico ha 
il vantaggio di non dover ( farti ) implementare invocatori di metodi con reflection.&lt;br /&gt;
&lt;br /&gt;
Ma non attendo altro .. questo è il mio esempio.. VS2010 framework 4&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;Dynamic&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Program&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Main&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt;[] &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;args&lt;/span&gt;)
        {

            &lt;span style=&quot;color: #ff5600;&quot;&gt;DynamicDataProvider&lt;/span&gt; d0 &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;DynamicDataProvider&lt;/span&gt;(&lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;);
            entities et0 &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;d0&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;GetEntities&lt;/span&gt;();

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Real Data provider&quot;&lt;/span&gt;);
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; i &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;; i &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;et0&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Count&lt;/span&gt;(); i&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;++&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(et0[i]&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;\t&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; et0[i]&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;name);
            }

            &lt;span style=&quot;color: #ff5600;&quot;&gt;DynamicDataProvider&lt;/span&gt; d1 &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;DynamicDataProvider&lt;/span&gt;(&lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;);
            entities et1 &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;d1&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;GetEntities&lt;/span&gt;();

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Mock Data provider&quot;&lt;/span&gt;);
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; i &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;; i &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;et1&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Count&lt;/span&gt;(); i&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;++&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(et1[i]&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;\t&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; et1[i]&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;name);
            }


            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Dynamc Real Data provider&quot;&lt;/span&gt;);
            dynamic dd &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;DynamicDataProvider&lt;/span&gt;(&lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;);
            var etn &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;dd&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;GetEntities&lt;/span&gt;();
            
            foreach (dynamic e in etn)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(e&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;\t&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; e&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;name);
            }


            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Dynamc fake Data provider&quot;&lt;/span&gt;);
            dynamic dd1 &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;DynamicDataProvider&lt;/span&gt;(&lt;span style=&quot;color: #a8017e;&quot;&gt;3&lt;/span&gt;);
            var etn1 &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;dd&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;1.&lt;/span&gt;GetEntities&lt;/span&gt;();

            foreach (dynamic e in etn1)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(e&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;\t&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; e&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;name);
            }


            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReadLine();

        }
    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;entity&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; id { get; set; }
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; string name { get; set; }
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; string description { get; set; }
    }


    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;entityBis&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; id { get; set; }
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; string name { get; set; }
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; string value { get; set; }
    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;entities&lt;/span&gt; : List&amp;lt;entity&amp;gt;
    {     
    }


    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;entitiesBis&lt;/span&gt; : List&amp;lt;entityBis&amp;gt;
    {
    }


    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;DynamicDataProvider&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; retType &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;DynamicDataProvider&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;cType&lt;/span&gt;)
        {
            retType &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; cType;
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; dynamic &lt;span style=&quot;color: #21439c;&quot;&gt;GetEntities&lt;/span&gt;()
        {
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (retType &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; realDataProvider()&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;fillEntites();
            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; ( retType &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; mockDataProvider()&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;fillEntites();
            }

            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; fakeDataProvider()&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;fillEntites();
        }

    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;realDataProvider&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; entities &lt;span style=&quot;color: #21439c;&quot;&gt;fillEntites&lt;/span&gt;()
        {
            entities entx &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entities();
            &lt;span style=&quot;color: #ff5600;&quot;&gt;entx&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity() { id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;, 
                                    name &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;default&quot;&lt;/span&gt;, 
                                    description &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;&quot;&lt;/span&gt; });
            &lt;span style=&quot;color: #ff5600;&quot;&gt;entx&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity() { id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;2&lt;/span&gt;, 
                                    name &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;one&quot;&lt;/span&gt;, 
                                    description &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;&quot;&lt;/span&gt; });
            &lt;span style=&quot;color: #ff5600;&quot;&gt;entx&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity() { id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;3&lt;/span&gt;, 
                                    name &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;many&quot;&lt;/span&gt;, 
                                    description &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;&quot;&lt;/span&gt; });
            &lt;span style=&quot;color: #ff5600;&quot;&gt;entx&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity() { id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;4&lt;/span&gt;, 
                                    name &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;nome&quot;&lt;/span&gt;, 
                                    description &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;&quot;&lt;/span&gt; });


            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt; entx;
        }
    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;fakeDataProvider&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; entitiesBis &lt;span style=&quot;color: #21439c;&quot;&gt;fillEntites&lt;/span&gt;()
        {
            entitiesBis entx &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entitiesBis();
            &lt;span style=&quot;color: #ff5600;&quot;&gt;entx&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entityBis() { id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;, 
                                       name &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;default Bis&quot;&lt;/span&gt;, 
                                       value &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;1&quot;&lt;/span&gt; });
            &lt;span style=&quot;color: #ff5600;&quot;&gt;entx&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entityBis() { id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;2&lt;/span&gt;, 
                                       name &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;one Bis&quot;&lt;/span&gt;, 
                                       value &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;2&quot;&lt;/span&gt; });
            &lt;span style=&quot;color: #ff5600;&quot;&gt;entx&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entityBis() { id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;3&lt;/span&gt;, 
                                       name &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;many Bis&quot;&lt;/span&gt;, 
                                       value &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;3&quot;&lt;/span&gt; });
            &lt;span style=&quot;color: #ff5600;&quot;&gt;entx&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entityBis() { id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;4&lt;/span&gt;, 
                                       name &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;nome Bis&quot;&lt;/span&gt;, 
                                       value &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;4&quot;&lt;/span&gt; });


            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt; entx;
        }
    }


    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;mockDataProvider&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; entities &lt;span style=&quot;color: #21439c;&quot;&gt;fillEntites&lt;/span&gt;()
        {
            entities entx &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entities();
            &lt;span style=&quot;color: #ff5600;&quot;&gt;entx&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity() { id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;, 
                                    name &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;mock&quot;&lt;/span&gt;, 
                                    description &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;&quot;&lt;/span&gt; });

            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt; entx;
        }
    }
}

&lt;/pre&gt;
&lt;br /&gt;
L&#39;unica è prendere questo codice e provarlo in una console application.. &lt;b&gt;realDataProvider&lt;/b&gt; e &lt;b&gt;fakeDataProvider&lt;/b&gt; propongono lo stesso metodo ma non lo stesso tipo e questo mi gasa particolarmente.&lt;br /&gt;
Non basta... le ultime due porzioni di codice del Main sono davvero &quot;potentissime&quot; stesso codice differente risultato su due tipi diversi.&lt;br /&gt;
Riesco a immaginare librerie che caricano dinamicamente i plugin certo bisogna stare attenti a come si scrive il codice ma le potenzialità sono davvero tante.</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/7065552444631442625/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/7065552444631442625' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/7065552444631442625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/7065552444631442625'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/06/e-poi-venne-dynamic.html' title='E poi venne DYNAMIC'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-4651419031839113019</id><published>2013-06-10T03:55:00.001-07:00</published><updated>2013-06-10T03:55:41.817-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="generic"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="Linq"/><category scheme="http://www.blogger.com/atom/ns#" term="List T"/><title type='text'>How To: Linq Sort / OrderBy</title><content type='html'>Facendo qualche esperimento mi sono reso conto che l&#39;order by di Linq è meno scomodo di quanto si possa pensare.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;TestSort&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Program&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Main&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt;[] &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;args&lt;/span&gt;)
        {
            entities es &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entities();
            &lt;span style=&quot;color: #ff5600;&quot;&gt;es&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity() { id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;, 
                                    name &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;fabio&quot;&lt;/span&gt;, 
                                    description &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;nice&quot;&lt;/span&gt; });

            &lt;span style=&quot;color: #ff5600;&quot;&gt;es&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity() { id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;2&lt;/span&gt;, 
                                    name &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;lorenzo&quot;&lt;/span&gt;, 
                                    description &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;very nice&quot;&lt;/span&gt; });

            &lt;span style=&quot;color: #ff5600;&quot;&gt;es&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add&lt;/span&gt;(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity() { id &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;2&lt;/span&gt;, 
                                    name &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;federico&quot;&lt;/span&gt;, 
                                    description &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;it will be&quot;&lt;/span&gt; });


            var esx &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;es&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;OrderBy&lt;/span&gt;(c&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;gt;&lt;/span&gt; c&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;name);
            
        }
    }


    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;entity&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; id { get; set; }
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; string name { get; set; }
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; string description { get; set; }
    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;entities&lt;/span&gt; : List&amp;lt;entity&amp;gt;
    { 
    
    }
}

&lt;/pre&gt;
Facile.. no ?</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/4651419031839113019/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/4651419031839113019' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/4651419031839113019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/4651419031839113019'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/06/how-to-linq-sort-orderby.html' title='How To: Linq Sort / OrderBy'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-4349832963524735217</id><published>2013-05-31T02:45:00.001-07:00</published><updated>2013-05-31T02:50:04.332-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="generic"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="Lambda"/><category scheme="http://www.blogger.com/atom/ns#" term="Lazy"/><category scheme="http://www.blogger.com/atom/ns#" term="Linq"/><category scheme="http://www.blogger.com/atom/ns#" term="List T"/><title type='text'>How to: C# Lazy ( Side effect ) </title><content type='html'>Recentemente mi sono confrontato con un cordiale discorso di performance.&lt;br /&gt;
&lt;br /&gt;
La maggior parte delle nostre applicazione vive l&#39;ansia di dover caricare dei dati, e a dispetto delle mille possibilità&amp;nbsp; (leggasi &quot;entity framework&quot; ) non sempre possiamo rivolgerci ad estrattori specifici, o di contro questi sono rappresentati da elementi che wrappano i vare ef.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;LazyTester&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;entity&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; ID { get; set; }
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; string &lt;span style=&quot;color: #ff5600;&quot;&gt;Name&lt;/span&gt; { get; set; }
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; string &lt;span style=&quot;color: #ff5600;&quot;&gt;Surname&lt;/span&gt; { get; set; }    
    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;entites&lt;/span&gt; : List&amp;lt;entity&amp;gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;entites&lt;/span&gt;()
        {
            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add( &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity(){
                    ID&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;,
                    &lt;span style=&quot;color: #ff5600;&quot;&gt;Name&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;Fabio&quot;&lt;/span&gt;,
                    &lt;span style=&quot;color: #ff5600;&quot;&gt;Surname&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Arosio&quot;&lt;/span&gt;});

            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add( &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity(){
                    ID&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #a8017e;&quot;&gt;2&lt;/span&gt;,
                    &lt;span style=&quot;color: #ff5600;&quot;&gt;Name&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;Claudio&quot;&lt;/span&gt;,
                    &lt;span style=&quot;color: #ff5600;&quot;&gt;Surname&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Arosio&quot;&lt;/span&gt;});
            
            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add( &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity(){
                    ID&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #a8017e;&quot;&gt;3&lt;/span&gt;,
                    &lt;span style=&quot;color: #ff5600;&quot;&gt;Name&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;Lorenzo&quot;&lt;/span&gt;,
                    &lt;span style=&quot;color: #ff5600;&quot;&gt;Surname&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Arosio&quot;&lt;/span&gt;});
            
            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Add( &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entity(){
                    ID&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #a8017e;&quot;&gt;4&lt;/span&gt;,
                    &lt;span style=&quot;color: #ff5600;&quot;&gt;Name&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&quot;Federico&quot;&lt;/span&gt;,
                    &lt;span style=&quot;color: #ff5600;&quot;&gt;Surname&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Arosio&quot;&lt;/span&gt;});
            
            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;done&quot;&lt;/span&gt;);
        }    
    }

    &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Program&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;Main&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;string&lt;/span&gt;[] &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;args&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Lazy...&quot;&lt;/span&gt;);
            &lt;span style=&quot;color: #ff5600;&quot;&gt;Lazy&amp;lt;entites&amp;gt;&lt;/span&gt; ldsE &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;Lazy&amp;lt;entites&amp;gt;&lt;/span&gt;();
                       

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Normal...&quot;&lt;/span&gt;);
            entites dsE &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; entites();
          
            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Normal:&quot;&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;dsE&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Count&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ToString());

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WriteLine(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Lazy:&quot;&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;ldsE&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Value&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Count&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ToString());

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Console&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReadLine();
        }
    }
}

&lt;/pre&gt;
&lt;br /&gt;
Questo esempietto anche se molto molto scarno presenta il vantaggio di un costruttore Lazy.&lt;br /&gt;
&lt;br /&gt;
già nel nome ben si comprende che cosa farà ma in breve possiamo ipotizzare che quanto costruito come lazy non sarà disponibile fin da subito.&lt;br /&gt;
Tanto che la &quot;done&quot; sulla console appare appena prima di della WriteLine Lazy.&lt;br /&gt;
&lt;br /&gt;
Supponiamo giusto per dare visibiltà della situazione che il caricamento differito dei dati avrà luogo solo quando questi saranno necessari e di contro questo &quot;sposta il tempo d&#39;accesso&quot; solo e soltanto a quando questi servono davvero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;var ldsEE &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;Lazy&amp;lt;entites&amp;gt;&lt;/span&gt;()&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Value&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Where&lt;/span&gt; (c&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;c&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Name&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;StartsWith(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;F&quot;&lt;/span&gt;));

&lt;/pre&gt;
&lt;br /&gt;
Ci è lecito pensare e implementare anche in questo modo .. ma perdendone qualche beneficio..&lt;br /&gt;
&lt;br /&gt;
Sicuramente credo che sia sempre cosa buona e giusta sperimentare. !&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/4349832963524735217/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/4349832963524735217' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/4349832963524735217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/4349832963524735217'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/05/how-to-c-lazy-side-effect.html' title='How to: C# Lazy ( Side effect ) '/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-1770243895947333581</id><published>2013-05-30T06:18:00.001-07:00</published><updated>2013-05-30T06:18:57.548-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Direct Show"/><category scheme="http://www.blogger.com/atom/ns#" term="Direct X"/><category scheme="http://www.blogger.com/atom/ns#" term="Graphics"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><title type='text'>How TO: C# internal WEB CAM r2</title><content type='html'>La prima versione mi è piaciuta ma onestamente non mi ha soddisfatto, perchè il sorgente era strettamente legato al form, oggi con un filo di calma in più ( giocandomi la pausa ) sono riuscito a migliorare il tutto e il gioco sta nel come gestire le cose.&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Drawing&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;CameraCapture&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Objects&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;HandledObject&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; width;
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; height;
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;Size&lt;/span&gt; clientSize;
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IntPtr&lt;/span&gt; handle; 
    }
}
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Questo primo oggetto mi serve come tramite per la gestiione dell&#39;Handle... quasi mi sembra di tornare ai fasti delle API a 32bit.
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;CameraCapture&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Objects&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;enum&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;PlayState&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;Stopped&lt;/span&gt;,
        &lt;span style=&quot;color: #ff5600;&quot;&gt;Paused&lt;/span&gt;,
        &lt;span style=&quot;color: #ff5600;&quot;&gt;Running&lt;/span&gt;,
        &lt;span style=&quot;color: #ff5600;&quot;&gt;Init&lt;/span&gt;
    }
}
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Questo è rimasto invariato.
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;DirectShowLib&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Runtime&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;InteropServices&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Runtime&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;InteropServices&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;ComTypes&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;CameraCapture&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Objects&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;DirectShowWrapper&lt;/span&gt;
    {

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; D &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;Convert&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ToInt32(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;0X8000&quot;&lt;/span&gt;, &lt;span style=&quot;color: #a8017e;&quot;&gt;16&lt;/span&gt;);

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; WM_GRAPHNOTIFY &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IVideoWindow&lt;/span&gt; VideoWindow &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IMediaControl&lt;/span&gt; MediaControl &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IMediaEventEx&lt;/span&gt; MediaEventEx &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IGraphBuilder&lt;/span&gt; GraphBuilder &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;ICaptureGraphBuilder2&lt;/span&gt; CaptureGraphBuilder &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;DsROTEntry&lt;/span&gt; rot &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
        &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;PlayState&lt;/span&gt; CurrentState &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;PlayState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Stopped&lt;/span&gt;;

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;DirectShowWrapper&lt;/span&gt;()
        {
            WM_GRAPHNOTIFY &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;D&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;;
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;GetInterfaces&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;HandledObject&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;f&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;
            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;IGraphBuilder&lt;/span&gt;)(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;FilterGraph&lt;/span&gt;());
            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CaptureGraphBuilder&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;ICaptureGraphBuilder2&lt;/span&gt;)(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;CaptureGraphBuilder2&lt;/span&gt;());
            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;IMediaControl&lt;/span&gt;)(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt;);
            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;IVideoWindow&lt;/span&gt;)(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt;);
            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;IMediaEventEx&lt;/span&gt;)(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt;);
            hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;SetNotifyWindow(f&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;handle, 
                                    WM_GRAPHNOTIFY, 
                                    &lt;span style=&quot;color: #ff5600;&quot;&gt;IntPtr&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Zero&lt;/span&gt;);
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;CaptureVideo&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;HandledObject&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;f&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;
            &lt;span style=&quot;color: #ff5600;&quot;&gt;IBaseFilter&lt;/span&gt; sourceFilter &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;try&lt;/span&gt;
            {
                GetInterfaces(f);

                hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CaptureGraphBuilder&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;SetFiltergraph(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt;);


                sourceFilter &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; FindCaptureDevice();

                hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;AddFilter(sourceFilter, &lt;span style=&quot;color: #666666;&quot;&gt;&quot;Video Capture&quot;&lt;/span&gt;);


                hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CaptureGraphBuilder&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;RenderStream(&lt;span style=&quot;color: #ff5600;&quot;&gt;PinCategory&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Preview&lt;/span&gt;,
                        &lt;span style=&quot;color: #ff5600;&quot;&gt;MediaType&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Video&lt;/span&gt;,
                        sourceFilter,
                        &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;, &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;);

                &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(sourceFilter);

                SetupVideoWindow(f);

                rot &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;DsROTEntry&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt;);

                hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Run();

                &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CurrentState&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;PlayState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Running&lt;/span&gt;;

            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;catch&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;Exception&lt;/span&gt; ex)
            {

            }
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;SetupVideoWindow&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;HandledObject&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;f&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;

            hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;put_Owner(f&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;handle);


            hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;put_WindowStyle(&lt;span style=&quot;color: #ff5600;&quot;&gt;WindowStyle&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Child&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;WindowStyle&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;ClipChildren&lt;/span&gt;);

            ResizeVideoWindow(f);

            hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;put_Visible(&lt;span style=&quot;color: #ff5600;&quot;&gt;OABool&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;True&lt;/span&gt;);
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;closeinterfaces&lt;/span&gt;()
        {

            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;StopWhenReady();
            }

            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CurrentState&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;PlayState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Stopped&lt;/span&gt;;


            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;SetNotifyWindow(&lt;span style=&quot;color: #ff5600;&quot;&gt;IntPtr&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Zero&lt;/span&gt;, 
                        WM_GRAPHNOTIFY, 
                        &lt;span style=&quot;color: #ff5600;&quot;&gt;IntPtr&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Zero&lt;/span&gt;);
            }


            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;put_Visible(&lt;span style=&quot;color: #ff5600;&quot;&gt;OABool&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;False&lt;/span&gt;);
                &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;put_Owner(&lt;span style=&quot;color: #ff5600;&quot;&gt;IntPtr&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Zero&lt;/span&gt;);
            }


            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (rot &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;rot&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Dispose&lt;/span&gt;();
                rot &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
            }


            &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt;);
            &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt;);
            &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;);
            &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt;);
            &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CaptureGraphBuilder&lt;/span&gt;);

            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CaptureGraphBuilder&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
            &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
        }



        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;HandleGraphEvent&lt;/span&gt;()
        {
            &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;
            &lt;span style=&quot;color: #ff5600;&quot;&gt;EventCode&lt;/span&gt; evCode;
            &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; evParam1;
            &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; evParam2;

            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt;;
            }

            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;while&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;GetEvent(out evCode, out evParam1, out evParam2, &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;) &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;)
            {
                hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;FreeEventParams(evCode, evParam1, evParam2);
            }
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IBaseFilter&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;FindCaptureDevice&lt;/span&gt;()
        {

            &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;
            &lt;span style=&quot;color: #ff5600;&quot;&gt;IEnumMoniker&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IclassEnum&lt;/span&gt;;
            &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Runtime&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;InteropServices&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;UCOMIEnumMoniker&lt;/span&gt; classEnum;

            &lt;span style=&quot;color: #ff5600;&quot;&gt;IMoniker&lt;/span&gt;[] moniker &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IMoniker&lt;/span&gt;[&lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;];

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Object&lt;/span&gt; source &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
            &lt;span style=&quot;color: #ff5600;&quot;&gt;ICreateDevEnum&lt;/span&gt; devEnum &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;ICreateDevEnum&lt;/span&gt;)(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;CreateDevEnum&lt;/span&gt;());

            hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;devEnum&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;CreateClassEnumerator&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;FilterCategory&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoInputDevice&lt;/span&gt;,
                out classEnum, &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;);


            &lt;span style=&quot;color: #ff5600;&quot;&gt;IclassEnum&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;IEnumMoniker&lt;/span&gt;)(classEnum);

            &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(devEnum);

            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (classEnum &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;ApplicationException&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;No device video on board.&quot;&lt;/span&gt;);
            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;IclassEnum&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Next(&lt;span style=&quot;color: #ff5600;&quot;&gt;moniker&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Length&lt;/span&gt;, moniker, &lt;span style=&quot;color: #ff5600;&quot;&gt;IntPtr&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Zero&lt;/span&gt;) &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;Guid&lt;/span&gt; iid &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; typeof(&lt;span style=&quot;color: #ff5600;&quot;&gt;IBaseFilter&lt;/span&gt;)&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;GUID;
                moniker[&lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;]&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;BindToObject(&lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;, &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;, iid, out source);
            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;else&lt;/span&gt;
            {
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;ApplicationException&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Unable to access video capture device!&quot;&lt;/span&gt;);
            }
            &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(moniker[&lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;]);
            &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(classEnum);
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;IBaseFilter&lt;/span&gt;)(source);
        }


        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;ChangePreviewState&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;bool&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;showVideo&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;

            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt;;
            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (showVideo &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;true&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CurrentState&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;PlayState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Running&lt;/span&gt;)
                {
                    hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Run();
                    &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CurrentState&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;PlayState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Running&lt;/span&gt;;
                }
            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;else&lt;/span&gt;
            {

                hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;StopWhenReady();
                &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CurrentState&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;PlayState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Stopped&lt;/span&gt;;
            }
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;ResizeVideoWindow&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;HandledObject&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;ho&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;SetWindowPosition(&lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;, ho&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;width, &lt;span style=&quot;color: #ff5600;&quot;&gt;ho.clientSize&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Height&lt;/span&gt;);
            }
        }
    }
}

&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Questo è l&#39;oggetto che sostituisce e wrappa tutte le attività lasciando libero e snello il form.&lt;br /&gt;
Il motivo è semplice, in questo modo posso aggiungere una picturebox o qualsiasi altro oggetto per cui sussistano dimensioni e handle, mapparlo nell&#39;oggetto di scambio, e gestire così la camera.
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;ComponentModel&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Data&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Drawing&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;DirectShowLib&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Windows&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Forms&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;CameraCapture&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Objects&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Runtime&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;InteropServices&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Runtime&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;InteropServices&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;ComTypes&lt;/span&gt;;
namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;CameraCapture&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; partial &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;frmMain&lt;/span&gt; : Form
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;DirectShowWrapper&lt;/span&gt; dsw &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;DirectShowWrapper&lt;/span&gt;();
        &lt;span style=&quot;color: #ff5600;&quot;&gt;HandledObject&lt;/span&gt; ho &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;HandledObject&lt;/span&gt;();

      
        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;frmMain&lt;/span&gt;()
        {            
            InitializeComponent();

            ho&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;height &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Height&lt;/span&gt;;
            ho&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;width &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Width&lt;/span&gt;;
            ho&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;handle &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Handle&lt;/span&gt;;
            ho&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;clientSize &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;ClientSize&lt;/span&gt;;

            &lt;span style=&quot;color: #ff5600;&quot;&gt;dsw&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;CaptureVideo&lt;/span&gt;(ho);
        }


        &lt;span style=&quot;color: #ff5600;&quot;&gt;protected&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;WndProc&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;Message&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;m&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;m&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Msg&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;dsw&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WM_GRAPHNOTIFY&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;dsw&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;HandleGraphEvent&lt;/span&gt;();
            }

            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;dsw&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;VideoWindow&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;dsw&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;VideoWindow&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;NotifyOwnerMessage(
                                &lt;span style=&quot;color: #ff5600;&quot;&gt;m&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;HWnd&lt;/span&gt;,
                                &lt;span style=&quot;color: #ff5600;&quot;&gt;m&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Msg&lt;/span&gt;,
                                (&lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt;)&lt;span style=&quot;color: #ff5600;&quot;&gt;m&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WParam&lt;/span&gt;,
                                (&lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt;)&lt;span style=&quot;color: #ff5600;&quot;&gt;m&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;LParam&lt;/span&gt;);
            }
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;else&lt;/span&gt;
            {
                &lt;span style=&quot;color: #ff5600;&quot;&gt;base&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WndProc&lt;/span&gt;(ref m);
            }
        }


        &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;frmMain_Resize&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;object&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;sender&lt;/span&gt;, &lt;span style=&quot;color: #ff5600;&quot;&gt;EventArgs&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;e&lt;/span&gt;)
        {
            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;WindowState&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;FormWindowState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Minimized&lt;/span&gt;)
                &lt;span style=&quot;color: #ff5600;&quot;&gt;dsw&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ChangePreviewState&lt;/span&gt;(&lt;span style=&quot;color: #a535ae;&quot;&gt;false&lt;/span&gt;);

            &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;WindowState&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;FormWindowState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Normal&lt;/span&gt;)
                &lt;span style=&quot;color: #ff5600;&quot;&gt;dsw&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ChangePreviewState&lt;/span&gt;(&lt;span style=&quot;color: #a535ae;&quot;&gt;true&lt;/span&gt;);

            ho&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;height &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Height&lt;/span&gt;;
            ho&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;width &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Width&lt;/span&gt;;
            ho&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;handle &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Handle&lt;/span&gt;;
            ho&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;clientSize &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;ClientSize&lt;/span&gt;;

            &lt;span style=&quot;color: #ff5600;&quot;&gt;dsw&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ResizeVideoWindow&lt;/span&gt;(ho);
        }

        &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;frmMain_FormClosed&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;object&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;sender&lt;/span&gt;, &lt;span style=&quot;color: #ff5600;&quot;&gt;FormClosedEventArgs&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;e&lt;/span&gt;)
        {
            dsw&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;closeinterfaces();
        }

    
    }
}

&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Orbene questo è quanto rimane del form ...ora la situazione è sicuramente molto più gestibile e pulita.


</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/1770243895947333581/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/1770243895947333581' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/1770243895947333581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/1770243895947333581'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/05/how-to-c-internal-web-cam-r2.html' title='How TO: C# internal WEB CAM r2'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-309225926197905535</id><published>2013-05-29T06:46:00.000-07:00</published><updated>2013-05-30T06:19:11.427-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Direct Show"/><category scheme="http://www.blogger.com/atom/ns#" term="Direct X"/><category scheme="http://www.blogger.com/atom/ns#" term="Graphics"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><title type='text'>How TO: C# internal WEB CAM</title><content type='html'>Ho cercato in lungo e in largo qualcosa di UTILIZZABILE e facilmente documentabile per creare un applicazione C# che sia in grado di utilizzare la WEBcam interna..&lt;br /&gt;
&lt;br /&gt;
Ammetto che non c&#39;e&#39; molto ( c&#39;è tanto ma nulla come lo cercavo io ) se non qualche esempio con Wia, o librerie create da qualcuno di cui non sempre si sa la provenienza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Questo listato .. frutto di una traduzione da VB.Net, mi ha dato un buon risultato, e ammetto che paga. E&#39; veloce, decisamente snello non semplicissimo da leggere.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;ComponentModel&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Data&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Drawing&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;DirectShowLib&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Windows&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Forms&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;CameraCapture&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Objects&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Runtime&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;InteropServices&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Runtime&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;InteropServices&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;ComTypes&lt;/span&gt;;
namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;CameraCapture&lt;/span&gt;
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; partial &lt;span style=&quot;color: #ff5600;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;frmMain&lt;/span&gt; : Form
&amp;nbsp;&amp;nbsp;&amp;nbsp; {

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; D &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;Convert&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ToInt32(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;0X8000&quot;&lt;/span&gt;, &lt;span style=&quot;color: #a8017e;&quot;&gt;16&lt;/span&gt;);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; WM_GRAPHNOTIFY &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IVideoWindow&lt;/span&gt; VideoWindow &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IMediaControl&lt;/span&gt; MediaControl &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IMediaEventEx&lt;/span&gt; MediaEventEx &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IGraphBuilder&lt;/span&gt; GraphBuilder &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;ICaptureGraphBuilder2&lt;/span&gt; CaptureGraphBuilder &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;DsROTEntry&lt;/span&gt; rot &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;PlayState&lt;/span&gt; CurrentState &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;PlayState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Stopped&lt;/span&gt;;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;frmMain&lt;/span&gt;()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WM_GRAPHNOTIFY &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;D&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CaptureVideo(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }



&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;protected&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;WndProc&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;Message&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;m&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;m&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Msg&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; WM_GRAPHNOTIFY)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HandleGraphEvent();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;NotifyOwnerMessage(&lt;span style=&quot;color: #ff5600;&quot;&gt;m&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;HWnd&lt;/span&gt;, &lt;span style=&quot;color: #ff5600;&quot;&gt;m&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Msg&lt;/span&gt;, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt;)&lt;span style=&quot;color: #ff5600;&quot;&gt;m&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WParam&lt;/span&gt;, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt;)&lt;span style=&quot;color: #ff5600;&quot;&gt;m&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;LParam&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;else&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;base&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;WndProc&lt;/span&gt;(ref m);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;HandleGraphEvent&lt;/span&gt;()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;EventCode&lt;/span&gt; evCode;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; evParam1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; evParam2;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;) 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;while&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;GetEvent(out evCode, out evParam1, out evParam2, &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;) &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;FreeEventParams(evCode, evParam1, evParam2);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;frmMain_FormClosed&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;object&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;sender&lt;/span&gt;, &lt;span style=&quot;color: #ff5600;&quot;&gt;FormClosedEventArgs&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;e&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; closeinterfaces();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;SetupVideoWindow&lt;/span&gt;()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;put_Owner(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Handle&lt;/span&gt;);


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;put_WindowStyle(&lt;span style=&quot;color: #ff5600;&quot;&gt;WindowStyle&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Child&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;WindowStyle&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;ClipChildren&lt;/span&gt;);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ResizeVideoWindow();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;put_Visible(&lt;span style=&quot;color: #ff5600;&quot;&gt;OABool&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;True&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;frmMain_Resize&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;object&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;sender&lt;/span&gt;, &lt;span style=&quot;color: #ff5600;&quot;&gt;EventArgs&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;e&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;WindowState&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;FormWindowState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Minimized&lt;/span&gt; )
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ChangePreviewState(&lt;span style=&quot;color: #a535ae;&quot;&gt;false&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;WindowState&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;FormWindowState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Normal&lt;/span&gt; )
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ChangePreviewState(&lt;span style=&quot;color: #a535ae;&quot;&gt;true&lt;/span&gt;);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ResizeVideoWindow();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;ResizeVideoWindow&lt;/span&gt;()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;) 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;SetWindowPosition(&lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Width&lt;/span&gt;, &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;ClientSize&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Height&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }



&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;GetInterfaces&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;Form&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;f&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;IGraphBuilder&lt;/span&gt;)(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;FilterGraph&lt;/span&gt;());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CaptureGraphBuilder&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;ICaptureGraphBuilder2&lt;/span&gt;)(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;CaptureGraphBuilder2&lt;/span&gt;());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;IMediaControl&lt;/span&gt;)(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;IVideoWindow&lt;/span&gt;)(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;IMediaEventEx&lt;/span&gt;)(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;SetNotifyWindow(&lt;span style=&quot;color: #ff5600;&quot;&gt;f&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Handle&lt;/span&gt;, WM_GRAPHNOTIFY, &lt;span style=&quot;color: #ff5600;&quot;&gt;IntPtr&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Zero&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IBaseFilter&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;FindCaptureDevice&lt;/span&gt;()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;IEnumMoniker&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IclassEnum&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Runtime&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;InteropServices&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;UCOMIEnumMoniker&lt;/span&gt; classEnum;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;IMoniker&lt;/span&gt;[] moniker &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;IMoniker&lt;/span&gt;[&lt;span style=&quot;color: #a8017e;&quot;&gt;1&lt;/span&gt;];

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;Object&lt;/span&gt; source &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;ICreateDevEnum&lt;/span&gt; devEnum &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;ICreateDevEnum&lt;/span&gt;)(&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;CreateDevEnum&lt;/span&gt;());

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;devEnum&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;CreateClassEnumerator&lt;/span&gt;(&lt;span style=&quot;color: #ff5600;&quot;&gt;FilterCategory&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoInputDevice&lt;/span&gt;, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out classEnum, &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;);


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;IclassEnum&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;IEnumMoniker&lt;/span&gt;)(classEnum);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(devEnum);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (classEnum &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;ApplicationException&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;No device video on board.&quot;&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;IclassEnum&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Next(&lt;span style=&quot;color: #ff5600;&quot;&gt;moniker&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Length&lt;/span&gt;, moniker, &lt;span style=&quot;color: #ff5600;&quot;&gt;IntPtr&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Zero&lt;/span&gt;) &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;Guid&lt;/span&gt; iid &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; typeof(&lt;span style=&quot;color: #ff5600;&quot;&gt;IBaseFilter&lt;/span&gt;)&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;GUID;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; moniker[&lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;]&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;BindToObject(&lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;, &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;, iid, out source);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;else&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;ApplicationException&lt;/span&gt;(&lt;span style=&quot;color: #666666;&quot;&gt;&quot;Unable to access video capture device!&quot;&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(moniker[&lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;]);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(classEnum);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;IBaseFilter&lt;/span&gt;)(source);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;CaptureVideo&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;frmMain&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;f&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;IBaseFilter&lt;/span&gt; sourceFilter &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;try&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetInterfaces(f);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CaptureGraphBuilder&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;SetFiltergraph(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt;);


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceFilter &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; FindCaptureDevice();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;AddFilter(sourceFilter, &lt;span style=&quot;color: #666666;&quot;&gt;&quot;Video Capture&quot;&lt;/span&gt;);


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CaptureGraphBuilder&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;RenderStream(&lt;span style=&quot;color: #ff5600;&quot;&gt;PinCategory&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Preview&lt;/span&gt;, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;MediaType&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Video&lt;/span&gt;, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceFilter, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;, &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(sourceFilter);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;f&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;SetupVideoWindow&lt;/span&gt;();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rot &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;DsROTEntry&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt;);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Run();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CurrentState&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;PlayState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Running&lt;/span&gt;;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;catch&lt;/span&gt; (&lt;span style=&quot;color: #ff5600;&quot;&gt;Exception&lt;/span&gt; ex)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;closeinterfaces&lt;/span&gt;()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;StopWhenReady();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CurrentState&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;PlayState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Stopped&lt;/span&gt;;


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;SetNotifyWindow(&lt;span style=&quot;color: #ff5600;&quot;&gt;IntPtr&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Zero&lt;/span&gt;, WM_GRAPHNOTIFY, &lt;span style=&quot;color: #ff5600;&quot;&gt;IntPtr&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Zero&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;put_Visible(&lt;span style=&quot;color: #ff5600;&quot;&gt;OABool&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;False&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;put_Owner(&lt;span style=&quot;color: #ff5600;&quot;&gt;IntPtr&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Zero&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (rot &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;rot&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Dispose&lt;/span&gt;();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rot &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;Marshal&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;ReleaseComObject(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CaptureGraphBuilder&lt;/span&gt;);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaEventEx&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;VideoWindow&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CaptureGraphBuilder&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;GraphBuilder&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;ChangePreviewState&lt;/span&gt;(&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;bool&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;showVideo&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #ff5600;&quot;&gt;int&lt;/span&gt; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #a8017e;&quot;&gt;0&lt;/span&gt;;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;null&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;return&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (showVideo &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #a535ae;&quot;&gt;true&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CurrentState&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;PlayState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Running&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;Run();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CurrentState&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;PlayState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Running&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;else&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hr &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;MediaControl&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;StopWhenReady();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #0053ff; font-weight: 700;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;CurrentState&lt;/span&gt; &lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;PlayState&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Stopped&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
}
&lt;/pre&gt;
&lt;br /&gt;
E questo è l&#39;enumerativo.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #fff; color: #3b3b3b;&quot;&gt;using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Collections&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Generic&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Linq&lt;/span&gt;;
using &lt;span style=&quot;color: #ff5600;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Text&lt;/span&gt;;

namespace &lt;span style=&quot;color: #ff5600;&quot;&gt;CameraCapture&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ff5600;&quot;&gt;Objects&lt;/span&gt;
{
    &lt;span style=&quot;color: #ff5600;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff5600;&quot;&gt;enum&lt;/span&gt; &lt;span style=&quot;color: #21439c;&quot;&gt;PlayState&lt;/span&gt;
    {
        &lt;span style=&quot;color: #ff5600;&quot;&gt;Stopped&lt;/span&gt;,
        &lt;span style=&quot;color: #ff5600;&quot;&gt;Paused&lt;/span&gt;,
        &lt;span style=&quot;color: #ff5600;&quot;&gt;Running&lt;/span&gt;,
        &lt;span style=&quot;color: #ff5600;&quot;&gt;Init&lt;/span&gt;
    }
}

&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L&#39;unica notazione è l&#39;aggiunta della libreria di DirectShow.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDsHQOvhAlkrqd2AprItIdSOY8Jz2ru1EzCzCTEcJQIOqmHQVmCPuW9lSbbCMSo35fYLblHEqaMU9WD7sNHlBFuU6ai90PKSab7Nqaecm1tzOcftXe6OXKGnSfLOpfS_MbhKz8p4ic91A/s1600/solution.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;119&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDsHQOvhAlkrqd2AprItIdSOY8Jz2ru1EzCzCTEcJQIOqmHQVmCPuW9lSbbCMSo35fYLblHEqaMU9WD7sNHlBFuU6ai90PKSab7Nqaecm1tzOcftXe6OXKGnSfLOpfS_MbhKz8p4ic91A/s320/solution.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Il resto è solo divertimento .. o sperimentazione:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj86XGfHMLsVSK_erlT68pbjWGFQ5cpsyWaZeGfJaZ0epkFwtQnV2ylZV22oKQoVW6muL_N5P_fXyA-uRZ8zCoymeoQKUSQtrDuu67Q4RssDSlXeEvcxdqr8AUKhAakXxrhNKvKXQmDdrQ/s1600/solution1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;254&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj86XGfHMLsVSK_erlT68pbjWGFQ5cpsyWaZeGfJaZ0epkFwtQnV2ylZV22oKQoVW6muL_N5P_fXyA-uRZ8zCoymeoQKUSQtrDuu67Q4RssDSlXeEvcxdqr8AUKhAakXxrhNKvKXQmDdrQ/s320/solution1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
... E buon prò vi faccia come al solito !!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/309225926197905535/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/309225926197905535' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/309225926197905535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/309225926197905535'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/05/how-to-c-internal-web-cam.html' title='How TO: C# internal WEB CAM'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDsHQOvhAlkrqd2AprItIdSOY8Jz2ru1EzCzCTEcJQIOqmHQVmCPuW9lSbbCMSo35fYLblHEqaMU9WD7sNHlBFuU6ai90PKSab7Nqaecm1tzOcftXe6OXKGnSfLOpfS_MbhKz8p4ic91A/s72-c/solution.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-4323615362473560896</id><published>2013-05-29T01:07:00.001-07:00</published><updated>2013-05-29T01:07:56.597-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GrandSLA"/><title type='text'>Grand Sla</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1-fFIUBRJymR8dpu_7RokSIFjSKWsPOxvodm1nTmzl_2cCJu40o9mr92cRW6fcgqnsDKrcP51KgPEVA6D3pHazNBYoKW-osu5pairkzSmsj-gsxpS0Q-alfuIBstYT1zdWMwWrjR0vE4/s1600/GS.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1-fFIUBRJymR8dpu_7RokSIFjSKWsPOxvodm1nTmzl_2cCJu40o9mr92cRW6fcgqnsDKrcP51KgPEVA6D3pHazNBYoKW-osu5pairkzSmsj-gsxpS0Q-alfuIBstYT1zdWMwWrjR0vE4/s1600/GS.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
Fra i prodotti presenti su WEB per la gestione di SLA e KPI, mi sono imbattuto in questo prodotto, l’ho provato e ammetto di essere rimasto piacevolmente soddisfatto.&lt;br /&gt;
&lt;br /&gt;Per me il punto di forza è nell’essere interamente sviluppato per il WEB, in questo modo la raggiungibilità è massima ( ormai sono pochi i punti in cui sia assente una rete WI-FI o la connettività dati sia assente ).&lt;br /&gt;
&lt;br /&gt;Il prodotto si presta inoltre a svariati tipi di utilizzo, e credo che anche questo sia un buon punto di forza, ossia nel mio caso l’ho utilizzato per valutare i carichi del mio gruppo di lavoro. E onestamente mi è bastato creare un CSV con i miei dati, impostare le mie regole d’analisi, e osservare i grafici.&lt;br /&gt;Per altro se si è client oriented, o se si è sul pezzo in qualità di account è possibile dare una definizione dell’organigramma. &lt;br /&gt;
&lt;br /&gt;&lt;b&gt;Organizzazione&amp;gt;Dipartimenti&amp;gt;Contratti.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;
Tramite questo tipo di gestione è facile organizzare una distribuzione dei dati a chi di competenza, o in base alla durata di un contratto.&lt;br /&gt;Da oggi lascerò il link sul mio blog, per me è per chi vorrà approfondire.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Qui trovate il sito: &lt;a href=&quot;http://www.grandsla.com/&quot; target=&quot;_blank&quot;&gt;GrandSLA&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/4323615362473560896/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/4323615362473560896' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/4323615362473560896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/4323615362473560896'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/05/grand-sla.html' title='Grand Sla'/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1-fFIUBRJymR8dpu_7RokSIFjSKWsPOxvodm1nTmzl_2cCJu40o9mr92cRW6fcgqnsDKrcP51KgPEVA6D3pHazNBYoKW-osu5pairkzSmsj-gsxpS0Q-alfuIBstYT1zdWMwWrjR0vE4/s72-c/GS.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-763086315823320854.post-8542952382695241881</id><published>2013-04-26T06:59:00.001-07:00</published><updated>2013-04-26T07:02:24.930-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Concept"/><category scheme="http://www.blogger.com/atom/ns#" term="Galagone"/><category scheme="http://www.blogger.com/atom/ns#" term="Graphics"/><title type='text'>Galagone Graphics Tool </title><content type='html'>Ciao a tutti...&lt;br /&gt;
&lt;br /&gt;
Dato che un socio mi ha chiesto di fare qualcosa di assurdo .. bhe l&#39;ho fatto.&lt;br /&gt;
Ecco il mio primo primissimo prodotto dedicato alla grafica, si chiama Galagone è il suo scopo è di rovinare il più possibile le vostre foto.&lt;br /&gt;
&lt;br /&gt;
Gli effetti previsti sono pochi al momento ma di grande utilità per tutte le persone che hanno bisogno di creare degli errori sulle proprie immagini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg04Ttle3Xh5xkXn34L8pIDR9SHa-sCZmhdwyZ9gip2Iyb_6F4mGY8bLD76XX7mZnQxjEmtrRxIhPjDJNm1AfMsiRigYmjRN_oROyul0Gy2EjgtUjM8a4GLy2ZulWXiuShZrJANiK1j2zw/s1600/Galagone.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg04Ttle3Xh5xkXn34L8pIDR9SHa-sCZmhdwyZ9gip2Iyb_6F4mGY8bLD76XX7mZnQxjEmtrRxIhPjDJNm1AfMsiRigYmjRN_oROyul0Gy2EjgtUjM8a4GLy2ZulWXiuShZrJANiK1j2zw/s1600/Galagone.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: x-large;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://www.2shared.com/file/Nt-hFosN/Galagone.html&quot; target=&quot;_blank&quot;&gt;Download Galagone&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Release Alfa 0.1&lt;br /&gt;
&lt;br /&gt;
plugin presenti:&lt;br /&gt;
-BlackBlock ( crea blocchi neri casuali )&lt;br /&gt;
-ByteLine ( crea linee non omogenee con interruzioni )&lt;br /&gt;
-CircleMaker ( crea cerchi causali in base a colori impostabili )&lt;br /&gt;
-DotMacker ( crea punti in base a dei colori impostabili )&lt;br /&gt;
-Entropy ( effetto evidenziatore )&lt;br /&gt;
-NoiseBlock ( crea blocchi in sovrapposizione alla immagini )&lt;br /&gt;
-SimpleBlock ( duplica blocchi di immagine )&lt;br /&gt;
-Sobstitute ( cambia un colore con un altro )&lt;br /&gt;
&lt;br /&gt;
Bug noti&lt;br /&gt;
non ci sono controlli sui parametri immessi.&lt;br /&gt;
&lt;br /&gt;
E se volete rovinarvi le immagini buon divertimento ...&lt;br /&gt;
&lt;br /&gt;
A tutti i partecipanti del blog se volete i sorgenti ... basta chiedere e come sempre ogni partecipazione è ben accetta !&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharplight.blogspot.com/feeds/8542952382695241881/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/763086315823320854/8542952382695241881' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/8542952382695241881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/763086315823320854/posts/default/8542952382695241881'/><link rel='alternate' type='text/html' href='http://csharplight.blogspot.com/2013/04/galagone-graphics-tool.html' title='Galagone Graphics Tool '/><author><name>guesto!</name><uri>http://www.blogger.com/profile/09998400248687194919</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://img78.imageshack.us/img78/4176/mininudrujn1.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg04Ttle3Xh5xkXn34L8pIDR9SHa-sCZmhdwyZ9gip2Iyb_6F4mGY8bLD76XX7mZnQxjEmtrRxIhPjDJNm1AfMsiRigYmjRN_oROyul0Gy2EjgtUjM8a4GLy2ZulWXiuShZrJANiK1j2zw/s72-c/Galagone.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>