<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" version="2.0">
  <channel>
    <title>Форум 'MetaCommunication Open Source Libraries' на RSDN.RU</title>
    <link>http://www.rsdn.ru/Forum/prj.SharedLibraries/</link>
    <description>MetaCommunication Open Source Libraries - различные библиотеки компонентов от компании MetaCommunications.</description>
    <category>prj</category>
    <category>SharedLibraries</category>
    <language>ru-ru</language>
    <copyright>Copyright ©, RSDN.ru, 2001-2007</copyright>
    <webMaster>webmaster@rsdn.ru</webMaster>
    <generator>RSDN RSS Generator 1.3</generator>
    <image>
      <url>http://www.rsdn.ru/rsdn.gif</url>
      <title>RSDN.RU</title>
      <link>http://www.rsdn.ru</link>
    </image>
    <lastBuildDate>Mon, 21 May 2012 22:54:56 GMT</lastBuildDate>
    <ttl>5</ttl>
	<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/rsdn/prj/SharedLibraries" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="rsdn/prj/sharedlibraries" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>А как скачать?</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/2779268.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/2779268.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/2779268.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=2779268</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/2779268.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=2779268</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Доброго времени, а как добраться до svn,на google code спрашивает имя и пароль.&lt;br /&gt;
p.s. нет идеи все это обьединить в одну dll по примеру bltoolkit ?&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Tue, 25 Dec 2007 13:59:50 GMT</pubDate>
		
			<author>cadet354 &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>[ADD]UriUtility</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/2666063.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/2666063.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/2666063.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=2666063</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/2666063.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=2666063</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;давненько ничего не добавлял.&lt;br /&gt;
&lt;br /&gt;
добавлен хелпер для взятия части урла. задается началом и концом...&lt;br /&gt;
взять ОТ схемы ДО Пути например.&lt;br /&gt;
&lt;br /&gt;
примеры использования из теста: &lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
Assert.AreEqual( &lt;span class='str'&gt;"http"&lt;/span&gt;, UriUtility.get_uri_parts( &lt;span class='kw'&gt;new&lt;/span&gt; Uri( &lt;span class='str'&gt;"http://a.a"&lt;/span&gt; ), UriParts.scheme, UriParts.scheme ) );
Assert.AreEqual( &lt;span class='str'&gt;"a.a"&lt;/span&gt;, UriUtility.get_uri_parts( &lt;span class='kw'&gt;new&lt;/span&gt; Uri( &lt;span class='str'&gt;"http://a.a"&lt;/span&gt; ), UriParts.authority, UriParts.authority ) );
Assert.AreEqual( &lt;span class='str'&gt;"/a/ssss.aspx"&lt;/span&gt;, UriUtility.get_uri_parts( &lt;span class='kw'&gt;new&lt;/span&gt; Uri( &lt;span class='str'&gt;"http://a.a/a/ssss.aspx"&lt;/span&gt; ), UriParts.path, UriParts.path ) );
Assert.AreEqual( &lt;span class='str'&gt;"?a=qqq"&lt;/span&gt;, UriUtility.get_uri_parts( &lt;span class='kw'&gt;new&lt;/span&gt; Uri( &lt;span class='str'&gt;"http://a.a/a/ssss.aspx?a=qqq#a"&lt;/span&gt; ), UriParts.query, UriParts.query) );
Assert.AreEqual( &lt;span class='str'&gt;"#a"&lt;/span&gt;, UriUtility.get_uri_parts( &lt;span class='kw'&gt;new&lt;/span&gt; Uri( &lt;span class='str'&gt;"http://a.a/a/ssss.aspx?a=qqq#a"&lt;/span&gt; ), UriParts.fragment, UriParts.fragment) );
Assert.AreEqual( &lt;span class='str'&gt;"?a=qqq#a"&lt;/span&gt;, UriUtility.get_uri_parts( &lt;span class='kw'&gt;new&lt;/span&gt; Uri( &lt;span class='str'&gt;"http://a.a/a/ssss.aspx?a=qqq#a"&lt;/span&gt; ), UriParts.query, UriParts.fragment) );
Assert.AreEqual( &lt;span class='str'&gt;"http://a.a/a/ssss.aspx"&lt;/span&gt;, UriUtility.get_uri_parts( &lt;span class='kw'&gt;new&lt;/span&gt; Uri( &lt;span class='str'&gt;"http://a.a/a/ssss.aspx?a=qqq#a"&lt;/span&gt; ), UriParts.scheme, UriParts.path) );&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class='tagline'&gt;... &amp;lt;&amp;lt; RSDN@Home 1.2.0 alpha rev. 676&amp;gt;&amp;gt;&lt;/div&gt;&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Fri, 21 Sep 2007 10:41:08 GMT</pubDate>
		
			<author>mogadanez &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>UntypedObject не верно работает?</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/2312724.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/2312724.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/2312724.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=2312724</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/2312724.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=2312724</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;пример&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;class&lt;/span&gt; Program
    {
        &lt;span class='kw'&gt;public class&lt;/span&gt; ForDump
        {
            &lt;span class='kw'&gt;public string&lt;/span&gt; Str;
            &lt;span class='kw'&gt;public string&lt;/span&gt; AStr;
            &lt;span class='kw'&gt;public int&lt;/span&gt; Integ;
            &lt;span class='kw'&gt;public&lt;/span&gt; ForDump(&lt;span class='kw'&gt;int&lt;/span&gt; i, &lt;span class='kw'&gt;string&lt;/span&gt; s,&lt;span class='kw'&gt;string&lt;/span&gt; a)
            {
                Integ = i;
                Str = s;
                AStr = a;
            }
        }
        &lt;span class='kw'&gt;static void&lt;/span&gt; Main(&lt;span class='kw'&gt;string&lt;/span&gt;[] args)
        {
            ForDump d = &lt;span class='kw'&gt;new&lt;/span&gt; ForDump(1, &lt;span class='str'&gt;"mega"&lt;/span&gt;, &lt;span class='str'&gt;"not mega"&lt;/span&gt;);
            UntypedObject u = &lt;span class='kw'&gt;new&lt;/span&gt; UntypedObject(d, &lt;span class='kw'&gt;true&lt;/span&gt;);
            dump_obj(0, 3, u);
            Console.Read();
            
        }

        &lt;span class='kw'&gt;static void&lt;/span&gt; dump_obj(&lt;span class='kw'&gt;int&lt;/span&gt; depth, &lt;span class='kw'&gt;int&lt;/span&gt; max_depth, UntypedObject u)
        {

                        &lt;span class='kw'&gt;foreach&lt;/span&gt; (KeyValuePair&amp;lt;&lt;span class='kw'&gt;string&lt;/span&gt;, &lt;span class='kw'&gt;object&lt;/span&gt;&amp;gt; kvp &lt;span class='kw'&gt;in&lt;/span&gt; u)
            {
                Console.WriteLine(&lt;span class='str'&gt;"{0}{1}  -  {2}"&lt;/span&gt;, &lt;span class='kw'&gt;new string&lt;/span&gt;(&lt;span class='str'&gt;'-'&lt;/span&gt;, depth*3 ), kvp.Key, format( kvp.Value ) );
                &lt;span class='kw'&gt;if&lt;/span&gt; (kvp.Value &lt;span class='kw'&gt;is&lt;/span&gt; UntypedObject &amp;amp;&amp;amp; depth&amp;lt; max_depth)
                    dump_obj(depth+1, max_depth, (UntypedObject)kvp.Value);
            }
        }

        &lt;span class='kw'&gt;static object&lt;/span&gt; format(&lt;span class='kw'&gt;object value&lt;/span&gt;)
        {
            &lt;span class='kw'&gt;if&lt;/span&gt; (&lt;span class='kw'&gt;value&lt;/span&gt; == &lt;span class='kw'&gt;null&lt;/span&gt;)
                &lt;span class='kw'&gt;return&lt;/span&gt; &lt;span class='str'&gt;"null"&lt;/span&gt;;
            &lt;span class='kw'&gt;if&lt;/span&gt; (&lt;span class='kw'&gt;value is string&lt;/span&gt;)
                &lt;span class='kw'&gt;return&lt;/span&gt; String.Format(&lt;span class='str'&gt;"\"{0}\""&lt;/span&gt;, &lt;span class='kw'&gt;value&lt;/span&gt;);
            &lt;span class='kw'&gt;return value&lt;/span&gt;;
        }
    }&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
