נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: System.CodeDom

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
object
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 07 August 2005 בשעה 00:17 | IP רשוּם
ציטוט object

Hi all,

I'm trying to generate the folowing code with System.CodeDom namespace:

קוד:

namespace CodeDomTest
{
   public class DerivedClass :
AbstractClass
   {
   }

   [System.Xml.Serialization.XmlType("AbstractClass")]
   [System.Xml.Serialization.XmlInclude(typeof(DerivedClass))]
   public abstract class
AbstractClass
   {
   }
}

The code behind:

CodeNamespace codeNamespace = new CodeNamespace("CodeDomTest"
);

CodeTypeDeclaration derivedClass = new CodeTypeDeclaration
();
derivedClass.Name =
"DerivedClass"
;
derivedClass.Attributes =
MemberAttributes
.Public;
derivedClass.IsClass = true;derivedClass.BaseTypes.Add(
"AbstractClass"
);
codeNamespace.Types.Add(derivedClass);

CodeTypeDeclaration
abstractClass = new CodeTypeDeclaration();
abstractClass.Name =
"AbstractClass";
abstractClass.IsClass = true;
abstractClass.TypeAttributes = System.Reflection.
TypeAttributes.Abstract | System.Reflection.TypeAttributes.Public;

abstractClass.CustomAttributes.Add(
   new
CodeAttributeDeclaration("System.Xml.Serialization.XmlType",
   new
CodeAttributeArgument(new CodePrimitiveExpression(abstractClass.Name))));

//Return [System.Xml.Serialization.XmlInclude(null)]
//Type type = Type.GetType("DerivedClass"); 
//abstractClass.CustomAttributes.Add(
//   new CodeAttributeDeclaration("System.Xml.Serialization.XmlInclude",
//   new CodeAttributeArgument(new CodePrimitiveExpression(type))));

//Return [System.Xml.Serialization.XmlInclude("typeof(DerivedClass)")]
//abstractClass.CustomAttributes.Add(
//   new CodeAttributeDeclaration("System.Xml.Serialization.XmlInclude",
//   new CodeAttributeArgument(new CodePrimitiveExpression("typeof(DerivedClass)"))));

//Return Exception
//abstractClass.CustomAttributes.Add(
//   new CodeAttributeDeclaration("System.Xml.Serialization.XmlInclude",
//   new CodeAttributeArgument(new CodePrimitiveExpression(type))));

codeNamespace.Types.Add(abstractClass);

I can't add a XmlInclude attribute since it needs the type as parameter and the type is only in the CodeNamespace.
Any suggestions ?

חזרה לתחילת העמוד הצג את כרטיס החבר של object חפש הודעות אחרות של object בקר בדף הבית של object
 
Object
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 07 August 2005 בשעה 20:28 | IP רשוּם
ציטוט Object

http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=68890
חזרה לתחילת העמוד הצג את כרטיס החבר של Object חפש הודעות אחרות של Object בקר בדף הבית של Object
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה