コード例 #1
0
 private bool GetClassMemberType(ITaskItem item, out ClassMemberTypes type)
 {
     var memberTypeStr = item.GetMetadata("Code-ClassMemberType");
     if (string.IsNullOrEmpty(memberTypeStr))
         memberTypeStr = ClassMemberTypes.Constant.ToString();
     if (!Enum.TryParse(memberTypeStr, true, out type))
     {
         Log.LogError("Invalid Code-ClassMemberType \"{0}\", value must be in \"{1}\".", memberTypeStr, string.Join(", ", Enum.GetNames(typeof(ClassMemberTypes))));
         return false;
     }
     return true;
 }
コード例 #2
0
 private static void WriteMember(TextWriter writer, ClassMemberTypes classMemberType, string name, string value)
 {
     switch (classMemberType)
     {
         case ClassMemberTypes.Constant:
             writer.WriteLine("    public const string {0} = \"{1}\";", name, value);
             break;
         case ClassMemberTypes.Property:
             writer.WriteLine("    public string {0} {{ get {{ return \"{1}\"; }}", name, value);
             break;
         case ClassMemberTypes.Field:
             writer.WriteLine("    public readonly string {0} = \"{1}\";", name, value);
             break;
         default:
             throw new NotSupportedException(string.Format("Not supported ClassMemberType \"{0}\".", classMemberType));
     }
 }