Hi,
Sadly, using Cecil requires a bit of knowledge about the metadata
format and how the metadata is serialized.
To add a custom attribute, you have to import (ModuleDefinition.Import
()) the type of the custom attribute into the assembly in which the
custom attribute will be used.
Then you have to import the appropriate constructor of the custom
attribute type, to get a MethodReference you will used to instantiate
a CustomAttribute object. Once you have this custom attribute, you
can add it to an ICustomAttributeProvider, wich holds a collection of
custom attribute.
Finally, you can write back the assembly to the disk.
Jb
On Feb 21, 2006, at 3:04 PM, vijaya raghava mutharaju wrote:
Hi,
I was thinking if the following code would do what I
was asking of
1) AssemblyDefinition assembly1 =
AssemblyFactory.GetAssembly("MyAssembly.exe");
AssemblyDefinition assembly2 =
AssemblyFactory.GetAssembly("AnotherAssembly.exe");
foreach(.........)
{ if(type is MyAttribute)
{ // Import MyAttribute into assembly2
}}
2) MyAttribute attribute = new MyAttribute("some
arguments");
But it still leaves the issue of how to assign
a proper parent(in my case a class in assembly2) to MyAttribute.
Excuse me if the above code is completely off target.
Iam new to Cecil.
Thank you.
On 2/21/06, vijaya raghava mutharaju <[EMAIL PROTECTED]>
wrote:
Hello,
I want to add custom attributes to an existing
assembly. I want to do the following steps.
1) Refer the class MyAttribute which is in
the assembly MyAssembly.exe, so that I can import into the current
assembly - AnotherAssembly.exe
2) Add this attribute (MyAttribute
constructor with proper arguments) on top of some of the classes in
AnotherAssembly.exe which is the one that is to be modified.
3) Save it back to disk - I know
AssemblyDefinition.SaveAssembly() can be used for that.
Please can you tell me how these steps can be done using
Mono.Cecil.
Thank you.
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list