<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>.NET Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/14/ShowForum.aspx</link><description>Θέματα για threading, remoting, reflection, exception handling, security, regex κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: JSON...ερώτηση...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58456.aspx</link><pubDate>Sat, 01 May 2010 00:59:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58456</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58456.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=58456</wfw:commentRss><description>Φαίνεται οτι η Custom... είναι για &amp;gt;=.net 3.5. Εγώ όπως και να έχει ήθελα κάτι απλό...και παραθέτω τι μανούβρα έκανα...&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="margin:0px;padding:2px;font-family:courier new;font-size:11px;color:gray;"&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; Person : IPerson {
			&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; firstName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Scott"&lt;/span&gt;;
			&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; lastName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Hanselman"&lt;/span&gt;;
			&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;int&lt;/span&gt; age &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; 34;
			&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; Person() : &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;base&lt;/span&gt;() {
			}
			&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; Person( String prsn ) {
				String[] text &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; prsn.Split('&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;|&lt;/span&gt;');
				Type t &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;.GetType();
				&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;foreach&lt;/span&gt; ( String pair &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;in&lt;/span&gt; text ) {
					String variable &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; pair.Split(':')[0];
					String assignment &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;null&lt;/span&gt;;
					&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;try&lt;/span&gt; {
						assignment &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; pair.Split(':')[1];
					} &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;catch&lt;/span&gt; ( IndexOutOfRangeException ex ) {
						&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt;;
					}
					&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;foreach&lt;/span&gt; ( FieldInfo f &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;in&lt;/span&gt; t.GetFields(BindingFlags.Instance &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;|&lt;/span&gt; BindingFlags.NonPublic &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;|&lt;/span&gt; BindingFlags.Public) ) {
						&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;int&lt;/span&gt; i &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; 0;
						String tmp &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;""&lt;/span&gt;;
						&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;foreach&lt;/span&gt; ( Char v &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;in&lt;/span&gt; variable ) {
							&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; ( i == 0 ) {
								tmp += v.ToString().ToUpper();
							} &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;else&lt;/span&gt;
								tmp += v.ToString();
							i += 1;
						}
						&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;try&lt;/span&gt; {
							t.InvokeMember(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"set"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; tmp, BindingFlags.InvokeMethod &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;|&lt;/span&gt; BindingFlags.Instance &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;|&lt;/span&gt; BindingFlags.Public, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;null&lt;/span&gt;, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt;[] { assignment });
						} &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;catch&lt;/span&gt; ( MissingMethodException ex ) {
							t.InvokeMember(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"set"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; tmp, BindingFlags.InvokeMethod &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;|&lt;/span&gt; BindingFlags.Instance &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;|&lt;/span&gt; BindingFlags.Public, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;null&lt;/span&gt;, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt;[] { Int32.Parse(assignment) });
						}
					}
				}
			}
			&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; setFirstName( &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; name ) {
				&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;.firstName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; name;
			}
			&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; setLastName( &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; name ) {
				&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;.lastName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; name;
			}
			&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; setAge( &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;int&lt;/span&gt; ag ) {
				&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;.age= ag;
			}
			&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; String getFirstName() {
				&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;.firstName;
			}
			&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; String getLastName() {
				&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;.lastName;
			}

			&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; String ToString() {
				StringBuilder info &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; StringBuilder();
				Type t &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;.GetType();
				&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;foreach&lt;/span&gt; ( FieldInfo f &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;in&lt;/span&gt; t.GetFields(BindingFlags.Instance &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;|&lt;/span&gt; BindingFlags.NonPublic &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;|&lt;/span&gt; BindingFlags.Public) ) {
					info.Append(f.Name &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;":"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; f.GetValue(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;)&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"|"&lt;/span&gt; );
				}
				&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; info.ToString();
			}
		}&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;Κρατάω όλες τις τιμές των "Fields" σε ένα ζεύγος τιμών χωρισμένων με '|'. Και όταν θέλω να δημιουργήσω καλώ την Person με όρισμα το παλιότερο Person.&lt;br&gt;Κάπως έτσι :&lt;br&gt;Person p2 = new Person();&lt;br&gt;p2.setFirstName("Nick");&lt;br&gt;p2.setLastName("TheGreek");&lt;br&gt;&lt;br&gt;Person p3 = new Person(p2.ToString());&lt;br&gt;&lt;br&gt;Ετσι, και δεν χάνω την αρχιτεκτονική της κλάσσης και επαναδημιουργώ το αντικείμενο με τις τιμές που είχε παλιότερα...αποθηκευμένα σε βάση.&lt;br&gt;Δεν ξέρω, αλλά αυτό δεν θα έπρεπε να το κάνει το JSON? Αν μου ξέφυγε κάτι και μπορεί να το κάνει το JSON ( ακόμα και με το JavaSerializer του System.Web πήγα, αλλά πεδεύτικα με converters κλπ....τελικά αναρωτιέμαι αν άξιζε; ) μπορώ να το ξανακάνω σε JSON ή σε κάτι άλλο.&lt;br&gt;&lt;br&gt;Επίσης, το συγκεκριμένο snippet έχει 2 προβλήματα όμως που έχουν να κάνουν με τα Exception που μαζεύω. &lt;br&gt;&amp;nbsp;1. Στην Invoke 28-31, επειδή έχω διάφορετικούς τύπους μεταβλητές, παίζω με τα exception, δεν θα έπρεπε όμως.&lt;br&gt;&amp;nbsp;2. Τo IndexOutOfRange δεν έχω καταλάβει γιατί το πετάει! &lt;br&gt;&lt;br&gt;Αν έχει κάποιος όρεξη να το εμπλουτίσει, είμαι όλος αυτιά! :-)&lt;br&gt;&lt;br&gt;Καλό ΣΚ.&lt;br&gt;&lt;br&gt;Να σημειώσω ότι αν θυμίζει Java setter/getter....δεν έχετε άδικο! &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;br&gt;</description></item><item><title>Απ: JSON...ερώτηση...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58234.aspx</link><pubDate>Thu, 22 Apr 2010 04:50:36 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58234</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58234.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=58234</wfw:commentRss><description>&lt;P&gt;Κάτι μου λέει ότι πρέπει να πέσεις στα βαθιά (&lt;SPAN class=topicTitle&gt;&lt;A href="http://james.newtonking.com/projects/json/help/CustomCreationConverter.html"&gt;CustomCreationConverter&lt;/A&gt;, και &lt;SPAN class=topicTitle&gt;Newtonsoft.Json.Converters Namespace). Αφού το μελετήσεις, κάνε ένα post και για μας...&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;</description></item><item><title>Απ: JSON...ερώτηση...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58233.aspx</link><pubDate>Thu, 22 Apr 2010 04:20:17 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58233</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58233.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=58233</wfw:commentRss><description>Οκ, αν και για το θέμα των μεταβλητών που είναι protected/private,&amp;nbsp; την λύση θα την έδινε το reflection...&lt;br&gt;</description></item><item><title>Απ: JSON...ερώτηση...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58232.aspx</link><pubDate>Thu, 22 Apr 2010 04:18:51 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58232</guid><dc:creator>Odyseus</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58232.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=58232</wfw:commentRss><description>Δες το documentation για τα τα property accessors και μίλα με τον JamesNK για ποιο πολλές λεπτομέρειες....&lt;br&gt;&lt;br&gt;Στο SerializeToFile, έκανα ότι πρότεινε το documentation για να δουλέψεις με αρχεία, έχει μήνες που το είχα κάνει και δεν θυμάμαι λεπτομέρειες.&lt;br&gt;Δες στο documentation θα καταλάβεις κατευθείαν τι κάνουν οι writers....&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: JSON...ερώτηση...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58231.aspx</link><pubDate>Thu, 22 Apr 2010 03:48:23 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58231</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58231.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=58231</wfw:commentRss><description>Ουόου! (ναι κατάλαβα τι έλεγες... :-) )&amp;nbsp; Πολύ καλό πρέπει να μελετηθεί...αν και νομίζω ότι αυτό που έκανες είναι ένα υπερσύνολο σε αυτό που λέω.&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;font size="6"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Στην SerializeToFile γιατί έβαλες τους writers και δεν χρησιμοποιείσες τον converter ? και μετά να το στείλεις με στο αρχείο...?&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;Τέλος, τόσο και σε εσένα όσο και στον Μάρκο, να πώ, ότι δεν θέλω να χω "public properties/variables", διότι δεν είναι αυτό που επιτρέπεται.&lt;br&gt;Μιλάμε για αντικείμενα με σχέδιο ανάλογο βασισμένα σε κάποιο Ιnheritance, που θέλω να τα στείλω στον "Ιάσωνα" ( :-) ...καλο; )&lt;br&gt;π.χ. να έχει τιμές σε protected μεταβλητές στην πραγματικότητα 2ου, 3ου επιπέδου inheritance...&lt;br&gt;&lt;br&gt;Εναλλακτικά....μήπως πρέπει να έχω μήπως να αντικείμενο "μεσάζων"; Που να αναλάβει το ρόλο να κρατάει αυτές τις τιμές; ( oh god noooo! )&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: JSON...ερώτηση...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58230.aspx</link><pubDate>Thu, 22 Apr 2010 03:35:45 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58230</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58230.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=58230</wfw:commentRss><description>Αυτό το συγκεκριμένο λίνκ δεν το είχα βρεί! Αν το είχα βρεί θα χα γλυτώσει απτο πρώτο κομμάτι της ιστορίας, ΠΩΣ γίνεται το serialization σε λίστα απο αντικείμενα...&lt;br&gt;Παρολαυτά, κατέληξα με δυο τρόπους deserialize....και δεν έχω ακόμα καταλάβει...why. Βασικά σήμερα, ξεκίνησα να παίζω με αυτή την βιβλιοθήκη....&lt;br&gt;Ευχαριστώ για το link!&lt;br&gt;</description></item><item><title>Απ: JSON...ερώτηση...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58229.aspx</link><pubDate>Thu, 22 Apr 2010 03:13:51 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58229</guid><dc:creator>Odyseus</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58229.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=58229</wfw:commentRss><description>Την έχω χρησιμοποιησεί χωρίς πρόβλημα, και χωρίς κανένα Attribute στα POCOs. &lt;br&gt;&lt;br&gt;Είχα όλα μου τα properties public, και νομίζω πως έτσι πρεπει να είναι. Παίξ3 επίσης και με τους Converters.&lt;br&gt;Σου παραθέτω αυτό που είχα κάνει εγώ για Serialize\Deserialize:&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;#region&lt;/span&gt; Serializing
    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; Serialize
    {
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// Deserialize ένα πίνακα byte[] στο καθορισμένο αντικείμενο.&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;typeparam name="T"&amp;gt;Καθορίζει τον τύπο που θα μετατραπούν τα δεδομένα&amp;lt;/typeparam&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;param name="dataObject"&amp;gt;Τα δεδομένα σε μορφή byte[] πίνακα.&amp;lt;/param&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;returns&amp;gt;Επιστρέφει το άντικείμενο που καθορίσαμε.&amp;lt;/returns&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;static&lt;/span&gt; T DeSerializeBytes&amp;lt;T&amp;gt;(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;byte&lt;/span&gt;[] dataObject) where T : &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt;
        {
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; dataString &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; Encoding.UTF8.GetString(dataObject, 0, dataObject.Length);
            JsonConverter[] converters &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; JsonConverter[] { &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; BinaryConverter() };
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; JsonConvert.DeserializeObject&amp;lt;T&amp;gt;(dataString, converters);
        }

        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// Serialize ένα αντικείμενο σε μορφή byte[] πίνακα.&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;typeparam name="T"&amp;gt;Καθορίστε τον τύπο του αντικειμένου. Είναι περιττό.&amp;lt;/typeparam&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;param name="data"&amp;gt;Το αντικείμενο που θέλουμε να μετατραπεί σειριακά. Ο τύπος εντοπίζεται αυτόματα.&amp;lt;/param&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;returns&amp;gt;Τον πίνακα byte[].&amp;lt;/returns&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;byte&lt;/span&gt;[] SerializeToBytes&amp;lt;T&amp;gt;(T data) where T : &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt;
        {
           JsonConverter[] converters &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; JsonConverter[] { &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; BinaryConverter() };
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; dataString &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; JsonConvert.SerializeObject(data, converters);
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; Encoding.UTF8.GetBytes(dataString);
        }

        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// Serialize ένα αντικείμενο σε μορφή string.&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;typeparam name="T"&amp;gt;&amp;gt;Καθορίστε τον τύπο του αντικειμένου. Είναι περιττό.&amp;lt;/typeparam&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;param name="data"&amp;gt;Το αντικείμενο που θέλουμε να μετατραπεί σειριακά και επιστρέφετε σε μορφη string.&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// Ο τύπος εντοπίζεται αυτόματα.&amp;lt;/param&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;returns&amp;gt;Το string αντικείμενο.&amp;lt;/returns&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; SerializeToString&amp;lt;T&amp;gt;(T data) where T : &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt;
        {
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; JsonConvert.SerializeObject(data);
        }

        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// Deserialize ένα string στον τύπο του.&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;typeparam name="T"&amp;gt;Ο τύπος των δεδομένων.&amp;lt;/typeparam&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;param name="dataString"&amp;gt;Το string.&amp;lt;/param&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;returns&amp;gt;Τυπος Δεδομένων.&amp;lt;/returns&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;static&lt;/span&gt; T DeSerializeFromString&amp;lt;T&amp;gt;(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; dataString) where T : &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt;
        {
             &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; JsonConvert.DeserializeObject&amp;lt;T&amp;gt;(dataString);
        }

        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// Αποθήκευση αντικειμένου σε προσωρινό αρχείο σειριακά.&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;typeparam name="T"&amp;gt;Ο τύπος των δεδομένων. Είναι περιττός.&amp;lt;/typeparam&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;param name="data"&amp;gt;Τα δεδομένα.&amp;lt;/param&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;param name="file"&amp;gt;Αρχείο. &lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;returns&amp;gt;true / false&amp;lt;/returns&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;bool&lt;/span&gt; SerializeToFile&amp;lt;T&amp;gt;(T data, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; file) where T : &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt;
        {
            
             StreamWriter  sw &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; StreamWriter(file);
  
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; (sw !&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;null&lt;/span&gt;)
            {
                JsonSerializer serializer &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; JsonSerializer();
                serializer.Converters.Add(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; BinaryConverter());
                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;using&lt;/span&gt; (JsonWriter writer &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; JsonTextWriter(sw))
                {
                    serializer.Serialize(writer, data);
                    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;true&lt;/span&gt;;
                }
            }
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;false&lt;/span&gt;;
        }

        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// Deserialize δεδομένα από αρχείο.&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;typeparam name="T"&amp;gt;Ο τύπος των δεδομένων που θα πάρουμε&amp;lt;/typeparam&amp;gt;&lt;/span&gt;
        &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/// &amp;lt;returns&amp;gt;true / false&amp;lt;/returns&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;static&lt;/span&gt; T DeserializeFromFile&amp;lt;T&amp;gt;(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; file) where T : &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt;, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt;()
        {
                StreamReader sr &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; StreamReader(file);
  
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; (sr !&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;null&lt;/span&gt;)
            {
                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; dataString &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; sr.ReadToEnd();
                var myObject &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; JsonConvert.DeserializeObject&amp;lt;T&amp;gt;(dataString);
                &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; myObject;
            }
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; T();
        }
    }
    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;#endregion&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;Έκανα μικρές μετατροπές γιατί χρησιμοποιούσα κανα δύο δικούς μου τύπους αλλα θα παίζει κανονικά. Όπως βλέπεις χρησιμοποιώ τον&lt;br&gt;BinaryConverter. Μπορείς ακόμα να κάνεις δουλειά με το JsonWriter και JsonReader. Α! ένα πρόβλημα (κάποιες φορές πετούσε error) που είχα είναι όταν είχα Object με&lt;br&gt;Byte[] property serialized Json και επίσης έκανα serialize και το Object (κατάλαβες πιστεύω). Έκανα το byte[] -&amp;gt; string, και άπλα, αυτό είναι και το καλό με το Json.NET&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: JSON...ερώτηση...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58226.aspx</link><pubDate>Thu, 22 Apr 2010 02:34:05 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58226</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58226.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=58226</wfw:commentRss><description>Η αλήθεια είναι ότι έχω κατεβάσει το library αλλά δεν έχω καν πειραματιστεί μαζί του. Γιατί, όμως, πρέπει να χρησιμοποιήσεις public fields και όχι properties; Απ' ό,τι είδα στο &lt;A href="http://james.newtonking.com/projects/json/help/"&gt;documentation&lt;/A&gt; - Serializing and deserializing JSON (Customizing JSON serialization with attributes) - μπορείς να χρησιμοποιήσεις attributes για να πετύχεις customization όσον αφορά στο serialization. Δε σου παίζουν τα παραδείγματα που έχει εκεί;</description></item><item><title>JSON...ερώτηση...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58225.aspx</link><pubDate>Thu, 22 Apr 2010 01:36:18 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58225</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58225.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=58225</wfw:commentRss><description>Γειά σας, ήθελα να ρωτήσω το εξής σχετικά με το JSON...και αν έχει χρησιμοποιείσει κάποιος την βιβλιοθήκη του Newton&lt;br&gt;Απαιτεί για να γίνει το serialization το object να έχει τις μεταβλητές δηλωμένες ώς δημόσιες ( public ) ;&lt;br&gt;Παιδευόμουνα με το παρακάτω, αλλά τελικά κατάλαβα ότι έφταιγε οι private δηλώσεις στην κλάση Person. Αν έχεις private μεταβλητές, πώς θα γίνει το serialization!?!?!?!?!?&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="margin:0px;padding:2px;font-family:courier new;font-size:11px;color:gray;"&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; Person {
			&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; firstName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Scott"&lt;/span&gt;;
			&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt;  &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; lastName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Hanselman"&lt;/span&gt;;
		}