выводит:&lt;br /&gt;
AStr  &amp;mdash;  "not mega"&lt;br /&gt;
Integ  &amp;mdash;  1&lt;br /&gt;
&lt;br /&gt;
т.е. Str &amp;mdash; "mega" не выводит.&lt;div class='tagline'&gt;... &amp;lt;&amp;lt; RSDN@Home 1.1.4 stable SR1 rev. 568&amp;gt;&amp;gt;&lt;/div&gt;&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Mon, 22 Jan 2007 10:47:16 GMT</pubDate>
		
			<author>cadet354 &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>3</slash:comments>
		
	</item>

	<item>
		<title>RequestParams</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/2296134.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/2296134.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/2296134.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=2296134</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/2296134.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=2296134</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Добавлена утилита для типизированой работы с параметрами QueryString&lt;br /&gt;
&lt;br /&gt;
пример:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;public class&lt;/span&gt; SomePage:Page
{
    &lt;span class='kw'&gt;class&lt;/span&gt; requestArgs
    {
        &lt;span class='kw'&gt;public int&lt;/span&gt; id; 
        &lt;span class='kw'&gt;public int&lt;/span&gt; name;
        &lt;span class='kw'&gt;public int&lt;/span&gt; category;
    }
    &lt;span class='kw'&gt;public void&lt;/span&gt; OnLoad(...)
    {
       requestArgs  args = RequestParams.FromRequest( Request.QueryString );
       args.id...;
       args.name...;
       args.category...;

    }

}&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Wed, 10 Jan 2007 20:48:34 GMT</pubDate>
		
			<author>mogadanez &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>перенос SVN</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/2296122.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/2296122.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/2296122.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=2296122</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/2296122.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=2296122</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Проект переехал:&lt;br /&gt;
&lt;a href="http://code.google.com/p/sharedlibraries/source" class="m" target="_blank"&gt;http://code.google.com/p/sharedlibraries/source&lt;/a&gt;&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Wed, 10 Jan 2007 20:39:51 GMT</pubDate>
		
			<author>mogadanez &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>CheckboxList и data2form</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/2132961.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/2132961.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/2132961.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=2132961</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/2132961.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=2132961</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Доброго времени,&lt;br /&gt;
есть массив bool's как его прибиндить к CheckboxList, и так чтоб где true checked проставился в true?&lt;div class='tagline'&gt;... &amp;lt;&amp;lt; RSDN@Home 1.1.4 stable SR1 rev. 568&amp;gt;&amp;gt;&lt;/div&gt;&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Wed, 27 Sep 2006 13:03:42 GMT</pubDate>
		
			<author>cadet354 &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>SmartConverter сделать еще умнее</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/2078373.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/2078373.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/2078373.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=2078373</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/2078373.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=2078373</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Понадобилось мне при работе с formutils выбранное значение из dropdownlist в enum,&lt;br /&gt;
