Example #1
0
        /// <summary>
        /// Create the field with attributes so that it can be added to the class
        /// </summary>
        /// <param name="lang">Language C# of Visual Basic</param>
        /// <returns>Field as text</returns>
        internal string GetFieldCode(NetLanguage lang)
        {
            var sb = new StringBuilder(100);

            var attbs = new AttributesBuilder(lang);

            AddAttributesInternal(attbs, lang);
            AddAttributesCode(attbs, lang);

            sb.Append(attbs.GetAttributesCode());

            NetVisibility visi        = mVisibility;
            string        currentName = mFieldName;

            if (mClassBuilder.GenerateProperties)
            {
                visi        = NetVisibility.Private;
                currentName = "m" + mFieldName;
            }

            switch (lang)
            {
            case NetLanguage.VbNet:
                sb.Append(ClassBuilder.GetVisibility(lang, visi) + currentName + " As " + mFieldType);
                break;

            case NetLanguage.CSharp:
                sb.Append(ClassBuilder.GetVisibility(lang, visi) + mFieldType + " " + currentName + ";");
                break;

            default:
                break;
            }

            var newLine = Environment.NewLine;

            sb.Append(newLine);

            if (mClassBuilder.GenerateProperties)
            {
                sb.Append(newLine);

                switch (lang)
                {
                case NetLanguage.VbNet:
                    sb.Append("Public Property " + mFieldName + " As " + mFieldType);
                    sb.Append(newLine);
                    sb.Append("   Get");
                    sb.Append(newLine);
                    sb.Append("      Return m" + mFieldName);
                    sb.Append(newLine);
                    sb.Append("   End Get");
                    sb.Append(newLine);
                    sb.Append("   Set (value As " + mFieldType + ")");
                    sb.Append(newLine);
                    sb.Append("      m" + mFieldName + " = value");
                    sb.Append(newLine);
                    sb.Append("   End Set");
                    sb.Append(newLine);
                    sb.Append("End Property");
                    break;

                case NetLanguage.CSharp:
                    sb.Append("public " + mFieldType + " " + mFieldName);
                    sb.Append(newLine);
                    sb.Append("{");
                    sb.Append(newLine);
                    sb.Append("   get { return m" + mFieldName + "; }");
                    sb.Append(newLine);
                    sb.Append("   set { m" + mFieldName + " = value; }");
                    sb.Append(newLine);
                    sb.Append("}");
                    break;

                default:
                    break;
                }

                sb.Append(newLine);
                sb.Append(newLine);
            }

            return(sb.ToString());
        }