Person p1 &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; Person();
Person p2 &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; Person();
p1.firstName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Dimitris"&lt;/span&gt;;
p2.lastName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Mexis"&lt;/span&gt;;

List&amp;lt;Person&amp;gt; pList &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; List&amp;lt;Person&amp;gt;();
pList.Add(p1); pList.Add(p2);

JsonSerializer serializer &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; JsonSerializer();
SringWriter sw &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; StringWriter();
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;using&lt;/span&gt; ( JsonWriter jsonWriter &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; JsonTextWriter(sw) ) {
serializer.Serialize(sw, pList);
}&lt;br&gt;string output = JavaScriptConvert.SerializeObject(pList);&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;Στο deserialize τώρα...αφου το ξεπέρασα το θέμα ( με όχι ωραίο τρόπο..) έχω αυτό :&lt;br&gt;&lt;br&gt;IList&amp;lt;Person&amp;gt; persons = JavaScriptConvert.DeserializeObject&amp;lt;List&amp;lt;Person&amp;gt;&amp;gt;(output);&lt;br&gt;&lt;br&gt;...ή...&lt;br&gt;&lt;br&gt;using ( StringReader sr = new StringReader(output) ) {&lt;br&gt;using ( JsonReader jr = new JsonTextReader(sr) ) {&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; IList&amp;lt;Person&amp;gt; aList = serializer.Deserialize(jr, typeof(List&amp;lt;Person&amp;gt;)) as List&amp;lt;Person&amp;gt;;&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; }&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; }&lt;br&gt;&lt;br&gt;Εδώ τώρα δεν καταλαβαίνω γιατί καταλήγω με δυο τρόπους...θέλω να πώ...ταχύτητα ( μια και με ενδιαφέρει για λίστα αντικειμένων )&lt;br&gt;&lt;br&gt;Ευχαριστώ!&lt;br&gt;</description></item></channel></rss>