к сожалению текущая версия этого не умеет,&lt;br /&gt;
вот мои предложения:&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='com'&gt;// в GetConverter добавить проверку на то, есть ли конвертер&lt;/span&gt;
&lt;span class='kw'&gt;public static&lt;/span&gt; TypeConverter GetConverter(Type targetType)
        {
            &lt;b&gt;TypeConverter converterType;
            &lt;span class='kw'&gt;if&lt;/span&gt; (( converterType= TypeDescriptor.GetConverter(targetType)) != &lt;span class='kw'&gt;null&lt;/span&gt;)
            {
                &lt;span class='kw'&gt;return&lt;/span&gt; converterType;
            }&lt;/b&gt;
&lt;span class='com'&gt;// AdjustValue&lt;/span&gt;
&lt;span class='kw'&gt;private object&lt;/span&gt; AjustValue( &lt;span class='kw'&gt;object value&lt;/span&gt; )
        {
            Type target_type = UntypedObject.GetDataType(control_, ValueProperty);
            IPropertyConverter converter = converter_ != &lt;span class='kw'&gt;null&lt;/span&gt;
                                                      ? converter_
                                                      : GetDefaultConverter(target_type);
            &lt;span class='kw'&gt;if&lt;/span&gt; (converter != &lt;span class='kw'&gt;null&lt;/span&gt;)
            {
                &lt;span class='kw'&gt;return&lt;/span&gt; converter.to(target_type, &lt;span class='kw'&gt;value&lt;/span&gt;);
            }
            &lt;b&gt;TypeConverter converterType;
            &lt;span class='kw'&gt;if&lt;/span&gt; ((converterType = TypeDescriptor.GetConverter(&lt;span class='kw'&gt;value&lt;/span&gt;)) != &lt;span class='kw'&gt;null&lt;/span&gt;)
            {
                &lt;span class='kw'&gt;return&lt;/span&gt; converterType.ConvertTo(&lt;span class='kw'&gt;value&lt;/span&gt;, target_type);
            }&lt;/b&gt;
            &lt;span class='kw'&gt;return value&lt;/span&gt;;
        }&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
потом определяем converter например для enum:&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
[TypeConverter(&lt;span class='kw'&gt;typeof&lt;/span&gt;(EnumAddressConverter))]
    &lt;span class='kw'&gt;enum&lt;/span&gt; EnumAddress
    {
        Moscow=1,
        Magadan,
        Piter
    }
    &lt;span class='kw'&gt;public class&lt;/span&gt; EnumAddressConverter : EnumConverter
    {
        &lt;span class='kw'&gt;private static readonly&lt;/span&gt; Dictionary&amp;lt;EnumAddress, &lt;span class='kw'&gt;string&lt;/span&gt;&amp;gt; _enumStringMap = &lt;span class='kw'&gt;new&lt;/span&gt; Dictionary&amp;lt;EnumAddress, &lt;span class='kw'&gt;string&lt;/span&gt;&amp;gt;();
        &lt;span class='kw'&gt;private static readonly&lt;/span&gt; Dictionary&amp;lt;EnumAddress, &lt;span class='kw'&gt;string&lt;/span&gt;&amp;gt; _enumIntMap=&lt;span class='kw'&gt;new&lt;/span&gt; Dictionary&amp;lt;EnumAddress,&lt;span class='kw'&gt;string&lt;/span&gt;&amp;gt;();
        &lt;span class='kw'&gt;public&lt;/span&gt; EnumAddressConverter(Type enumType)
            : &lt;span class='kw'&gt;base&lt;/span&gt;(enumType)
        {
            &lt;span class='kw'&gt;if&lt;/span&gt; (_enumStringMap.Count == 0)
            {
                _enumStringMap[EnumAddress.Moscow] = &lt;span class='str'&gt;"Moscow"&lt;/span&gt;;
                _enumStringMap[EnumAddress.Magadan] = &lt;span class='str'&gt;"Magadan"&lt;/span&gt;;
                _enumStringMap[EnumAddress.Piter] = &lt;span class='str'&gt;"Piter"&lt;/span&gt;;
                
            }
            &lt;span class='kw'&gt;if&lt;/span&gt; (_enumIntMap.Count == 0)
            {
                _enumIntMap[EnumAddress.Moscow] = &lt;span class='str'&gt;"1"&lt;/span&gt;;
                _enumIntMap[EnumAddress.Magadan] = &lt;span class='str'&gt;"2"&lt;/span&gt;;
                _enumIntMap[EnumAddress.Piter] = &lt;span class='str'&gt;"3"&lt;/span&gt;;
            }
        }
        &lt;span class='kw'&gt;public override object&lt;/span&gt; ConvertTo(ITypeDescriptorContext context, CultureInfo culture, &lt;span class='kw'&gt;object value&lt;/span&gt;, Type destinationType)
        {
            &lt;span class='kw'&gt;if&lt;/span&gt; (destinationType == &lt;span class='kw'&gt;typeof&lt;/span&gt;(&lt;span class='kw'&gt;string&lt;/span&gt;) &amp;amp;&amp;amp; &lt;span class='kw'&gt;value is&lt;/span&gt; EnumAddress)
            {
                &lt;span class='kw'&gt;return&lt;/span&gt; _enumStringMap[(EnumAddress)&lt;span class='kw'&gt;value&lt;/span&gt;];
            }
            &lt;span class='kw'&gt;return base&lt;/span&gt;.ConvertTo(context, culture, &lt;span class='kw'&gt;value&lt;/span&gt;, destinationType);
        }

        &lt;span class='kw'&gt;public override object&lt;/span&gt; ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, &lt;span class='kw'&gt;object value&lt;/span&gt;)
        {
            &lt;span class='kw'&gt;if&lt;/span&gt; (&lt;span class='kw'&gt;value is string&lt;/span&gt;)
            {
                &lt;span class='kw'&gt;foreach&lt;/span&gt; (EnumAddress key &lt;span class='kw'&gt;in&lt;/span&gt; _enumStringMap.Keys)
                {
                    &lt;span class='kw'&gt;if&lt;/span&gt; (_enumStringMap[key] ==(&lt;span class='kw'&gt;string&lt;/span&gt;) &lt;span class='kw'&gt;value&lt;/span&gt;)
                    {
                        &lt;span class='kw'&gt;return&lt;/span&gt; key;
                    }
                }
                &lt;span class='kw'&gt;foreach&lt;/span&gt; (EnumAddress key &lt;span class='kw'&gt;in&lt;/span&gt; _enumIntMap.Keys)
                {
                    &lt;span class='kw'&gt;if&lt;/span&gt; (_enumIntMap[key] == (&lt;span class='kw'&gt;string&lt;/span&gt;)&lt;span class='kw'&gt;value&lt;/span&gt;)
                    {
                        &lt;span class='kw'&gt;return&lt;/span&gt; key;
                    }
                }
                &lt;span class='kw'&gt;return null&lt;/span&gt;;
            }
            &lt;span class='kw'&gt;return base&lt;/span&gt;.ConvertFrom(context, culture, &lt;span class='kw'&gt;value&lt;/span&gt;);

        }
    }&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
