avro-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Welly Tambunan <if05...@gmail.com>
Subject Re: Apache Avro to .NET Core
Date Wed, 07 Sep 2016 04:55:31 GMT
Hi Ryan,

Thanks for your feedback. I finally managed to port Apache Avro to .NET
Core. Here's the detail on how i solve the problem

https://weltam.wordpress.com/2016/09/07/porting-apache-avro-into-net-core/

Cheers

On Wed, Sep 7, 2016 at 12:16 AM, Ryan Blue <rblue@netflix.com> wrote:

> Hi Welly,
>
> I'm not very familiar with .NET or the C# Avro library, hopefully others
> can help answer your specific question. One alternative is to look at the
> Microsoft C# library, which also has codegen features and is intended for
> use for .NET:
>
>   https://azure.microsoft.com/en-us/updates/microsoft-avro-
> library-updated-to-include-c-code-generator/
>
> rb
>
> On Mon, Sep 5, 2016 at 5:12 AM, Welly Tambunan <if05041@gmail.com> wrote:
>
>> Hi All,
>>
>> I'm trying to port apache avro to .NET core.
>>
>> Here's the repository for the project
>>
>> https://github.com/welly87/Apache-Avro-Core
>>
>>
>> However i found that some of the class and method is missing regarding
>> Assembly loading and IL generation. I'm really close to completing the
>> porting.
>>
>> [image: Inline image 1]
>>
>> #1. Is there any replacement on this line of code in .NET core ?
>> Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
>>
>> #2. Another one is IL Generator. Any idea how to replace this code ?
>>
>>         public CtorDelegate GetConstructor(string name, Schema.Type
>> schemaType, Type type)
>>         {
>>             ConstructorInfo ctorInfo = type.GetConstructor(Type.Empty
>> Types);
>>             if (ctorInfo == null)
>>                 throw new AvroException("Class " + name + " has no
>> default constructor");
>>
>>             DynamicMethod dynMethod = new DynamicMethod("DM$OBJ_FACTORY_"
>> + name, typeof(object), null, type, true);
>>             ILGenerator ilGen = dynMethod.GetILGenerator();
>>             ilGen.Emit(OpCodes.Nop);
>>             ilGen.Emit(OpCodes.Newobj, ctorInfo);
>>             ilGen.Emit(OpCodes.Ret);
>>
>>             return (CtorDelegate)dynMethod.CreateDelegate(ctorType);
>>         }
>>
>> Thanks
>>
>> Cheers
>> --
>> Welly Tambunan
>> Triplelands
>>
>> http://weltam.wordpress.com
>> http://www.triplelands.com <http://www.triplelands.com/blog/>
>>
>
>
>
> --
> Ryan Blue
> Software Engineer
> Netflix
>



-- 
Welly Tambunan
Triplelands

http://weltam.wordpress.com
http://www.triplelands.com <http://www.triplelands.com/blog/>

Mime
View raw message