예제 #1
0
        private void WriteCustomAttribute(ICustomAttribute attr)
        {
            IMethodReference meth_ref = attr.Constructor;
            TypeRef          decltype = new TypeRef(meth_ref.DeclaringType);
            string           name     = decltype.Name;

            // 参照付きで名前を指定
            writer.WriteReference(
                name.EndsWith("Attribute")?name.Substring(0, name.Length - 9):name,
                string.Format("/* 属性 コンストラクタ */\r\n{0}::{1}({2});",
                              decltype.FullName,
                              decltype.Name,
                              LanguageWriter.GetDesc(meth_ref.Parameters)
                              ),
                meth_ref
                );

            if (attr.Arguments.Count != 0)
            {
                writer.Write("(");
                writer.WriteExpressionCollection(attr.Arguments);
                writer.Write(")");
            }
        }