использование в коде:&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;protected void&lt;/span&gt; Page_Load(&lt;span class='kw'&gt;object&lt;/span&gt; sender, EventArgs e)
    {
        FormItems fi = &lt;span class='kw'&gt;new&lt;/span&gt; FormItems().SetupFrom(form1);
        Person p = &lt;span class='kw'&gt;new&lt;/span&gt; Person();
        &lt;span class='kw'&gt;if&lt;/span&gt; (!IsPostBack)
        {
            p.Name = &lt;span class='str'&gt;"Vasya Pupkin"&lt;/span&gt;;
            Adress a = &lt;span class='kw'&gt;new&lt;/span&gt; Adress();
            a.Id = 1;
            a.FullAdress = &lt;span class='str'&gt;"г. Москва, ул.Брянская 5"&lt;/span&gt;;
            p.Adresses.Add(a);
            a = &lt;span class='kw'&gt;new&lt;/span&gt; Adress();

            a.Id = 2;
            a.FullAdress = &lt;span class='str'&gt;"г. Магадан, пр.Колымский 11"&lt;/span&gt;;
            p.Adresses.Add(a);
            
            a = &lt;span class='kw'&gt;new&lt;/span&gt; Adress();
            a.Id = 3;
            a.FullAdress = &lt;span class='str'&gt;"г. Питер, ул.Парадная 1"&lt;/span&gt;;
            p.Adresses.Add(a);

            p.enAddress = EnumAddress.Magadan;&lt;span class='com'&gt;// проверить что Enum&amp;gt;String работает&lt;/span&gt;
            fi.Data2Form(p);
        }
        &lt;span class='kw'&gt;else&lt;/span&gt;
        {
            fi.Form2Data(p);
            Response.Write(&lt;span class='kw'&gt;string&lt;/span&gt;.Format(&lt;span class='str'&gt;"Name :{0}&amp;lt;br&amp;gt;"&lt;/span&gt;, p.Name));
            Response.Write(&lt;span class='kw'&gt;string&lt;/span&gt;.Format(&lt;span class='str'&gt;"EnumAddress:{0}&amp;lt;br /&amp;gt;"&lt;/span&gt;, p.enAddress));
        }

    }
&lt;span class='com'&gt;// в aspx&lt;/span&gt;
&amp;lt;asp:DropDownList ID=&lt;span class='str'&gt;"DropDownList1"&lt;/span&gt; DataTextField=&lt;span class='str'&gt;"FullAdress"&lt;/span&gt; DataValueField=&lt;span class='str'&gt;"Id"&lt;/span&gt;
                runat=&lt;span class='str'&gt;"server"&lt;/span&gt; binding=&lt;span class='str'&gt;"Items&amp;lt;Adresses;SelectedValue&amp;lt;enAdress;SelectedValue&amp;gt;enAddress"&lt;/span&gt;&amp;gt;
            &amp;lt;/asp:DropDownList&amp;gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Sat, 26 Aug 2006 14:23:51 GMT</pubDate>
		
			<author>cadet354 &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>FormUtils и CheckBox</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/2074815.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/2074815.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/2074815.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=2074815</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/2074815.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=2074815</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Доброго времени:&lt;br /&gt;
снова я &lt;img border='0' width='15' height='15' src='http://www.rsdn.ru/Forum/images/smile.gif' /&gt;&lt;br /&gt;
неправильно работает с checkbox,&lt;br /&gt;
вот так поправил:&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='com'&gt;// Conversions.cs&lt;/span&gt;
&lt;span class='kw'&gt;public object&lt;/span&gt; to(Type to_type, &lt;span class='kw'&gt;object from&lt;/span&gt;)
        {
            &lt;span class='kw'&gt;if&lt;/span&gt; ( &lt;span class='kw'&gt;from is int&lt;/span&gt; )
            {
                &lt;span class='kw'&gt;int&lt;/span&gt; v = (&lt;span class='kw'&gt;int&lt;/span&gt;)&lt;span class='kw'&gt;from&lt;/span&gt;;
                &lt;span class='kw'&gt;if&lt;/span&gt; ( v!= 1 )
                    &lt;span class='kw'&gt;return false&lt;/span&gt;;
                &lt;span class='kw'&gt;else
                    return true&lt;/span&gt;;
            }
            &lt;b&gt;&lt;span class='kw'&gt;if&lt;/span&gt; (&lt;span class='kw'&gt;from is bool&lt;/span&gt;)
            {
                &lt;span class='kw'&gt;return from&lt;/span&gt;;
            }&lt;/b&gt;
            &lt;span class='kw'&gt;return false&lt;/span&gt;;
        }
