using System;
using System.ComponentModel;
namespace ProtoBuf
{
/// Specifies a method on the root-contract in an hierarchy to be invoked before serialization.
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)]
#if !CF && !SILVERLIGHT && !MONODROID && !WINRT && !IOS && !PORTABLE && ! COREFX
[ImmutableObject(true)]
#endif
public sealed class ProtoBeforeSerializationAttribute : Attribute { }
/// Specifies a method on the root-contract in an hierarchy to be invoked after serialization.
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)]
#if !CF && !SILVERLIGHT && !MONODROID && !WINRT && !IOS && !PORTABLE && ! COREFX
[ImmutableObject(true)]
#endif
public sealed class ProtoAfterSerializationAttribute : Attribute { }
/// Specifies a method on the root-contract in an hierarchy to be invoked before deserialization.
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)]
#if !CF && !SILVERLIGHT && !MONODROID && !WINRT && !IOS && !PORTABLE && ! COREFX
[ImmutableObject(true)]
#endif
public sealed class ProtoBeforeDeserializationAttribute : Attribute { }
/// Specifies a method on the root-contract in an hierarchy to be invoked after deserialization.
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)]
#if !CF && !SILVERLIGHT && !MONODROID && !WINRT && !IOS && !PORTABLE && ! COREFX
[ImmutableObject(true)]
#endif
public sealed class ProtoAfterDeserializationAttribute : Attribute { }
}