System.Runtime.Serialization.ObjectRecord.FindConstructor C# (CSharp) Method

FindConstructor() private method

private FindConstructor ( ) : ConstructorInfo
return System.Reflection.ConstructorInfo
        private ConstructorInfo FindConstructor()
        {
            #if !PCL
            return ObjectInstance.GetType().GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, new Type[] { typeof(SerializationInfo), typeof(StreamingContext) }, null);
            #else
            var ctors = ObjectInstance.GetType().GetConstructors(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
            foreach (var ctor in ctors) {
                var parameters = ctor.GetParameters();
                if (parameters.Length != 2)
                    continue;

                if (parameters[0].ParameterType == typeof (SerializationInfo) &&
                    parameters[1].ParameterType == typeof (StreamingContext))
                    return ctor;
            }

            return null;
            #endif
        }