&lt;span class='com'&gt;//FormUtils.cs&lt;/span&gt;
&lt;span class='kw'&gt;private&lt;/span&gt; IPropertyConverter GetDefaultConverter(Type target_type)
        {
            &lt;span class='kw'&gt;if&lt;/span&gt; ( target_type == &lt;span class='kw'&gt;typeof&lt;/span&gt; (ListItemCollection ) )
            {
                &lt;span class='kw'&gt;return new&lt;/span&gt; ListItemsCollectionConverter(control_ &lt;span class='kw'&gt;as&lt;/span&gt; ListControl);
            }
            &lt;b&gt;&lt;span class='kw'&gt;if&lt;/span&gt; (target_type==&lt;span class='kw'&gt;typeof&lt;/span&gt;(Boolean))
            {
                &lt;span class='kw'&gt;return new&lt;/span&gt; CheckBoxPropertyConverter();
            }&lt;/b&gt;
            &lt;span class='kw'&gt;return null&lt;/span&gt;;
        }&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
свои вставки выделил жирным.&lt;br /&gt;
P.S. может мне подождать с этими баг репортами,и есть другая версия, а выложенная это последствия спешки?&lt;div class='tagline'&gt;... &amp;lt;&amp;lt; RSDN@Home 1.1.4 stable SR1 rev. 568&amp;gt;&amp;gt;&lt;/div&gt;&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Thu, 24 Aug 2006 09:29:42 GMT</pubDate>
		
			<author>cadet354 &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>Data2form для hashtable</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/2073212.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/2073212.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/2073212.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=2073212</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/2073212.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=2073212</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Второй вопрос:&lt;br /&gt;
есть Hashtable в котором значения этот класс,&lt;br /&gt;
как его прибиндить к списку?&lt;br /&gt;
для себя решил проблему следующим образом:&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;public static object&lt;/span&gt; GetExpression(&lt;span class='kw'&gt;object&lt;/span&gt; data, &lt;span class='kw'&gt;string&lt;/span&gt; expression, BindingFlags bindingFlags)
        {
            &lt;span class='kw'&gt;string&lt;/span&gt;[] parts = expression.Trim().Split(&lt;span class='str'&gt;'.'&lt;/span&gt;);
            &lt;span class='kw'&gt;object&lt;/span&gt; obj = data;
            &lt;span class='kw'&gt;for&lt;/span&gt; (&lt;span class='kw'&gt;int&lt;/span&gt; i = 0; (i &amp;lt; parts.Length) &amp;amp;&amp;amp; (obj != &lt;span class='kw'&gt;null&lt;/span&gt;); i++)
            {
                &lt;span class='kw'&gt;object&lt;/span&gt; child = &lt;span class='kw'&gt;null&lt;/span&gt;;
                &lt;span class='kw'&gt;string&lt;/span&gt; current = parts[i];
                child = GetData(obj, bindingFlags, current);
                &lt;span class='kw'&gt;if&lt;/span&gt; (child == &lt;span class='kw'&gt;null&lt;/span&gt; &amp;amp;&amp;amp; obj &lt;span class='kw'&gt;is&lt;/span&gt; IDictionary)
                {
                    child = (obj &lt;span class='kw'&gt;as&lt;/span&gt; IDictionary)[current];
                }
                &lt;span class='kw'&gt;if&lt;/span&gt; (child == &lt;span class='kw'&gt;null&lt;/span&gt;)
                {
                    &lt;span class='kw'&gt;try&lt;/span&gt;
                    {
                        child = DataBinder.Eval(obj, current);
                    }
                    &lt;span class='kw'&gt;catch&lt;/span&gt; { }
                }
                
                &lt;b&gt;&lt;span class='com'&gt;// smirnov    &lt;/span&gt;
                &lt;span class='kw'&gt;if&lt;/span&gt; (child==&lt;span class='kw'&gt;null&lt;/span&gt; &amp;amp;&amp;amp; obj &lt;span class='kw'&gt;is&lt;/span&gt; DictionaryEntry)
                {
                    &lt;span class='kw'&gt;object&lt;/span&gt; tmp = ((DictionaryEntry) obj).Value;
                    child=GetData(tmp, bindingFlags, current);
                }&lt;/b&gt;
                obj = child;
            }
            &lt;span class='kw'&gt;return&lt;/span&gt; obj;
        }&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
выделил жирным свою вставку,&lt;br /&gt;
насколько это правильно,проблему то я решил, но может какие грабли положил взамен?&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Wed, 23 Aug 2006 12:53:02 GMT</pubDate>
		
			<author>cadet354 &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>Вопрос по Data2Form</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/2072795.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/2072795.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/2072795.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=2072795</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/2072795.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=2072795</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;День добрый,&lt;br /&gt;
вопрос про биндинг,&lt;br /&gt;
пример:&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&amp;lt;asp:DropDownList DataTextField=&lt;span class='str'&gt;"FullAdress"&lt;/span&gt; DataValueField=&lt;span class='str'&gt;"Id"&lt;/span&gt; runat=&lt;span class='str'&gt;"server"&lt;/span&gt; binding=&lt;span class='str'&gt;"Items&amp;lt;GetAdresses;SelectedValue&amp;gt;DefaultAdress"&lt;/span&gt; ID=&lt;span class='str'&gt;"Dropdownlist1"&lt;/span&gt; NAME=&lt;span class='str'&gt;"Dropdownlist1"&lt;/span&gt;&amp;gt;&amp;lt;/asp:DropDownList&amp;gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
в моем случае GetAdresses это свойство возвращающие ArrayList в котором находятся&lt;br /&gt;
string (не объекты Adresses, а именно строки),&lt;br /&gt;
при биндинге получаю ошибку:&lt;br /&gt;
NullReferenceException: Object reference not set to an instance of an object.]&lt;br /&gt;
происходит это в следующем фрагменте:&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;foreach&lt;/span&gt; (&lt;span class='kw'&gt;object&lt;/span&gt; bo &lt;span class='kw'&gt;in&lt;/span&gt; (IEnumerable)&lt;span class='kw'&gt;from&lt;/span&gt;)
Line 34:                 {
Line 35:                     items_.Add(&lt;span class='kw'&gt;new&lt;/span&gt; ListItem( UntypedObject.GetExpression(bo, TextField).ToString(), (&lt;span class='kw'&gt;string&lt;/span&gt;)UntypedObject.GetExpression(bo, ValueField).ToString() ) );
Line 36:                 }&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
я так понял это происходит потому, что UntypedObject.GetExpression(bo, TextField) возвращает null.&lt;br /&gt;
Удаление аттрибутов DataTextField, присвоение им других имен (пробывал string, но чудес не бывает) не помогло.&lt;br /&gt;
Взяв за основу как databinding происходит в ListControl,&lt;br /&gt;
переписал так:&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;public object&lt;/span&gt; to(Type to_type, &lt;span class='kw'&gt;object from&lt;/span&gt;)
{
      items_.Clear();
            &lt;span class='kw'&gt;bool&lt;/span&gt; flag=&lt;span class='kw'&gt;false&lt;/span&gt;;&lt;span class='com'&gt;// заданны аттрибуты?&lt;/span&gt;
            &lt;span class='kw'&gt;if&lt;/span&gt; ((TextField.Length != 0) || (ValueField.Length != 0))
            {
                flag = &lt;span class='kw'&gt;true&lt;/span&gt;;
            }

            &lt;span class='kw'&gt;if&lt;/span&gt; ( &lt;span class='kw'&gt;from is&lt;/span&gt; IEnumerable )
            {
                &lt;span class='kw'&gt;foreach&lt;/span&gt; (&lt;span class='kw'&gt;object&lt;/span&gt; bo &lt;span class='kw'&gt;in&lt;/span&gt; (IEnumerable)&lt;span class='kw'&gt;from&lt;/span&gt;)
                {
                                    ListItem item = &lt;span class='kw'&gt;new&lt;/span&gt; ListItem();
                                    &lt;span class='kw'&gt;if&lt;/span&gt; (flag)
                                    {
                                        &lt;span class='kw'&gt;if&lt;/span&gt; (TextField.Length &amp;gt; 0)
                                        {
                                            item.Text = UntypedObject.GetExpression(bo, TextField).ToString();
                                        }
                                        &lt;span class='kw'&gt;else&lt;/span&gt;
                                        {
                                            item.Text=bo.ToString();
                                        }
                                        &lt;span class='kw'&gt;if&lt;/span&gt; (ValueField.Length &amp;gt; 0)
                                        {
                                            item.Value =(&lt;span class='kw'&gt;string&lt;/span&gt;) UntypedObject.GetExpression(bo, ValueField).ToString();
                                        }
                                        &lt;span class='kw'&gt;else&lt;/span&gt;
                                        {
                                            item.Value=(&lt;span class='kw'&gt;string&lt;/span&gt;)bo.ToString();
                                        }
                                    }
                                    &lt;span class='kw'&gt;else&lt;/span&gt;
                                    {
                                        item.Text=bo.ToString();
                                        item.Value=(&lt;span class='kw'&gt;string&lt;/span&gt;)bo.ToString();
                                    }
                                    items_.Add(item);
                                }
            }
            &lt;span class='kw'&gt;else
                throw new&lt;/span&gt; NotSupportedException( &lt;span class='str'&gt;"Source for ListItemsCoolection must be IEnumarable."&lt;/span&gt; );
            &lt;span class='kw'&gt;return null&lt;/span&gt;;
        }&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
я думаю, это довольно частый случай, может что-то подобное(&lt;br /&gt;
или например в GetExpression чуть изменить:&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;if&lt;/span&gt; (child == &lt;span class='kw'&gt;null&lt;/span&gt;)
                {
                    &lt;span class='kw'&gt;try&lt;/span&gt;
                    {
                        child = DataBinder.Eval(obj, current);
                    }
                    &lt;span class='kw'&gt;catch&lt;/span&gt; { }
                }
                                &lt;span class='com'&gt;// тут вклинится start&lt;/span&gt;
                                &lt;span class='kw'&gt;if&lt;/span&gt; (child==&lt;span class='kw'&gt;null&lt;/span&gt; &amp;amp;&amp;amp; obj!=&lt;span class='kw'&gt;null&lt;/span&gt;)
                                    child=obj.ToString();
                                &lt;span class='com'&gt;// end&lt;/span&gt;
                                obj = child;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
насколько это правильно не знаю  &lt;img border='0' width='37' height='15' src='http://www.rsdn.ru/Forum/images/xz.gif' /&gt; &lt;br /&gt;
) включить в проект?&lt;div class='tagline'&gt;... &amp;lt;&amp;lt; RSDN@Home 1.1.4 stable SR1 rev. 568&amp;gt;&amp;gt;&lt;/div&gt;&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Wed, 23 Aug 2006 10:36:08 GMT</pubDate>
		
			<author>cadet354 &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>1</slash:comments>
		
	</item>

	<item>
		<title>Поддержа для FW1.1</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/2054897.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/2054897.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/2054897.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=2054897</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/2054897.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=2054897</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;добавлена поддержка FW1.1&lt;br /&gt;
какое то время проект будет развиваться паралельно для обоих FW&lt;div class='tagline'&gt;... &amp;lt;&amp;lt; RSDN@Home 1.1.4 beta 6a rev. 436&amp;gt;&amp;gt;&lt;/div&gt;&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Fri, 11 Aug 2006 17:02:20 GMT</pubDate>
		
			<author>mogadanez &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>[Update]FormItems Utils</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/2032172.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/2032172.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/2032172.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=2032172</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/2032172.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=2032172</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Тестовая имплементация байндинга коллекций на ListItemCollection. !односторонняя!, не уверен что нужна двусторонняя.&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Sun, 30 Jul 2006 12:23:04 GMT</pubDate>
		
			<author>mogadanez &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>[Update]FormItems Utils</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/2031765.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/2031765.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/2031765.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=2031765</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/2031765.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=2031765</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Добавлены ReadOnly и WriteOnly binding выражения.&lt;br /&gt;
&lt;br /&gt;
синтаксис:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;readonly:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
binding = "ControlProperty&lt;b&gt;&amp;lt;&lt;/b&gt;BOProperty"
binding-read = "ControlProperty[&lt;b&gt;(&amp;lt;|=|:)&lt;/b&gt;BOProperty]"&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;writeonly:&lt;/b&gt;&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
binding = "ControlProperty&lt;b&gt;&amp;gt;&lt;/b&gt;BOProperty"
binding-write = "ControlProperty[&lt;b&gt;(&amp;gt;|=|:)&lt;/b&gt;BOProperty]"&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
в ближайших планах добавление байндига коллекций на списковые контролы.&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Sat, 29 Jul 2006 17:32:30 GMT</pubDate>
		
			<author>mogadanez &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>[ADD] FormItems Utils</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/2011901.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/2011901.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/2011901.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=2011901</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/2011901.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=2011901</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Содержит 2 основных компонента.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ControlHelper&lt;/b&gt; и  его наследник &lt;b&gt;FormItem&lt;/b&gt; &amp;mdash; предоставляют вспогогательные методы для работы с контролами. сами по себе эти классы используются редко, в основном посредством второго компонента:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;FormItems&lt;/b&gt; &amp;mdash; утилита для двустронего байндинга.&lt;br /&gt;
&lt;b&gt;методы:&lt;/b&gt;&lt;br /&gt;
&lt;ul style='margin-top:0; margin-bottom:0;'&gt;&lt;li /&gt;&lt;i&gt;SetupFrom (Control root ) &lt;/i&gt;- собирает метаинформацию  о контролах  проходя по дереву  рекурсивно начиная с заданного рута.	может быть вызвано несколько раз, при этом информация накапливается.&lt;br /&gt;
	&lt;li /&gt;&lt;i&gt;Data2Form ( Object BusinessObject ) &lt;/i&gt; &amp;mdash; по раннее собранной с помощью SetupFrom  или конструктора метаинформации  записывает в элементы формы значения вычисляя их в контексте переданного бизнес объекта.&lt;br /&gt;
	&lt;li /&gt;&lt;i&gt;Form2Data ( Object BusinessObject )&lt;/i&gt; &amp;mdash;  по раннее собранной с помощью SetupFrom  или конструктора метаинформации  считывает из элементов формы значенияи и записывает их в бизнес объект. !метод не создает Бизнес-Объект!, он должен быть создан извне и передан этому методу.&lt;br /&gt;
	&lt;li /&gt;&lt;i&gt;EnableControls( bool yes )&lt;/i&gt; &amp;mdash; выставляет Enable/Disable  для элементов формы. Используется в формах которые имеют состояния View/Edit, для быстрого перевода ее элементов  в состояние просмотра/редактирования.&lt;/ul&gt;
  &lt;br /&gt;
&lt;b&gt;Метаинформация:&lt;/b&gt; записывается в контролы путем добавления атрибутов контролу, или в случае если контрол не имеет атрибутов( НЕ  наследован от WebControl или HtmlcConrol и НЕ релализует интерфейс IAttributeAccesor &amp;mdash; как правило это контролы напрямую наследованные от  Control ( Literal и т.д. )) должен  наследовать интерфейс IHasBinding.  Котнролы не подходящие под эти условия пропускаются.&lt;br /&gt;
&lt;ul style='margin-top:0; margin-bottom:0;'&gt;&lt;li /&gt;binding &amp;mdash; свойство содержащее инструкции о маппинге свойств Бизнес обеъекта на свойства контрола. в прсто варианте содрежит PropertyName бизнес объекта например &lt;b&gt;binding="Name"&lt;/b&gt;&lt;br /&gt;
	в более сложном варианте может содержать несколько свойств контрола связанных с несколькими свойствами бизнес объекта например &lt;b&gt;binding="Text=Name;ToolTip=Description"&lt;/b&gt;&lt;br /&gt;
	&lt;li /&gt;skip_enabling &amp;mdash; позволяет влиять на работу метода EnableControls. контролы поченые атрибутом  skip_enabling = true  не меняют своего состояния при запуске метода EnableControls. Например если на форме есть поле ID ( а ID у нас Autogenerated ) &amp;mdash; то данный котрол всегда должен быть ReadOnly &amp;mdash; даже если вся форма Editable.&lt;/ul&gt;
	&lt;br /&gt;
в TestApp добавлен простой пример работы с FormItems. более сложные примеры позднее.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
P.S. пожелания и конструктивная критика приветствуются.&lt;div class='tagline'&gt;... &amp;lt;&amp;lt; RSDN@Home 1.1.4 beta 6a rev. 436&amp;gt;&amp;gt;&lt;/div&gt;&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Wed, 19 Jul 2006 09:21:14 GMT</pubDate>
		
			<author>mogadanez &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>[Add]ComponentSymlynk</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/1800802.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/1800802.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/1800802.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=1800802</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/1800802.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=1800802</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;описание &lt;a href="http://blogs.gotdotnet.ru/personal/poigraem/PermaLink.aspx?guid=bd467572-b182-4876-b86d-ed3e904b7b1c" class="m" target="_blank"&gt;здесь&lt;/a&gt;&lt;div class='tagline'&gt;... &amp;lt;&amp;lt; RSDN@Home 1.1.4 beta 6a rev. 436&amp;gt;&amp;gt;&lt;/div&gt;&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Thu, 23 Mar 2006 13:52:47 GMT</pubDate>
		
			<author>mogadanez &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>[Add]RemotingHostService</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/1800801.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/1800801.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/1800801.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=1800801</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/1800801.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=1800801</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;&lt;ul style='margin-top:0; margin-bottom:0;'&gt;&lt;li /&gt;Сервис позволяет хостить классы помеченные специальным атрибутом.[/*]&lt;br /&gt;
&lt;li /&gt;Следит за своей папкой, на предмет появления новых сборок.[/*]&lt;/ul&gt;&lt;div class='tagline'&gt;... &amp;lt;&amp;lt; RSDN@Home 1.1.4 beta 6a rev. 436&amp;gt;&amp;gt;&lt;/div&gt;&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Thu, 23 Mar 2006 13:52:46 GMT</pubDate>
		
			<author>mogadanez &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>.NET Framework</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/1775649.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/1775649.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/1775649.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=1775649</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/1775649.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=1775649</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Вопрос следующий: проект будет разрабатыватся только для .NET 2.0 или ещё и для .NET 1.1?&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Sat, 11 Mar 2006 08:36:15 GMT</pubDate>
		
			<author>Closer &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>[Add] ReflectionHelper</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/1757321.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/1757321.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/1757321.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=1757321</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/1757321.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=1757321</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;добавлен класс ReflectionHelper.&lt;br /&gt;
по сравнению с описанным раннее &lt;a href="http://blogs.gotdotnet.ru/personal/poigraem/PermaLink.aspx?guid=30071335-8144-435b-89ba-1dcc49d7b9c0" class="m" target="_blank"&gt;здесь&lt;/a&gt; добавлено:&lt;br /&gt;
 * реализация интерфейса IDictionary&amp;lt;string, object&amp;gt; позволяющего итерироваться по всем пропертям/членам объекта.&lt;br /&gt;
 * параметр конструктора wrap_nonprimitive_type &amp;mdash; флаг заставляющий оборачивать возвращаемые объекты в UntypedObject.&lt;br /&gt;
&lt;br /&gt;
также добавлен пример показывающий пример иллюстрирующий две эти возможности &amp;mdash; он показывает как можно минимальными усилиями снять дамп объекта на заданную глубину вложенности.&lt;div class='tagline'&gt;... &amp;lt;&amp;lt; RSDN@Home 1.1.4 beta 6a rev. 436&amp;gt;&amp;gt;&lt;/div&gt;&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Tue, 07 Mar 2006 10:24:28 GMT</pubDate>
		
			<author>mogadanez &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>SharedLibraries</title>
		<link>http://www.rsdn.ru/Forum/prj.SharedLibraries/1713567.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/prj.SharedLibraries/1713567.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/prj.SharedLibraries/1713567.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=1713567</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/1713567.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=1713567</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;&lt;b&gt;Статья:&lt;/b&gt; &lt;br /&gt;
&lt;a href="http://www.rsdn.ru/article/?779" title="SharedLibraries" class=" tips m" rel="#a779" target="_blank"&gt;SharedLibraries&lt;div class="tooltip" id="a779"&gt;Автор(ы): Alexander Popov&lt;br /&gt;Дата: 04.03.2006&lt;br /&gt;&lt;/div&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Авторы:&lt;/b&gt;&lt;br /&gt;
 &lt;a href="http://www.rsdn.ru/users/profile.aspx?uid=11521" class="m" target="_blank"&gt;Alexander Popov&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Аннотация:&lt;/b&gt; &lt;br /&gt;
Cоздание единого репозитория для различных компонент (JavaScript библиотеки, ASP.NET контролы, полезные утилиты). Данные компоненты так или иначе время от времени пупубликуются в статьях, блогах и других ресурсах. Однако эти библиотеки  живут своей жизнью, и часто в  двух разных статьях появляются разные версии одной и той же библиотеки.  Что не приемлемо в первую очередь для читателей.  Поэтому назрела необходимость в проекте который объеденит  под одной крышей все наши компоненты, и позволит пользователям  получать информацию  об обновлении компонент, а также самим участвовать в их развитии.&lt;/div&gt;
				
		</description>
		
		<category>prj</category><category>SharedLibraries</category>
		<pubDate>Sat, 04 Mar 2006 04:01:27 GMT</pubDate>
		
			<author>Alexander Popov &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>5</slash:comments>
		
	</item>
</channel>
</rss>

