diff --git a/.gitignore b/.gitignore index 9ac0ec3..8ab52f4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,99 @@ # Build Folders (you can keep bin if you'd like, to store dlls and pdbs) -bin -obj +[Bb]in/ +[Oo]bj/ # mstest test results -TestResults \ No newline at end of file +TestResults + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Rr]elease/ +x64/ +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.vspscc +*.vssscc +.builds + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf + +# Visual Studio profiler +*.psess +*.vsp + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper* + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish + +# Publish Web Output +*.Publish.xml + +# Windows Azure Build Output +csx +*.build.csdef + +# Others +[Bb]in +[Oo]bj +sql +TestResults +*.Cache +ClientBin +[Ss]tyle[Cc]op.* +~$* +*.dbmdl +Generated_Code #added for RIA/Silverlight projects + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c52e513 --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2011 Yan Cui + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject +to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/SimpleSpeedTester.Example/BinarySerializersSpeedTest.cs b/SimpleSpeedTester.Example/BinarySerializersSpeedTest.cs new file mode 100644 index 0000000..e2ce7ca --- /dev/null +++ b/SimpleSpeedTester.Example/BinarySerializersSpeedTest.cs @@ -0,0 +1,330 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Runtime.Serialization.Formatters.Binary; +using MessageShark; +using MsgPack; +using SimpleSpeedTester.Core; +using SimpleSpeedTester.Core.OutcomeFilters; +using SimpleSpeedTester.Interfaces; + +namespace SimlpeSpeedTester.Example +{ + public static class BinarySerializersSpeedTest + { + // test serialization and deserialization on 100k objects + private const int ObjectsCount = 100000; + + // perform 5 runs of each test + private const int TestRuns = 5; + + // exclude the min and max results + private static readonly ITestOutcomeFilter OutcomeFilter = new ExcludeMinAndMaxTestOutcomeFilter(); + + // the objects to perform the tests with + private static readonly List SimpleObjects = Enumerable.Range(1, ObjectsCount).Select(GetSimpleObject).ToList(); + private static readonly List SimpleObjectsWithFields = Enumerable.Range(1, ObjectsCount).Select(GetSimpleObjectWithFields).ToList(); + private static readonly List IserializableSimpleObjects = Enumerable.Range(1, ObjectsCount).Select(GetSerializableSimpleObject).ToList(); + + public static void Start() + { + // speed test binary formatter + DoSpeedTest("BinaryFormatter (with properties)", SimpleObjects, SerializeWithBinaryFormatter, DeserializeWithBinaryFormatter); + + DoSpeedTest("BinaryFormatter (with fields)", SimpleObjectsWithFields, SerializeWithBinaryFormatter, DeserializeWithBinaryFormatter); + + // speed test binary formatter when used with an ISerializable type + DoSpeedTest("BinaryFormatterWithISerializable", IserializableSimpleObjects, SerializeWithBinaryFormatter, DeserializeWithBinaryFormatter); + + // speed test protobuf-net + DoSpeedTest("Protobuf-Net (with properties)", SimpleObjects, SerializeWithProtobufNet, DeserializeWithProtobufNet); + + DoSpeedTest("Protobuf-Net (with fields)", SimpleObjectsWithFields, SerializeWithProtobufNet, DeserializeWithProtobufNet); + + // speed test binary writer (only for reference, won't be able to deserialize) + DoSpeedTest("BinaryWriter", SimpleObjects, SerializeWithBinaryWriter, null); + + // speed test message pack + DoSpeedTest( + "MessagePack (with properties)", + SimpleObjects, + lst => SerializeWithMessagePack(lst, true), + lst => DeserializeWithMessagePack(lst, true)); + + // speed test message pack again + DoSpeedTest( + "MessagePack (with fields)", + SimpleObjectsWithFields, + lst => SerializeWithMessagePack(lst, false), + lst => DeserializeWithMessagePack(lst, false)); + + // speed test message pack again + DoSpeedTest( + "MessageShark (with properties)", + SimpleObjects, + SerializeWithMessageShark, + DeserializeWithMessageShark); + } + + private static void DoSpeedTest( + string testGroupName, List objects, Func, List> serializeFunc, Func, List> deserializeFunc) + { + var byteArrays = new List(); + + var testGroup = new TestGroup(testGroupName); + + var serializationTestSummary = + testGroup + .Plan("Serialization", () => byteArrays = serializeFunc(objects), TestRuns) + .GetResult() + .GetSummary(OutcomeFilter); + + Console.WriteLine(serializationTestSummary); + + Console.WriteLine("Test Group [{0}] average serialized byte array size is [{1}]", testGroupName, byteArrays.Average(arr => arr.Length)); + + var clones = new List(); + + if (deserializeFunc != null) + { + var deserializationTestSummary = + testGroup + .Plan("Deserialization", () => clones = deserializeFunc(byteArrays), TestRuns) + .GetResult() + .GetSummary(OutcomeFilter); + + Console.WriteLine(deserializationTestSummary); + } + + Console.WriteLine("--------------------------------------------------------"); + } + + private static SimpleObject GetSimpleObject(int id) + { + return new SimpleObject + { + Name = "Simple", + Id = 100000, + Address = "Planet Earth", + Scores = Enumerable.Range(0, 10).ToArray() + }; + } + + private static SimpleObjectWithFields GetSimpleObjectWithFields(int id) + { + return new SimpleObjectWithFields + { + Name = "Simple", + Id = 100000, + Address = "Planet Earth", + Scores = Enumerable.Range(0, 10).ToArray() + }; + } + + private static IserializableSimpleObject GetSerializableSimpleObject(int id) + { + return new IserializableSimpleObject + { + Name = "Simple", + Id = 100000, + Address = "Planet Earth", + Scores = Enumerable.Range(0, 10).ToArray() + }; + } + + #region Binary Formatter + + private static List SerializeWithBinaryFormatter(List objects) + { + var binaryFormatter = new BinaryFormatter(); + return objects.Select(o => SerializeWithBinaryFormatter(binaryFormatter, o)).ToList(); + } + + private static byte[] SerializeWithBinaryFormatter(BinaryFormatter binaryFormatter, T obj) + { + using (var memStream = new MemoryStream()) + { + binaryFormatter.Serialize(memStream, obj); + return memStream.ToArray(); + } + } + + private static List DeserializeWithBinaryFormatter(List byteArrays) + { + var binaryFormatter = new BinaryFormatter(); + return byteArrays.Select(arr => DeserializeWithBinaryFormatter(binaryFormatter, arr)).ToList(); + } + + private static T DeserializeWithBinaryFormatter(BinaryFormatter binaryFormatter, byte[] byteArray) + { + using (var memStream = new MemoryStream(byteArray)) + { + return (T)binaryFormatter.Deserialize(memStream); + } + } + + #endregion + + #region Protobuf-Net + + private static List SerializeWithProtobufNet(List objects) + { + return objects.Select(SerializeWithProtobufNet).ToList(); + } + + private static byte[] SerializeWithProtobufNet(T obj) + { + using (var memStream = new MemoryStream()) + { + ProtoBuf.Serializer.Serialize(memStream, obj); + return memStream.ToArray(); + } + } + + private static List DeserializeWithProtobufNet(List byteArrays) + { + return byteArrays.Select(DeserializeWithProtobufNet).ToList(); + } + + private static T DeserializeWithProtobufNet(byte[] byteArray) + { + using (var memStream = new MemoryStream(byteArray)) + { + return ProtoBuf.Serializer.Deserialize(memStream); + } + } + + #endregion + + #region Binary Writer + + private static List SerializeWithBinaryWriter(List objects) + { + return objects.Select(SerializeWithBinaryWriter).ToList(); + } + + private static byte[] SerializeWithBinaryWriter(SimpleObject obj) + { + using (var memStream = new MemoryStream()) + { + var binaryWriter = new BinaryWriter(memStream); + + binaryWriter.Write(obj.Id); + binaryWriter.Write(obj.Name); + binaryWriter.Write(obj.Address); + Array.ForEach(obj.Scores, binaryWriter.Write); + binaryWriter.Flush(); + + return memStream.ToArray(); + } + } + + #endregion + + #region MessagePack + + private static List SerializeWithMessagePack(List objects, bool allFields) + { + var packer = new CompiledPacker(allFields); + return objects.Select(packer.Pack).ToList(); + } + + private static List DeserializeWithMessagePack(List byteArrays, bool allFields) + { + var packer = new CompiledPacker(allFields); + return byteArrays.Select(packer.Unpack).ToList(); + } + + #endregion + + #region MessageShark + + private static List SerializeWithMessageShark(List objects) + where T : class + { + return objects.Select(MessageSharkSerializer.Serialize).ToList(); + } + + private static List DeserializeWithMessageShark(List byteArrays) + where T : class + { + return byteArrays.Select(MessageSharkSerializer.Deserialize).ToList(); + } + + #endregion + + #region Serialization Objects + + [Serializable] + [DataContract] + public class SimpleObjectWithFields + { + [DataMember(Order = 1)] + public int Id; + + [DataMember(Order = 2)] + public string Name; + + [DataMember(Order = 3)] + public string Address; + + [DataMember(Order = 4)] + public int[] Scores; + } + + [Serializable] + [DataContract] + public class SimpleObject + { + [DataMember(Order = 1)] + public int Id { get; set; } + + [DataMember(Order = 2)] + public string Name { get; set; } + + [DataMember(Order = 3)] + public string Address { get; set; } + + [DataMember(Order = 4)] + public int[] Scores { get; set; } + } + + [Serializable] + public class IserializableSimpleObject : ISerializable + { + public IserializableSimpleObject() + { + } + + // this constructor is used for deserialization + public IserializableSimpleObject(SerializationInfo info, StreamingContext text) + : this() + { + Id = info.GetInt32("Id"); + Name = info.GetString("Name"); + Address = info.GetString("Address"); + Scores = (int[])info.GetValue("Scores", typeof(int[])); + } + + public int Id { get; set; } + + public string Name { get; set; } + + public string Address { get; set; } + + public int[] Scores { get; set; } + + public void GetObjectData(SerializationInfo info, StreamingContext context) + { + info.AddValue("Id", Id); + info.AddValue("Name", Name); + info.AddValue("Address", Address); + info.AddValue("Scores", Scores); + } + } + + #endregion + } +} diff --git a/SimpleSpeedTester.Example/ExceptionOnlyTestOutcomeFilter.cs b/SimpleSpeedTester.Example/ExceptionOnlyTestOutcomeFilter.cs new file mode 100644 index 0000000..8eb0a44 --- /dev/null +++ b/SimpleSpeedTester.Example/ExceptionOnlyTestOutcomeFilter.cs @@ -0,0 +1,15 @@ +using System.Collections.Generic; +using System.Linq; +using SimpleSpeedTester.Core; +using SimpleSpeedTester.Interfaces; + +namespace SimlpeSpeedTester.Example +{ + public sealed class ExceptionOnlyTestOutcomeFilter : ITestOutcomeFilter + { + public List Filter(List resultOutcomes) + { + return resultOutcomes.Where(o => o.Exception != null).ToList(); + } + } +} diff --git a/SimpleSpeedTester.Example/JsonSerializersSpeedTest.cs b/SimpleSpeedTester.Example/JsonSerializersSpeedTest.cs new file mode 100644 index 0000000..6be49b3 --- /dev/null +++ b/SimpleSpeedTester.Example/JsonSerializersSpeedTest.cs @@ -0,0 +1,385 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Runtime.Serialization.Json; +using System.Text; +using System.Web.Script.Serialization; +using System.Xaml; +using SimpleSpeedTester.Core; +using SimpleSpeedTester.Core.OutcomeFilters; +using SimpleSpeedTester.Interfaces; +using JayrockJsonConvert = Jayrock.Json.Conversion.JsonConvert; +using JsonNetJsonConvert = Newtonsoft.Json.JsonConvert; +using JsonNetJsonSerializer = Newtonsoft.Json.JsonSerializer; +using JsonNetBsonReader = Newtonsoft.Json.Bson.BsonReader; +using JsonNetBsonWriter = Newtonsoft.Json.Bson.BsonWriter; +using JsonFxReader = JsonFx.Json.JsonReader; +using JsonFxWriter = JsonFx.Json.JsonWriter; + +namespace SimlpeSpeedTester.Example +{ + /// + /// Demo program which compares the serializatoin and deserialization speed of 4 popular JSON serializers + /// + public static class JsonSerializersSpeedTest + { + // test serialization and deserialization on 100k objects + private const int ObjectsCount = 100000; + + // perform 5 runs of each test + private const int TestRuns = 5; + + private static readonly Random RandomGenerator = new Random((int)DateTime.UtcNow.Ticks); + + // exclude the min and max results + private static readonly ITestOutcomeFilter OutcomeFilter = new ExcludeMinAndMaxTestOutcomeFilter(); + + // the objects to perform the tests with + private static readonly List SimpleObjects = Enumerable.Range(1, ObjectsCount).Select(GetSimpleObject).ToList(); + + public static void Start() + { + // speed test Json.Net serializer + DoSpeedTest("Json.Net", SerializeWithJsonNet, DeserializeWithJsonNet, CountAverageJsonStringPayload); + + // speed test Json.Net BSON serializer + DoSpeedTest("Json.Net BSON", SerializeWithJsonNetBson, DeserializeWithJsonNetBson, CountAverageByteArrayPayload); + + // speed test protobuf-net + DoSpeedTest("Protobuf-Net", SerializeWithProtobufNet, DeserializeWithProtobufNet, CountAverageByteArrayPayload); + + // speed test ServiceStack.Text Json serializer + DoSpeedTest("ServiceStack.Text", SerializeWithServiceStack, DeserializeWithServiceStack, CountAverageJsonStringPayload); + + // speed test DataContractJsonSerializer + DoSpeedTest("DataContractJsonSerializer", SerializeWithDataContractJsonSerializer, DeserializeWithDataContractJsonSerializer, CountAverageJsonStringPayload); + + // speed test JavaScriptSerializer + DoSpeedTest("JavaScriptSerializer", SerializeWithJavaScriptSerializer, DeserializeWithJavaScriptSerializer, CountAverageJsonStringPayload); + + // speed test SimpleJson + DoSpeedTest("SimpleJson", SerializeWithSimpleJson, DeserializeWithSimpleJson, CountAverageJsonStringPayload); + + // speed test fastJson + DoSpeedTest("fastJson", SerializeWithFastJson, DeserializeWithFastJson, CountAverageJsonStringPayload); + + // speed test JayRock + DoSpeedTest("JayRock", SerializeWithJayRock, DeserializeWithJayRock, CountAverageJsonStringPayload); + + // speed test JsonFx + DoSpeedTest("JsonFx", SerializeWithJsonFx, DeserializeWithJsonFx, CountAverageJsonStringPayload); + + // speed test XamlServices + //DoSpeedTest("XamlServices", SerializeWithXamlServices, DeserializeWithXamlServices); + } + + private static void DoSpeedTest( + string testGroupName, + Func, List> serializeFunc, + Func, List> deserializeFunc, + Func, double> getAvgPayload) + { + var data = new List(); + + var testGroup = new TestGroup(testGroupName); + + var serializationTestSummary = + testGroup + .Plan("Serialization", () => data = serializeFunc(SimpleObjects), TestRuns) + .GetResult() + .GetSummary(OutcomeFilter); + + Console.WriteLine(serializationTestSummary); + + Console.WriteLine("Test Group [{0}] average serialized byte array size is [{1}]", testGroupName, getAvgPayload(data)); + + var deserializationTestSummary = + testGroup + .Plan("Deserialization", () => deserializeFunc(data), TestRuns) + .GetResult() + .GetSummary(OutcomeFilter); + + Console.WriteLine(deserializationTestSummary); + + Console.WriteLine("---------------------------------------------------------"); + } + + private static SimpleObject GetSimpleObject(int id) + { + return new SimpleObject + { + Name = string.Format("Simple-{0}", id), + Id = RandomGenerator.Next(1, ObjectsCount), + Address = "Planet Earth", + Scores = Enumerable.Range(0, 10).Select(i => RandomGenerator.Next(1, 100)).ToArray() + }; + } + + private static double CountAverageJsonStringPayload(List jsonStrings) + { + return jsonStrings.Average(str => str.Length); + } + + private static double CountAverageByteArrayPayload(List bsonArray) + { + return bsonArray.Average(arr => arr.Length); + } + + #region DataContractJsonSerializer + + private static List SerializeWithDataContractJsonSerializer(List objects) + { + var serializer = new DataContractJsonSerializer(typeof(T)); + var jsonStrings = objects.Select( + o => + { + using (var memStream = new MemoryStream()) + { + serializer.WriteObject(memStream, o); + return Encoding.Default.GetString(memStream.ToArray()); + } + }).ToList(); + return jsonStrings; + } + + private static List DeserializeWithDataContractJsonSerializer(List jsonStrings) + { + var serializer = new DataContractJsonSerializer(typeof(T)); + var objects = jsonStrings.Select( + str => + { + using (var memStream = new MemoryStream(Encoding.Default.GetBytes(str))) + { + return (T)serializer.ReadObject(memStream); + } + }).ToList(); + return objects; + } + + #endregion + + #region JavaScriptSerializer + + private static List SerializeWithJavaScriptSerializer(List objects) + { + var serializer = new JavaScriptSerializer(); + var jsonStrings = objects.Select(o => serializer.Serialize(o)).ToList(); + return jsonStrings; + } + + private static List DeserializeWithJavaScriptSerializer(List jsonStrings) + { + var serializer = new JavaScriptSerializer(); + var objects = jsonStrings.Select(serializer.Deserialize).ToList(); + return objects; + } + + #endregion + + #region Json.Net + + private static List SerializeWithJsonNet(List objects) + { + var jsonStrings = objects.Select(o => JsonNetJsonConvert.SerializeObject(o)).ToList(); + return jsonStrings; + } + + private static List DeserializeWithJsonNet(List jsonStrings) + { + var objects = jsonStrings.Select(JsonNetJsonConvert.DeserializeObject).ToList(); + return objects; + } + + private static List SerializeWithJsonNetBson(List objects) + { + var serializer = new JsonNetJsonSerializer(); + return objects.Select(obj => SerializeWithJsonNetBson(obj, serializer)).ToList(); + } + + private static byte[] SerializeWithJsonNetBson(T obj, JsonNetJsonSerializer serializer) + { + using (var memStream = new MemoryStream()) + { + var writer = new JsonNetBsonWriter(memStream); + serializer.Serialize(writer, obj); + + return memStream.ToArray(); + } + } + + private static List DeserializeWithJsonNetBson(List byteArrays) + { + var serializer = new JsonNetJsonSerializer(); + return byteArrays.Select(arr => DeserializeWithJsonNetBson(arr, serializer)).ToList(); + } + + private static T DeserializeWithJsonNetBson(byte[] byteArray, JsonNetJsonSerializer serializer) + { + using (var memStream = new MemoryStream(byteArray)) + { + var reader = new JsonNetBsonReader(memStream); + return serializer.Deserialize(reader); + } + } + + #endregion + + #region ServiceStack + + private static List SerializeWithServiceStack(List objects) + { + var serializer = new ServiceStack.Text.JsonSerializer(); + + var jsonStrings = objects.Select(serializer.SerializeToString).ToList(); + return jsonStrings; + } + + private static List DeserializeWithServiceStack(List jsonStrings) + { + var serializer = new ServiceStack.Text.JsonSerializer(); + + var objects = jsonStrings.Select(serializer.DeserializeFromString).ToList(); + return objects; + } + + #endregion + + #region SimpleJson + + private static List SerializeWithSimpleJson(List objects) + { + var jsonStrings = objects.Select(o => SimpleJson.SimpleJson.SerializeObject(o)).ToList(); + return jsonStrings; + } + + private static List DeserializeWithSimpleJson(List jsonStrings) + { + var objects = jsonStrings.Select(SimpleJson.SimpleJson.DeserializeObject).ToList(); + return objects; + } + + #endregion + + #region FastJson + + private static List SerializeWithFastJson(List objects) { + var jsonStrings = objects.Select(o => fastJSON.JSON.Instance.ToJSON(o)).ToList(); + return jsonStrings; + } + + private static List DeserializeWithFastJson(List jsonStrings) { + var objects = jsonStrings.Select(fastJSON.JSON.Instance.ToObject).ToList(); + return objects; + } + + #endregion + + #region JayRock + + private static List SerializeWithJayRock(List objects) { + var jsonStrings = + objects.Select(o => JayrockJsonConvert.ExportToString(o)).ToList(); + + return jsonStrings; + } + + private static List DeserializeWithJayRock(List jsonStrings) { + var objects = jsonStrings.Select(JayrockJsonConvert.Import).ToList(); + return objects; + } + + #endregion + + #region JsonFx + + private static List SerializeWithJsonFx(List objects) + { + var writer = new JsonFxWriter(); + + var jsonStrings = objects.Select(o => writer.Write(o)).ToList(); + return jsonStrings; + } + + private static List DeserializeWithJsonFx(List jsonStrings) + { + var reader = new JsonFxReader(); + + var objects = jsonStrings.Select(reader.Read).ToList(); + return objects; + } + + #endregion + + #region Protobuf-Net + + private static List SerializeWithProtobufNet(List objects) + { + return objects.Select(SerializeWithProtobufNet).ToList(); + } + + private static byte[] SerializeWithProtobufNet(T obj) + { + using (var memStream = new MemoryStream()) + { + ProtoBuf.Serializer.Serialize(memStream, obj); + return memStream.ToArray(); + } + } + + private static List DeserializeWithProtobufNet(List byteArrays) + { + return byteArrays.Select(DeserializeWithProtobufNet).ToList(); + } + + private static T DeserializeWithProtobufNet(byte[] byteArray) + { + using (var memStream = new MemoryStream(byteArray)) + { + return ProtoBuf.Serializer.Deserialize(memStream); + } + } + + #endregion + + #region XamlServices + + private static List SerializeWithXamlServices(List objects) { + var xamlStrings = objects.Select(o => XamlServices.Save(o)).ToList(); + + return xamlStrings; + } + + private static List DeserializeWithXamlServices(List xamlStrings) + { + var objects = xamlStrings.Select( + str => + { + using (var memStream = new MemoryStream(Encoding.Default.GetBytes(str))) + { + return XamlServices.Load(memStream); + } + }).Cast().ToList(); + return objects; + } + + #endregion + } + + [DataContract] + public class SimpleObject + { + [DataMember(Order = 1)] + public int Id { get; set; } + + [DataMember(Order = 2)] + public string Name { get; set; } + + [DataMember(Order = 3)] + public string Address { get; set; } + + [DataMember(Order = 4)] + public int[] Scores { get; set; } + } +} \ No newline at end of file diff --git a/SimpleSpeedTester.Example/Program.cs b/SimpleSpeedTester.Example/Program.cs new file mode 100644 index 0000000..6b6c59e --- /dev/null +++ b/SimpleSpeedTester.Example/Program.cs @@ -0,0 +1,152 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using SimpleSpeedTester.Core; +using SimpleSpeedTester.Core.OutcomeFilters; + +namespace SimlpeSpeedTester.Example +{ + class Program + { + static void Main() + { + //Example1(); + + //Example2(); + + //Example3(); + + //Example4(); + + // more in-depth test of JSON serializers + //JsonSerializersSpeedTest.Start(); + + // more in-depth test of BinaryFormatter vs Protobuf-net + //BinarySerializersSpeedTest.Start(); + + Console.WriteLine("all done..."); + Console.ReadKey(); + } + + private static void Example1() + { + // initialize a new test group + var testGroup = new TestGroup("Example1"); + + // create a test (in the form of an Action delegate) but don't run it yet + // when executed, the test will invoke the Action delegate 5 times and time + // how long it took each time + var test = testGroup.Plan("Test1", () => { }, 5); + + // calling GetResult() executes the test + var testResult = test.GetResult(); + + // the outcome (how long did it take, was an unhandled exception thrown?) + // for each test run is tracked + var testOutcomes = testResult.Outcomes; + + // let's take a look at the TestOutcome object + var firstTestOutcome = testOutcomes.First(); + var elapsed = firstTestOutcome.Elapsed; // a TimeSpan object + var exception = firstTestOutcome.Exception; // null if no exception + + // you can use the TestResult object to analyse your test, but it's often + // useful to get a summary + var testResultSummary = testResult.GetSummary(); + + Console.WriteLine(testResultSummary); + /* prints out something along the line of + * + * Test Group [Example1], Test [Test1] results summary: + * Successes [5] + * Failures [0] + * Average Exec Time [...] milliseconds + * + */ + } + + private static void Example2() + { + // initialize a new test group + var testGroup = new TestGroup("Example2"); + + // PlanAndExecute actually executes the Action delegate 5 times and returns + // the result summary + var testResultSummary = testGroup.PlanAndExecute("Test1", () => { }, 5); + + Console.WriteLine(testResultSummary); + /* prints out something along the line of + * + * Test Group [Example2], Test [Test1] results summary: + * Successes [5] + * Failures [0] + * Average Exec Time [...] milliseconds + * + */ + } + + private static void Example3() + { + // initialize a new test group + var testGroup = new TestGroup("Example3"); + + var randomGenerator = new Random(DateTime.UtcNow.Millisecond); + + // you can also plan a test that runs against some piece of data, it provides + // you with a way to track some arbitrary metric as you run your tests + var numbers = new List(); + var testAction = testGroup.Plan( + "Test1", lst => lst.Add(randomGenerator.Next(100)), numbers, 5); + + // when executed, this test will add 5 random numbers between 0 and 99 to the + // 'numbers' list + testAction.GetResult(); + + // this will print the 5 random number, e.g. 15, 7, 4, 9, 38 + Console.WriteLine(string.Join(",", numbers.Select(n => n.ToString()))); + } + + private static void Example4() + { + // initialize a new test group + var testGroup = new TestGroup("Example4"); + + var sleepIntervals = new[] { 2, 3, 4, 5, 11 }; + var index = 0; + + // plans a test which puts the thread to sleep for 2, 3, 4, 5 and then 11 seconds, zzz.... + var test = testGroup.Plan("Test1", () => Thread.Sleep(TimeSpan.FromSeconds(sleepIntervals[index++])), 5); + + // execute the test runs and get the result + var testResult = test.GetResult(); + + // summaries the result whilst considering all the test outcomes + var resultSummaryDefault = testResult.GetSummary(); + + // alternatively, provide a filter so that when the average execution time is calculated, the min + // and max times are not considered + var resultSummaryExcludeMinAndMax = testResult.GetSummary(new ExcludeMinAndMaxTestOutcomeFilter()); + + Console.WriteLine(resultSummaryDefault); + /* prints out something along the line of: + * + * Test Group [Example4], Test [Test1] results summary: + * Successes [5] + * Failures [0] + * Average Exec Time [5000.05438] milliseconds + * + */ + + Console.WriteLine(resultSummaryExcludeMinAndMax); + /* prints out something along the line of: + * + * Test Group [Example4], Test [Test1] results summary: + * Successes [5] + * Failures [0] + * Average Exec Time [4000.1766] milliseconds + * + */ + } + } +} diff --git a/SimpleSpeedTester.Example/Properties/AssemblyInfo.cs b/SimpleSpeedTester.Example/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..45caaf7 --- /dev/null +++ b/SimpleSpeedTester.Example/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("SimpleSpeedTester.Example")] +[assembly: AssemblyDescription("Examples for how to use the SimpleSpeedTester")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Yan Cui")] +[assembly: AssemblyProduct("SimpleSpeedTester.Example")] +[assembly: AssemblyCopyright("Copyright © Yan Cui 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("f60ae133-0214-4655-a794-f08fa59aed16")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.*")] diff --git a/SimpleSpeedTester.Example/SimpleJson.cs b/SimpleSpeedTester.Example/SimpleJson.cs new file mode 100644 index 0000000..b6a7fe2 --- /dev/null +++ b/SimpleSpeedTester.Example/SimpleJson.cs @@ -0,0 +1,1711 @@ +// SimpleJson http://simplejson.codeplex.com/ +// http://bit.ly/simplejson +// License: Apache License 2.0 (Apache) + +// NOTE: uncomment the following line to make SimpleJson class internal. +//#define SIMPLE_JSON_INTERNAL + +// NOTE: uncomment the following line to make JsonArray and JsonObject class internal. +//#define SIMPLE_JSON_OBJARRAYINTERNAL + +// NOTE: uncomment the following line to enable dynamic support. +//#define SIMPLE_JSON_DYNAMIC + +// NOTE: uncomment the following line to enable DataContract support. +//#define SIMPLE_JSON_DATACONTRACT + +// NOTE: uncomment the following line to use Reflection.Emit (better performance) instead of method.invoke(). +//#define SIMPLE_JSON_REFLECTIONEMIT + +// original json parsing code from http://techblog.procurios.nl/k/618/news/view/14605/14863/How-do-I-write-my-own-parser-for-JSON.html + +#define SIMPLE_JSON_REFLECTIONEMIT + +using System; +using System.Collections; +using System.Collections.Generic; +#if SIMPLE_JSON_DYNAMIC +using System.Dynamic; +#endif +using System.Globalization; +using System.Reflection; +#if SIMPLE_JSON_REFLECTIONEMIT +using System.Reflection.Emit; +#endif +#if SIMPLE_JSON_DATACONTRACT +using System.Runtime.Serialization; +#endif +using System.Text; +using SimpleJson.Reflection; + + +namespace SimpleJson +{ + #region JsonArray + + /// + /// Represents the json array. + /// +#if SIMPLE_JSON_OBJARRAYINTERNAL + internal +#else + public +#endif + class JsonArray : List + { + /// + /// Initializes a new instance of the class. + /// + public JsonArray() { } + + /// + /// Initializes a new instance of the class. + /// + /// The capacity of the json array. + public JsonArray(int capacity) : base(capacity) { } + + /// + /// The json representation of the array. + /// + /// The json representation of the array. + public override string ToString() + { + return global::SimpleJson.SimpleJson.SerializeObject(this) ?? string.Empty; + } + } + + #endregion + + #region JsonObject + + /// + /// Represents the json object. + /// +#if SIMPLE_JSON_OBJARRAYINTERNAL + internal +#else + public +#endif + class JsonObject : +#if SIMPLE_JSON_DYNAMIC + DynamicObject, +#endif + IDictionary + { + /// + /// The internal member dictionary. + /// + private readonly Dictionary _members = new Dictionary(); + + /// + /// Gets the at the specified index. + /// + /// + public object this[int index] + { + get { return GetAtIndex(_members, index); } + } + + internal static object GetAtIndex(IDictionary obj, int index) + { + if (obj == null) + throw new ArgumentNullException("obj"); + + if (index >= obj.Count) + throw new ArgumentOutOfRangeException("index"); + + int i = 0; + foreach (KeyValuePair o in obj) + if (i++ == index) return o.Value; + + return null; + } + + /// + /// Adds the specified key. + /// + /// The key. + /// The value. + public void Add(string key, object value) + { + _members.Add(key, value); + } + + /// + /// Determines whether the specified key contains key. + /// + /// The key. + /// + /// true if the specified key contains key; otherwise, false. + /// + public bool ContainsKey(string key) + { + return _members.ContainsKey(key); + } + + /// + /// Gets the keys. + /// + /// The keys. + public ICollection Keys + { + get { return _members.Keys; } + } + + /// + /// Removes the specified key. + /// + /// The key. + /// + public bool Remove(string key) + { + return _members.Remove(key); + } + + /// + /// Tries the get value. + /// + /// The key. + /// The value. + /// + public bool TryGetValue(string key, out object value) + { + return _members.TryGetValue(key, out value); + } + + /// + /// Gets the values. + /// + /// The values. + public ICollection Values + { + get { return _members.Values; } + } + + /// + /// Gets or sets the with the specified key. + /// + /// + public object this[string key] + { + get { return _members[key]; } + set { _members[key] = value; } + } + + /// + /// Adds the specified item. + /// + /// The item. + public void Add(KeyValuePair item) + { + _members.Add(item.Key, item.Value); + } + + /// + /// Clears this instance. + /// + public void Clear() + { + _members.Clear(); + } + + /// + /// Determines whether [contains] [the specified item]. + /// + /// The item. + /// + /// true if [contains] [the specified item]; otherwise, false. + /// + public bool Contains(KeyValuePair item) + { + return _members.ContainsKey(item.Key) && _members[item.Key] == item.Value; + } + + /// + /// Copies to. + /// + /// The array. + /// Index of the array. + public void CopyTo(KeyValuePair[] array, int arrayIndex) + { + int num = Count; + foreach (KeyValuePair kvp in this) + { + array[arrayIndex++] = kvp; + + if (--num <= 0) + return; + } + } + + /// + /// Gets the count. + /// + /// The count. + public int Count + { + get { return _members.Count; } + } + + /// + /// Gets a value indicating whether this instance is read only. + /// + /// + /// true if this instance is read only; otherwise, false. + /// + public bool IsReadOnly + { + get { return false; } + } + + /// + /// Removes the specified item. + /// + /// The item. + /// + public bool Remove(KeyValuePair item) + { + return _members.Remove(item.Key); + } + + /// + /// Gets the enumerator. + /// + /// + public IEnumerator> GetEnumerator() + { + return _members.GetEnumerator(); + } + + /// + /// Returns an enumerator that iterates through a collection. + /// + /// + /// An object that can be used to iterate through the collection. + /// + IEnumerator IEnumerable.GetEnumerator() + { + return _members.GetEnumerator(); + } + + /// + /// Returns a json that represents the current . + /// + /// + /// A json that represents the current . + /// + public override string ToString() + { + return global::SimpleJson.SimpleJson.SerializeObject(this); + } + +#if SIMPLE_JSON_DYNAMIC + /// + /// Provides implementation for type conversion operations. Classes derived from the class can override this method to specify dynamic behavior for operations that convert an object from one type to another. + /// + /// Provides information about the conversion operation. The binder.Type property provides the type to which the object must be converted. For example, for the statement (String)sampleObject in C# (CType(sampleObject, Type) in Visual Basic), where sampleObject is an instance of the class derived from the class, binder.Type returns the type. The binder.Explicit property provides information about the kind of conversion that occurs. It returns true for explicit conversion and false for implicit conversion. + /// The result of the type conversion operation. + /// + /// Alwasy returns true. + /// + public override bool TryConvert(ConvertBinder binder, out object result) + { + // + if (binder == (ConvertBinder)null) + throw new ArgumentNullException("binder"); + // + Type targetType = binder.Type; + + if ((targetType == typeof(IEnumerable)) || + (targetType == typeof(IEnumerable>)) || + (targetType == typeof(IDictionary)) || + (targetType == typeof(IDictionary))) + { + result = this; + return true; + } + + return base.TryConvert(binder, out result); + } + + /// + /// Provides the implementation for operations that delete an object member. This method is not intended for use in C# or Visual Basic. + /// + /// Provides information about the deletion. + /// + /// Alwasy returns true. + /// + public override bool TryDeleteMember(DeleteMemberBinder binder) + { + // + if (binder == (DeleteMemberBinder)null) + throw new ArgumentNullException("binder"); + // + return _members.Remove(binder.Name); + } + + /// + /// Provides the implementation for operations that get a value by index. Classes derived from the class can override this method to specify dynamic behavior for indexing operations. + /// + /// Provides information about the operation. + /// The indexes that are used in the operation. For example, for the sampleObject[3] operation in C# (sampleObject(3) in Visual Basic), where sampleObject is derived from the DynamicObject class, is equal to 3. + /// The result of the index operation. + /// + /// Alwasy returns true. + /// + public override bool TryGetIndex(GetIndexBinder binder, object[] indexes, out object result) + { + if (indexes.Length == 1) + { + result = ((IDictionary)this)[(string)indexes[0]]; + return true; + } + result = (object)null; + return true; + } + + /// + /// Provides the implementation for operations that get member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as getting a value for a property. + /// + /// Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member on which the dynamic operation is performed. For example, for the Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + /// The result of the get operation. For example, if the method is called for a property, you can assign the property value to . + /// + /// Alwasy returns true. + /// + public override bool TryGetMember(GetMemberBinder binder, out object result) + { + object value; + if (_members.TryGetValue(binder.Name, out value)) + { + result = value; + return true; + } + result = (object)null; + return true; + } + + /// + /// Provides the implementation for operations that set a value by index. Classes derived from the class can override this method to specify dynamic behavior for operations that access objects by a specified index. + /// + /// Provides information about the operation. + /// The indexes that are used in the operation. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 3. + /// The value to set to the object that has the specified index. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 10. + /// + /// true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown. + /// + public override bool TrySetIndex(SetIndexBinder binder, object[] indexes, object value) + { + if (indexes.Length == 1) + { + ((IDictionary)this)[(string)indexes[0]] = value; + return true; + } + + return base.TrySetIndex(binder, indexes, value); + } + + /// + /// Provides the implementation for operations that set member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as setting a value for a property. + /// + /// Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + /// The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, the is "Test". + /// + /// true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.) + /// + public override bool TrySetMember(SetMemberBinder binder, object value) + { + // + if (binder == (SetMemberBinder)null) + throw new ArgumentNullException("binder"); + // + _members[binder.Name] = value; + return true; + } + + /// + /// Returns the enumeration of all dynamic member names. + /// + /// + /// A sequence that contains dynamic member names. + /// + public override IEnumerable GetDynamicMemberNames() + { + foreach (var key in Keys) + yield return key; + } +#endif + } + + #endregion +} + +namespace SimpleJson +{ + #region JsonParser + + /// + /// This class encodes and decodes JSON strings. + /// Spec. details, see http://www.json.org/ + /// + /// JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + /// All numbers are parsed to doubles. + /// +#if SIMPLE_JSON_INTERNAL + internal +#else + public +#endif + class SimpleJson + { + private const int TOKEN_NONE = 0; + private const int TOKEN_CURLY_OPEN = 1; + private const int TOKEN_CURLY_CLOSE = 2; + private const int TOKEN_SQUARED_OPEN = 3; + private const int TOKEN_SQUARED_CLOSE = 4; + private const int TOKEN_COLON = 5; + private const int TOKEN_COMMA = 6; + private const int TOKEN_STRING = 7; + private const int TOKEN_NUMBER = 8; + private const int TOKEN_TRUE = 9; + private const int TOKEN_FALSE = 10; + private const int TOKEN_NULL = 11; + + private const int BUILDER_CAPACITY = 2000; + + /// + /// Parses the string json into a value + /// + /// A JSON string. + /// An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + public static object DeserializeObject(string json) + { + object @object; + if (TryDeserializeObject(json, out @object)) + return @object; + throw new System.Runtime.Serialization.SerializationException("Invalid JSON string"); + } + + /// + /// Try parsing the json string into a value. + /// + /// + /// A JSON string. + /// + /// + /// The object. + /// + /// + /// Returns true if successfull otherwise false. + /// + public static bool TryDeserializeObject(string json, out object @object) + { + bool success = true; + if (json != null) + { + char[] charArray = json.ToCharArray(); + int index = 0; + @object = ParseValue(charArray, ref index, ref success); + } + else + @object = null; + + return success; + } + + public static object DeserializeObject(string json, Type type, IJsonSerializerStrategy jsonSerializerStrategy) + { + object jsonObject = DeserializeObject(json); + + return type == null || jsonObject != null && jsonObject.GetType().IsAssignableFrom(type) + ? jsonObject + : (jsonSerializerStrategy ?? CurrentJsonSerializerStrategy).DeserializeObject(jsonObject, type); + } + + public static object DeserializeObject(string json, Type type) + { + return DeserializeObject(json, type, null); + } + + public static T DeserializeObject(string json, IJsonSerializerStrategy jsonSerializerStrategy) + { + return (T)DeserializeObject(json, typeof(T), jsonSerializerStrategy); + } + + public static T DeserializeObject(string json) + { + return (T)DeserializeObject(json, typeof(T), null); + } + + /// + /// Converts a IDictionary<string,object> / IList<object> object into a JSON string + /// + /// A IDictionary<string,object> / IList<object> + /// A JSON encoded string, or null if object 'json' is not serializable + public static string SerializeObject(object json, IJsonSerializerStrategy jsonSerializerStrategy) + { + StringBuilder builder = new StringBuilder(BUILDER_CAPACITY); + bool success = SerializeValue(jsonSerializerStrategy, json, builder); + return (success ? builder.ToString() : null); + } + + public static string SerializeObject(object json) + { + return SerializeObject(json, CurrentJsonSerializerStrategy); + } + + public static string EscapeToJavascriptString(string jsonString) + { + if (string.IsNullOrEmpty(jsonString)) + { + return jsonString; + } + + StringBuilder sb = new StringBuilder(); + char c; + + for (int i = 0; i < jsonString.Length; ) + { + c = jsonString[i++]; + + if (c == '\\') + { + int remainingLength = jsonString.Length - i; + if (remainingLength >= 2) + { + char lookahead = jsonString[i]; + if (lookahead == '\\') + { + sb.Append('\\'); + ++i; + } + else if (lookahead == 't') + { + sb.Append('\t'); + ++i; + } + else if (lookahead == 'b') + { + sb.Append('\b'); + ++i; + } + else if (lookahead == 'n') + { + sb.Append('\n'); + ++i; + } + else if (lookahead == 'r') + { + sb.Append('\r'); + ++i; + } + } + } + else + { + sb.Append(c); + } + } + + return sb.ToString(); + } + + protected static IDictionary ParseObject(char[] json, ref int index, ref bool success) + { + IDictionary table = new JsonObject(); + int token; + + // { + NextToken(json, ref index); + + bool done = false; + while (!done) + { + token = LookAhead(json, index); + if (token == TOKEN_NONE) + { + success = false; + return null; + } + else if (token == TOKEN_COMMA) + NextToken(json, ref index); + else if (token == TOKEN_CURLY_CLOSE) + { + NextToken(json, ref index); + return table; + } + else + { + // name + string name = ParseString(json, ref index, ref success); + if (!success) + { + success = false; + return null; + } + + // : + token = NextToken(json, ref index); + if (token != TOKEN_COLON) + { + success = false; + return null; + } + + // value + object value = ParseValue(json, ref index, ref success); + if (!success) + { + success = false; + return null; + } + + table[name] = value; + } + } + + return table; + } + + protected static JsonArray ParseArray(char[] json, ref int index, ref bool success) + { + JsonArray array = new JsonArray(); + + // [ + NextToken(json, ref index); + + bool done = false; + while (!done) + { + int token = LookAhead(json, index); + if (token == TOKEN_NONE) + { + success = false; + return null; + } + else if (token == TOKEN_COMMA) + NextToken(json, ref index); + else if (token == TOKEN_SQUARED_CLOSE) + { + NextToken(json, ref index); + break; + } + else + { + object value = ParseValue(json, ref index, ref success); + if (!success) + return null; + array.Add(value); + } + } + + return array; + } + + protected static object ParseValue(char[] json, ref int index, ref bool success) + { + switch (LookAhead(json, index)) + { + case TOKEN_STRING: + return ParseString(json, ref index, ref success); + case TOKEN_NUMBER: + return ParseNumber(json, ref index, ref success); + case TOKEN_CURLY_OPEN: + return ParseObject(json, ref index, ref success); + case TOKEN_SQUARED_OPEN: + return ParseArray(json, ref index, ref success); + case TOKEN_TRUE: + NextToken(json, ref index); + return true; + case TOKEN_FALSE: + NextToken(json, ref index); + return false; + case TOKEN_NULL: + NextToken(json, ref index); + return null; + case TOKEN_NONE: + break; + } + + success = false; + return null; + } + + protected static string ParseString(char[] json, ref int index, ref bool success) + { + StringBuilder s = new StringBuilder(BUILDER_CAPACITY); + char c; + + EatWhitespace(json, ref index); + + // " + c = json[index++]; + + bool complete = false; + while (!complete) + { + if (index == json.Length) + { + break; + } + + c = json[index++]; + if (c == '"') + { + complete = true; + break; + } + else if (c == '\\') + { + if (index == json.Length) + break; + c = json[index++]; + if (c == '"') + s.Append('"'); + else if (c == '\\') + s.Append('\\'); + else if (c == '/') + s.Append('/'); + else if (c == 'b') + s.Append('\b'); + else if (c == 'f') + s.Append('\f'); + else if (c == 'n') + s.Append('\n'); + else if (c == 'r') + s.Append('\r'); + else if (c == 't') + s.Append('\t'); + else if (c == 'u') + { + int remainingLength = json.Length - index; + if (remainingLength >= 4) + { + // parse the 32 bit hex into an integer codepoint + uint codePoint; + if ( + !(success = + UInt32.TryParse(new string(json, index, 4), NumberStyles.HexNumber, + CultureInfo.InvariantCulture, out codePoint))) + return ""; + + // convert the integer codepoint to a unicode char and add to string + + if (0xD800 <= codePoint && codePoint <= 0xDBFF) // if high surrogate + { + index += 4; // skip 4 chars + remainingLength = json.Length - index; + if (remainingLength >= 6) + { + uint lowCodePoint; + if (new string(json, index, 2) == "\\u" && + UInt32.TryParse(new string(json, index + 2, 4), NumberStyles.HexNumber, + CultureInfo.InvariantCulture, out lowCodePoint)) + { + if (0xDC00 <= lowCodePoint && lowCodePoint <= 0xDFFF) // if low surrogate + { + s.Append((char)codePoint); + s.Append((char)lowCodePoint); + index += 6; // skip 6 chars + continue; + } + } + } + success = false; // invalid surrogate pair + return ""; + } +#if SILVERLIGHT + s.Append(ConvertFromUtf32((int)codePoint)); +#else + s.Append(Char.ConvertFromUtf32((int)codePoint)); +#endif + // skip 4 chars + index += 4; + } + else + break; + } + } + else + s.Append(c); + } + + if (!complete) + { + success = false; + return null; + } + + return s.ToString(); + } + +#if SILVERLIGHT + private static string ConvertFromUtf32(int utf32) + { + // http://www.java2s.com/Open-Source/CSharp/2.6.4-mono-.net-core/System/System/Char.cs.htm + if (utf32 < 0 || utf32 > 0x10FFFF) + throw new ArgumentOutOfRangeException("utf32", "The argument must be from 0 to 0x10FFFF."); + if (0xD800 <= utf32 && utf32 <= 0xDFFF) + throw new ArgumentOutOfRangeException("utf32", "The argument must not be in surrogate pair range."); + if (utf32 < 0x10000) + return new string((char)utf32, 1); + utf32 -= 0x10000; + return new string(new char[] {(char) ((utf32 >> 10) + 0xD800),(char) (utf32 % 0x0400 + 0xDC00)}); + } +#endif + + protected static object ParseNumber(char[] json, ref int index, ref bool success) + { + EatWhitespace(json, ref index); + + int lastIndex = GetLastIndexOfNumber(json, index); + int charLength = (lastIndex - index) + 1; + + object returnNumber; + string str = new string(json, index, charLength); + if (str.IndexOf(".", StringComparison.OrdinalIgnoreCase) != -1 || str.IndexOf("e", StringComparison.OrdinalIgnoreCase) != -1) + { + double number; + success = double.TryParse(new string(json, index, charLength), NumberStyles.Any, CultureInfo.InvariantCulture, out number); + returnNumber = number; + } + else + { + long number; + success = long.TryParse(new string(json, index, charLength), NumberStyles.Any, CultureInfo.InvariantCulture, out number); + returnNumber = number; + } + + index = lastIndex + 1; + return returnNumber; + } + + protected static int GetLastIndexOfNumber(char[] json, int index) + { + int lastIndex; + + for (lastIndex = index; lastIndex < json.Length; lastIndex++) + if ("0123456789+-.eE".IndexOf(json[lastIndex]) == -1) break; + return lastIndex - 1; + } + + protected static void EatWhitespace(char[] json, ref int index) + { + for (; index < json.Length; index++) + if (" \t\n\r\b\f".IndexOf(json[index]) == -1) break; + } + + protected static int LookAhead(char[] json, int index) + { + int saveIndex = index; + return NextToken(json, ref saveIndex); + } + + protected static int NextToken(char[] json, ref int index) + { + EatWhitespace(json, ref index); + + if (index == json.Length) + return TOKEN_NONE; + + char c = json[index]; + index++; + switch (c) + { + case '{': + return TOKEN_CURLY_OPEN; + case '}': + return TOKEN_CURLY_CLOSE; + case '[': + return TOKEN_SQUARED_OPEN; + case ']': + return TOKEN_SQUARED_CLOSE; + case ',': + return TOKEN_COMMA; + case '"': + return TOKEN_STRING; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case '-': + return TOKEN_NUMBER; + case ':': + return TOKEN_COLON; + } + index--; + + int remainingLength = json.Length - index; + + // false + if (remainingLength >= 5) + { + if (json[index] == 'f' && + json[index + 1] == 'a' && + json[index + 2] == 'l' && + json[index + 3] == 's' && + json[index + 4] == 'e') + { + index += 5; + return TOKEN_FALSE; + } + } + + // true + if (remainingLength >= 4) + { + if (json[index] == 't' && + json[index + 1] == 'r' && + json[index + 2] == 'u' && + json[index + 3] == 'e') + { + index += 4; + return TOKEN_TRUE; + } + } + + // null + if (remainingLength >= 4) + { + if (json[index] == 'n' && + json[index + 1] == 'u' && + json[index + 2] == 'l' && + json[index + 3] == 'l') + { + index += 4; + return TOKEN_NULL; + } + } + + return TOKEN_NONE; + } + + protected static bool SerializeValue(IJsonSerializerStrategy jsonSerializerStrategy, object value, StringBuilder builder) + { + bool success = true; + + if (value is string) + success = SerializeString((string)value, builder); + else if (value is IDictionary) + { + IDictionary dict = (IDictionary)value; + success = SerializeObject(jsonSerializerStrategy, dict.Keys, dict.Values, builder); + } + else if (value is IDictionary) + { + IDictionary dict = (IDictionary)value; + success = SerializeObject(jsonSerializerStrategy, dict.Keys, dict.Values, builder); + } + else if (value is IEnumerable) + success = SerializeArray(jsonSerializerStrategy, (IEnumerable)value, builder); + else if (IsNumeric(value)) + success = SerializeNumber(Convert.ToDouble(value), builder); + else if (value is Boolean) + builder.Append((bool)value ? "true" : "false"); + else if (value == null) + builder.Append("null"); + else + { + object serializedObject; + success = jsonSerializerStrategy.SerializeNonPrimitiveObject(value, out serializedObject); + if (success) + SerializeValue(jsonSerializerStrategy, serializedObject, builder); + } + + return success; + } + + protected static bool SerializeObject(IJsonSerializerStrategy jsonSerializerStrategy, IEnumerable keys, IEnumerable values, StringBuilder builder) + { + builder.Append("{"); + + IEnumerator ke = keys.GetEnumerator(); + IEnumerator ve = values.GetEnumerator(); + + bool first = true; + while (ke.MoveNext() && ve.MoveNext()) + { + object key = ke.Current; + object value = ve.Current; + + if (!first) + builder.Append(","); + + if (key is string) + SerializeString((string)key, builder); + else + if (!SerializeValue(jsonSerializerStrategy, value, builder)) return false; + + builder.Append(":"); + if (!SerializeValue(jsonSerializerStrategy, value, builder)) + return false; + + first = false; + } + + builder.Append("}"); + return true; + } + + protected static bool SerializeArray(IJsonSerializerStrategy jsonSerializerStrategy, IEnumerable anArray, StringBuilder builder) + { + builder.Append("["); + + bool first = true; + foreach (object value in anArray) + { + if (!first) + builder.Append(","); + + if (!SerializeValue(jsonSerializerStrategy, value, builder)) + return false; + + first = false; + } + + builder.Append("]"); + return true; + } + + protected static bool SerializeString(string aString, StringBuilder builder) + { + builder.Append("\""); + + char[] charArray = aString.ToCharArray(); + for (int i = 0; i < charArray.Length; i++) + { + char c = charArray[i]; + if (c == '"') + builder.Append("\\\""); + else if (c == '\\') + builder.Append("\\\\"); + else if (c == '\b') + builder.Append("\\b"); + else if (c == '\f') + builder.Append("\\f"); + else if (c == '\n') + builder.Append("\\n"); + else if (c == '\r') + builder.Append("\\r"); + else if (c == '\t') + builder.Append("\\t"); + else + builder.Append(c); + } + + builder.Append("\""); + return true; + } + + protected static bool SerializeNumber(double number, StringBuilder builder) + { + builder.Append(Convert.ToString(number, CultureInfo.InvariantCulture)); + return true; + } + + /// + /// Determines if a given object is numeric in any way + /// (can be integer, double, null, etc). + /// + protected static bool IsNumeric(object value) + { + if (value is sbyte) return true; + if (value is byte) return true; + if (value is short) return true; + if (value is ushort) return true; + if (value is int) return true; + if (value is uint) return true; + if (value is long) return true; + if (value is ulong) return true; + if (value is float) return true; + if (value is double) return true; + if (value is decimal) return true; + return false; + } + + private static IJsonSerializerStrategy currentJsonSerializerStrategy; + public static IJsonSerializerStrategy CurrentJsonSerializerStrategy + { + get + { + // todo: implement locking mechanism. + return currentJsonSerializerStrategy ?? + (currentJsonSerializerStrategy = +#if SIMPLE_JSON_DATACONTRACT + DataContractJsonSerializerStrategy +#else + PocoJsonSerializerStrategy +#endif +); + } + + set + { + currentJsonSerializerStrategy = value; + } + } + + private static PocoJsonSerializerStrategy pocoJsonSerializerStrategy; + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)] + public static PocoJsonSerializerStrategy PocoJsonSerializerStrategy + { + get + { + // todo: implement locking mechanism. + return pocoJsonSerializerStrategy ?? (pocoJsonSerializerStrategy = new PocoJsonSerializerStrategy()); + } + } + +#if SIMPLE_JSON_DATACONTRACT + + private static DataContractJsonSerializerStrategy dataContractJsonSerializerStrategy; + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)] + public static DataContractJsonSerializerStrategy DataContractJsonSerializerStrategy + { + get + { + // todo: implement locking mechanism. + return dataContractJsonSerializerStrategy ?? (dataContractJsonSerializerStrategy = new DataContractJsonSerializerStrategy()); + } + } + +#endif + } + + #endregion + + #region Simple Json Serializer Strategies + +#if SIMPLE_JSON_INTERNAL + internal +#else + public +#endif + interface IJsonSerializerStrategy + { + bool SerializeNonPrimitiveObject(object input, out object output); + + object DeserializeObject(object value, Type type); + } + +#if SIMPLE_JSON_INTERNAL + internal +#else + public +#endif + class PocoJsonSerializerStrategy : IJsonSerializerStrategy + { + internal CacheResolver CacheResolver; + + public PocoJsonSerializerStrategy() + { + CacheResolver = new CacheResolver(BuildMap); + } + + protected virtual void BuildMap(Type type, SafeDictionary memberMaps) + { + foreach (PropertyInfo info in type.GetProperties(BindingFlags.Instance | BindingFlags.Public)) + memberMaps.Add(info.Name, new CacheResolver.MemberMap(info)); + foreach (FieldInfo info in type.GetFields(BindingFlags.Public | BindingFlags.Instance)) + memberMaps.Add(info.Name, new CacheResolver.MemberMap(info)); + } + + public virtual bool SerializeNonPrimitiveObject(object input, out object output) + { + return TrySerializeKnownTypes(input, out output) || TrySerializeUnknownTypes(input, out output); + } + + public virtual object DeserializeObject(object value, Type type) + { + if (value is string || value is bool) + return value; + else if (value == null) + return null; + else if ((value is long && type == typeof(long)) || (value is double && type == typeof(double))) + return value; + else if ((value is double && type != typeof(double)) || (value is long && type != typeof(long))) + return typeof(IConvertible).IsAssignableFrom(type) ? Convert.ChangeType(value, type, CultureInfo.InvariantCulture) : value; + + object obj = null; + + if (value is IDictionary) + { + IDictionary jsonObject = (IDictionary)value; + + if (ReflectionUtils.IsTypeDictionary(type)) + { + // if dictionary then + Type keyType = type.GetGenericArguments()[0]; + Type valueType = type.GetGenericArguments()[1]; + Type genericType = typeof(Dictionary<,>).MakeGenericType(keyType, valueType); + IDictionary dict = (IDictionary)CacheResolver.GetNewInstance(genericType); + + foreach (KeyValuePair kvp in jsonObject) + { + dict.Add(kvp.Key, DeserializeObject(kvp.Value, valueType)); + } + + obj = dict; + } + else + { + obj = CacheResolver.GetNewInstance(type); + SafeDictionary maps = CacheResolver.LoadMaps(type); + + foreach (KeyValuePair keyValuePair in maps) + { + CacheResolver.MemberMap v = keyValuePair.Value; + if (v.Setter == null) + continue; + + string jsonKey = keyValuePair.Key; + if (jsonObject.ContainsKey(jsonKey)) + { + object jsonValue = DeserializeObject(jsonObject[jsonKey], v.Type); + v.Setter(obj, jsonValue); + } + } + } + } + else if (value is IList) + { + IList jsonObject = (IList)value; + IList list = null; + + if (type.IsArray) + { + list = (IList)Activator.CreateInstance(type, jsonObject.Count); + int i = 0; + foreach (object o in jsonObject) + list[i++] = DeserializeObject(o, type.GetElementType()); + } + else if (ReflectionUtils.IsTypeGenericeCollectionInterface(type) || typeof(IList).IsAssignableFrom(type)) + { + Type innerType = type.GetGenericArguments()[0]; + Type genericType = typeof(List<>).MakeGenericType(innerType); + list = (IList)CacheResolver.GetNewInstance(genericType); + foreach (object o in jsonObject) + list.Add(DeserializeObject(o, innerType)); + } + + obj = list; + } + + return obj; + } + + protected virtual object SerializeEnum(Enum p) + { + return Convert.ToDouble(p); + } + + protected virtual bool TrySerializeKnownTypes(object input, out object output) + { + bool returnValue = true; + if (input is DateTime) + output = ((DateTime)input).ToString("o"); + else if (input is Guid) + output = ((Guid)input).ToString("D"); + else if (input is Uri) + output = input.ToString(); + else if (input is Enum) + output = SerializeEnum((Enum)input); + else + { + returnValue = false; + output = null; + } + + return returnValue; + } + + protected virtual bool TrySerializeUnknownTypes(object input, out object output) + { + output = null; + + // todo: implement caching for types + Type type = input.GetType(); + + if (type.FullName == null) + return false; + + IDictionary obj = new JsonObject(); + + SafeDictionary maps = CacheResolver.LoadMaps(type); + + foreach (KeyValuePair keyValuePair in maps) + { + if (keyValuePair.Value.Getter != null) + obj.Add(keyValuePair.Key, keyValuePair.Value.Getter(input)); + } + + output = obj; + return true; + } + } + +#if SIMPLE_JSON_DATACONTRACT +#if SIMPLE_JSON_INTERNAL + internal +#else + public +#endif + class DataContractJsonSerializerStrategy : PocoJsonSerializerStrategy + { + public DataContractJsonSerializerStrategy() + { + CacheResolver = new CacheResolver(BuildMap); + } + + protected override void BuildMap(Type type, SafeDictionary map) + { + bool hasDataContract = ReflectionUtils.GetAttribute(type, typeof(DataContractAttribute)) != null; + if (!hasDataContract) + { + base.BuildMap(type, map); + return; + } + + string jsonKey; + + foreach (PropertyInfo info in type.GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)) + { + if (CanAdd(info, out jsonKey)) + map.Add(jsonKey, new CacheResolver.MemberMap(info)); + } + + foreach (FieldInfo info in type.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)) + { + if (CanAdd(info, out jsonKey)) + map.Add(jsonKey, new CacheResolver.MemberMap(info)); + } + + // todo implement sorting for DATACONTRACT. + } + + private static bool CanAdd(MemberInfo info, out string jsonKey) + { + jsonKey = null; + + if (ReflectionUtils.GetAttribute(info, typeof(IgnoreDataMemberAttribute)) != null) + return false; + + DataMemberAttribute dataMemberAttribute = (DataMemberAttribute)ReflectionUtils.GetAttribute(info, typeof(DataMemberAttribute)); + + if (dataMemberAttribute == null) + return false; + + jsonKey = string.IsNullOrEmpty(dataMemberAttribute.Name) ? info.Name : dataMemberAttribute.Name; + return true; + } + } +#endif + + #endregion + + #region Reflection helpers + + namespace Reflection + { +#if SIMPLE_JSON_INTERNAL + internal +#else + public +#endif + class ReflectionUtils + { + public static Attribute GetAttribute(MemberInfo info, Type type) + { + if (info == null || type == null || !Attribute.IsDefined(info, type)) + return null; + + return Attribute.GetCustomAttribute(info, type); + } + + public static Attribute GetAttribute(Type objectType, Type attributeType) + { + if (objectType == null || attributeType == null || !Attribute.IsDefined(objectType, attributeType)) + return null; + + return Attribute.GetCustomAttribute(objectType, attributeType); + } + + public static bool IsTypeGenericeCollectionInterface(Type type) + { + if (!type.IsGenericType) + return false; + + Type genericDefinition = type.GetGenericTypeDefinition(); + + return (genericDefinition == typeof(IList<>) || genericDefinition == typeof(ICollection<>) || genericDefinition == typeof(IEnumerable<>)); + } + + public static bool IsTypeDictionary(Type type) + { + if (typeof(IDictionary).IsAssignableFrom(type)) + return true; + + if (!type.IsGenericType) + return false; + + Type genericDefinition = type.GetGenericTypeDefinition(); + return genericDefinition == typeof(IDictionary<,>); + } + } + + /*********************/ +#if SIMPLE_JSON_INTERNAL + internal +#else + public +#endif + delegate object GetHandler(object source); + +#if SIMPLE_JSON_INTERNAL + internal +#else + public +#endif + delegate void SetHandler(object source, object value); + +#if SIMPLE_JSON_INTERNAL + internal +#else + public +#endif + delegate void MemberMapLoader(Type type, SafeDictionary memberMaps); + +#if SIMPLE_JSON_INTERNAL + internal +#else + public +#endif + class CacheResolver + { + private readonly MemberMapLoader _memberMapLoader; + private readonly SafeDictionary> _memberMapsCache = new SafeDictionary>(); + + delegate object CtorDelegate(); + readonly static SafeDictionary ConstructorCache = new SafeDictionary(); + + public CacheResolver(MemberMapLoader memberMapLoader) + { + _memberMapLoader = memberMapLoader; + } + + public static object GetNewInstance(Type type) + { + CtorDelegate c; + if (ConstructorCache.TryGetValue(type, out c)) + return c(); +#if SIMPLE_JSON_REFLECTIONEMIT + DynamicMethod dynamicMethod = new DynamicMethod("Create" + type.FullName, typeof(object), Type.EmptyTypes, type, true); + dynamicMethod.InitLocals = true; + ILGenerator generator = dynamicMethod.GetILGenerator(); + if (type.IsValueType) + { + generator.DeclareLocal(type); + generator.Emit(OpCodes.Ldloc_0); + generator.Emit(OpCodes.Box, type); + } + else + { + ConstructorInfo constructorInfo = type.GetConstructor(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance, null, Type.EmptyTypes, null); + if (constructorInfo == null) + throw new Exception(string.Format("Could not get constructor for {0}.", type)); + generator.Emit(OpCodes.Newobj, constructorInfo); + } + generator.Emit(OpCodes.Ret); + c = (CtorDelegate)dynamicMethod.CreateDelegate(typeof(CtorDelegate)); + ConstructorCache.Add(type, c); + return c(); +#else + ConstructorInfo constructorInfo = type.GetConstructor(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance, null, Type.EmptyTypes, null); + c = delegate { return constructorInfo.Invoke(null); }; + ConstructorCache.Add(type, c); + return c(); +#endif + } + + public SafeDictionary LoadMaps(Type type) + { + if (type == null || type == typeof(object)) + return null; + SafeDictionary maps; + if (_memberMapsCache.TryGetValue(type, out maps)) + return maps; + maps = new SafeDictionary(); + _memberMapLoader(type, maps); + _memberMapsCache.Add(type, maps); + return maps; + } + +#if SIMPLE_JSON_REFLECTIONEMIT + static DynamicMethod CreateDynamicMethod(string name, Type returnType, Type[] parameterTypes, Type owner) + { + DynamicMethod dynamicMethod = !owner.IsInterface + ? new DynamicMethod(name, returnType, parameterTypes, owner, true) + : new DynamicMethod(name, returnType, parameterTypes, (Module)null, true); + + return dynamicMethod; + } +#endif + + static GetHandler CreateGetHandler(FieldInfo fieldInfo) + { +#if SIMPLE_JSON_REFLECTIONEMIT + Type type = fieldInfo.FieldType; + DynamicMethod dynamicGet = CreateDynamicMethod("Get" + fieldInfo.Name, fieldInfo.DeclaringType, new Type[] { typeof(object) }, fieldInfo.DeclaringType); + ILGenerator getGenerator = dynamicGet.GetILGenerator(); + + getGenerator.Emit(OpCodes.Ldarg_0); + getGenerator.Emit(OpCodes.Ldfld, fieldInfo); + if (type.IsValueType) + getGenerator.Emit(OpCodes.Box, type); + getGenerator.Emit(OpCodes.Ret); + + return (GetHandler)dynamicGet.CreateDelegate(typeof(GetHandler)); +#else + return delegate(object instance) { return fieldInfo.GetValue(instance); }; +#endif + } + + static SetHandler CreateSetHandler(FieldInfo fieldInfo) + { + if (fieldInfo.IsInitOnly || fieldInfo.IsLiteral) + return null; +#if SIMPLE_JSON_REFLECTIONEMIT + Type type = fieldInfo.FieldType; + DynamicMethod dynamicSet = CreateDynamicMethod("Set" + fieldInfo.Name, null, new Type[] { typeof(object), typeof(object) }, fieldInfo.DeclaringType); + ILGenerator setGenerator = dynamicSet.GetILGenerator(); + + setGenerator.Emit(OpCodes.Ldarg_0); + setGenerator.Emit(OpCodes.Ldarg_1); + if (type.IsValueType) + setGenerator.Emit(OpCodes.Unbox_Any, type); + setGenerator.Emit(OpCodes.Stfld, fieldInfo); + setGenerator.Emit(OpCodes.Ret); + + return (SetHandler)dynamicSet.CreateDelegate(typeof(SetHandler)); +#else + return delegate(object instance, object value) { fieldInfo.SetValue(instance, value); }; +#endif + } + + static GetHandler CreateGetHandler(PropertyInfo propertyInfo) + { + MethodInfo getMethodInfo = propertyInfo.GetGetMethod(true); + if (getMethodInfo == null) + return null; +#if SIMPLE_JSON_REFLECTIONEMIT + Type type = propertyInfo.PropertyType; + DynamicMethod dynamicGet = CreateDynamicMethod("Get" + propertyInfo.Name, propertyInfo.DeclaringType, new Type[] { typeof(object) }, propertyInfo.DeclaringType); + ILGenerator getGenerator = dynamicGet.GetILGenerator(); + + getGenerator.Emit(OpCodes.Ldarg_0); + getGenerator.Emit(OpCodes.Call, getMethodInfo); + if (type.IsValueType) + getGenerator.Emit(OpCodes.Box, type); + getGenerator.Emit(OpCodes.Ret); + + return (GetHandler)dynamicGet.CreateDelegate(typeof(GetHandler)); +#else + return delegate(object instance) { return getMethodInfo.Invoke(instance, Type.EmptyTypes); }; +#endif + } + + static SetHandler CreateSetHandler(PropertyInfo propertyInfo) + { + MethodInfo setMethodInfo = propertyInfo.GetSetMethod(true); + if (setMethodInfo == null) + return null; +#if SIMPLE_JSON_REFLECTIONEMIT + Type type = propertyInfo.PropertyType; + DynamicMethod dynamicSet = CreateDynamicMethod("Set" + propertyInfo.Name, null, new Type[] { typeof(object), typeof(object) }, propertyInfo.DeclaringType); + ILGenerator setGenerator = dynamicSet.GetILGenerator(); + + setGenerator.Emit(OpCodes.Ldarg_0); + setGenerator.Emit(OpCodes.Ldarg_1); + if (type.IsValueType) + setGenerator.Emit(OpCodes.Unbox_Any, type); + setGenerator.Emit(OpCodes.Call, setMethodInfo); + setGenerator.Emit(OpCodes.Ret); + return (SetHandler)dynamicSet.CreateDelegate(typeof(SetHandler)); +#else + return delegate(object instance, object value) { setMethodInfo.Invoke(instance, new[] { value }); }; +#endif + } + +#if SIMPLE_JSON_INTERNAL + internal +#else + public +#endif + sealed class MemberMap + { + public readonly MemberInfo MemberInfo; + public readonly Type Type; + public readonly GetHandler Getter; + public readonly SetHandler Setter; + + public MemberMap(PropertyInfo propertyInfo) + { + MemberInfo = propertyInfo; + Type = propertyInfo.PropertyType; + Getter = CreateGetHandler(propertyInfo); + Setter = CreateSetHandler(propertyInfo); + } + + public MemberMap(FieldInfo fieldInfo) + { + MemberInfo = fieldInfo; + Type = fieldInfo.FieldType; + Getter = CreateGetHandler(fieldInfo); + Setter = CreateSetHandler(fieldInfo); + } + } + } + +#if SIMPLE_JSON_INTERNAL + internal +#else + public +#endif + class SafeDictionary + { + private readonly object _padlock = new object(); + private readonly Dictionary _dictionary = new Dictionary(); + + public bool TryGetValue(TKey key, out TValue value) + { + return _dictionary.TryGetValue(key, out value); + } + + public TValue this[TKey key] + { + get { return _dictionary[key]; } + } + + public IEnumerator> GetEnumerator() + { + return ((ICollection>)_dictionary).GetEnumerator(); + } + + public void Add(TKey key, TValue value) + { + lock (_padlock) + { + if (_dictionary.ContainsKey(key) == false) + _dictionary.Add(key, value); + } + } + } + } + + #endregion +} \ No newline at end of file diff --git a/SimpleSpeedTester.Example/SimpleSpeedTester.Example.csproj b/SimpleSpeedTester.Example/SimpleSpeedTester.Example.csproj new file mode 100644 index 0000000..720b214 --- /dev/null +++ b/SimpleSpeedTester.Example/SimpleSpeedTester.Example.csproj @@ -0,0 +1,108 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {7ADA7026-5757-4E93-AC72-D7E69DC08433} + Exe + Properties + SimlpeSpeedTester.Example + SimlpeSpeedTester.Example + v4.0 + + + 512 + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\jayrock-json.0.9.12915\lib\net4\Jayrock.Json.dll + + + ..\packages\JsonFx.2.0.1106.2610\lib\net40\JsonFx.dll + + + ..\Lib\MessageShark\Release\MessageShark.dll + + + ..\packages\MsgPack.0.1.0.2011042300\lib\net40\MsgPack.dll + + + ..\packages\Newtonsoft.Json.4.5.7\lib\net40\Newtonsoft.Json.dll + + + False + ..\packages\protobuf-net.2.0.0.480\lib\net40\protobuf-net.dll + + + False + ..\packages\ServiceStack.Text.3.9.2\lib\net35\ServiceStack.Text.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + {207E91B1-C9F8-4913-88E1-3549EF5F3273} + fastJSON + + + {87B76A3E-3932-47F1-924D-C80A1AE92787} + SimpleSpeedTester + + + + + + Designer + + + + + \ No newline at end of file diff --git a/SimpleSpeedTester.Example/app.config b/SimpleSpeedTester.Example/app.config new file mode 100644 index 0000000..e365603 --- /dev/null +++ b/SimpleSpeedTester.Example/app.config @@ -0,0 +1,3 @@ + + + diff --git a/SimpleSpeedTester.Example/packages.config b/SimpleSpeedTester.Example/packages.config new file mode 100644 index 0000000..4dede6e --- /dev/null +++ b/SimpleSpeedTester.Example/packages.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/SimpleSpeedTester.Tests/BaseTest.cs b/SimpleSpeedTester.Tests/BaseTest.cs new file mode 100644 index 0000000..74040f3 --- /dev/null +++ b/SimpleSpeedTester.Tests/BaseTest.cs @@ -0,0 +1,26 @@ +using System; +using System.Threading; +using SimpleSpeedTester.Core; + +namespace SimpleSpeedTester.Tests +{ + public abstract class BaseTest + { + protected const string TestGroupName = "MyTestGroup"; + protected const string TestName = "MyTestAction"; + + protected static readonly Action DoNothingAction = () => { }; + protected static readonly Action SleepForJustOverOneSecondAction = () => Thread.Sleep(TimeSpan.FromSeconds(1.1)); + protected static readonly Action ExceptAction = () => { throw new ApplicationException(); }; + + protected virtual TestGroup GetTestGroup(string testGroupName = TestGroupName) + { + return new TestGroup(testGroupName); + } + + protected virtual Test GetTest(Action action, int count, string testName = TestName, TestGroup testGroup = null) + { + return new Test(testName, action, count, testGroup ?? GetTestGroup()); + } + } +} diff --git a/SimpleSpeedTester.Tests/Properties/AssemblyInfo.cs b/SimpleSpeedTester.Tests/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..f8b8daa --- /dev/null +++ b/SimpleSpeedTester.Tests/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("SimpleSpeedTester.Tests")] +[assembly: AssemblyDescription("Unit tests for SimpleSpeedTester")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Yan Cui")] +[assembly: AssemblyProduct("SimpleSpeedTester.Tests")] +[assembly: AssemblyCopyright("Copyright © Yan Cui 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("3cf1d997-8ad2-490a-bc99-ea63789e587e")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/SimpleSpeedTester.Tests/SimpleSpeedTester.Tests.csproj b/SimpleSpeedTester.Tests/SimpleSpeedTester.Tests.csproj new file mode 100644 index 0000000..ddfa708 --- /dev/null +++ b/SimpleSpeedTester.Tests/SimpleSpeedTester.Tests.csproj @@ -0,0 +1,75 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {242130B3-5940-4207-9EF8-476C8FF2FCDA} + Library + Properties + SimpleSpeedTester.Tests + SimpleSpeedTester.Tests + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\NUnit.2.5.10.11092\lib\nunit.framework.dll + + + ..\packages\NUnit.2.5.10.11092\lib\nunit.mocks.dll + + + ..\packages\NUnit.2.5.10.11092\lib\pnunit.framework.dll + + + + + + + + + + + + + + + + + + + + + + {87B76A3E-3932-47F1-924D-C80A1AE92787} + SimpleSpeedTester + + + + + \ No newline at end of file diff --git a/SimpleSpeedTester.Tests/TestActionTest.cs b/SimpleSpeedTester.Tests/TestActionTest.cs new file mode 100644 index 0000000..03b07fd --- /dev/null +++ b/SimpleSpeedTester.Tests/TestActionTest.cs @@ -0,0 +1,98 @@ +using System; +using NUnit.Framework; +using SimpleSpeedTester.Core; + +namespace SimpleSpeedTester.Tests +{ + [TestFixture] + public class TestActionTest : BaseTest + { + [Test] + [ExpectedException(typeof(ArgumentException))] + public void TestNullActionName() + { + new Test(null, DoNothingAction, 1, GetTestGroup()); + } + + [Test] + [ExpectedException(typeof(ArgumentException))] + public void TestEmptyActionName() + { + new Test(string.Empty, DoNothingAction, 1, GetTestGroup()); + } + + [Test] + [ExpectedException(typeof(ArgumentNullException))] + public void TestNullActionDelegate() + { + new Test(TestName, null, 1, GetTestGroup()); + } + + [Test] + [ExpectedException(typeof(ArgumentOutOfRangeException))] + public void TestInvalidExecCount() + { + new Test(TestName, DoNothingAction, 0, GetTestGroup()); + } + + [Test] + [ExpectedException(typeof(ArgumentNullException))] + public void TestNullTestGroup() + { + new Test(TestName, DoNothingAction, 1, null); + } + + [Test] + public void TestExecuteWithNoException() + { + var testAction = new Test(TestName, SleepForJustOverOneSecondAction, 1, GetTestGroup()); + + var start = DateTime.UtcNow; + + var outcome = testAction.Execute(); + + var end = DateTime.UtcNow; + var elapsed = end - start; + + // make sure the recorded and actual elapsed time are both just over 1 second + Assert.IsTrue(elapsed >= TimeSpan.FromSeconds(1)); + Assert.IsTrue(outcome.Elapsed >= TimeSpan.FromSeconds(1)); + + // make sure no exception was thrown + Assert.IsNull(outcome.Exception); + } + + [Test] + public void TestExecuteWithException() + { + var testAction = GetTest(ExceptAction, 1); + + var start = DateTime.UtcNow; + + var outcome = testAction.Execute(); + + var end = DateTime.UtcNow; + var elapsed = end - start; + + // make sure the recorded and actual elapsed time are both less than 1 second + Assert.IsTrue(elapsed.TotalSeconds < 1); + Assert.IsTrue(outcome.Elapsed.TotalSeconds < 1); + + Assert.IsNotNull(outcome.Exception); + Assert.IsInstanceOf(typeof(ApplicationException), outcome.Exception); + } + + [Test] + public void TestGetResult() + { + var testAction = GetTest(DoNothingAction, 10); + + var result = testAction.GetResult(); + + Assert.IsNotNull(result); + Assert.IsNotNull(result.Outcomes); + Assert.AreEqual(10, result.Outcomes.Count); + Assert.AreEqual(testAction, result.Test); + } + } +} diff --git a/SimpleSpeedTester.Tests/TestGroupTest.cs b/SimpleSpeedTester.Tests/TestGroupTest.cs new file mode 100644 index 0000000..0d32c89 --- /dev/null +++ b/SimpleSpeedTester.Tests/TestGroupTest.cs @@ -0,0 +1,218 @@ +using System; +using System.Linq; +using System.Threading; +using NUnit.Framework; +using SimpleSpeedTester.Core; +using SimpleSpeedTester.Core.OutcomeFilters; + +namespace SimpleSpeedTester.Tests +{ + [TestFixture] + public class TestGroupTest : BaseTest + { + [Test] + [ExpectedException(typeof(ArgumentException))] + public void TestNullTestGroupName() + { + new TestGroup(null); + } + + [Test] + [ExpectedException(typeof(ArgumentException))] + public void TestEmptyTestGroupName() + { + new TestGroup(string.Empty); + } + + [Test] + public void TestValidTestGroupName() + { + new TestGroup("MyTestGroup"); + } + + [Test] + public void TestPlan() + { + int onNewTestOutcomeEvents = 0, + onNewTestResultEvents = 0, + onNewTestResultSummaryEvents = 0; + + var testGroup = GetTestGroup(); + testGroup.OnNewTestOutcome += (s, e) => onNewTestOutcomeEvents++; + testGroup.OnNewTestResult += (s, e) => onNewTestResultEvents++; + testGroup.OnNewTestResultSummary += (s, e) => onNewTestResultSummaryEvents++; + + var testAction = testGroup.Plan(TestName, DoNothingAction, 1); + + Assert.IsNotNull(testAction); + Assert.AreEqual(TestName, testAction.Name); + Assert.AreEqual(testGroup, testAction.TestGroup); + + // no event should be fired before the test is executed + Assert.AreEqual(0, onNewTestOutcomeEvents); + Assert.AreEqual(0, onNewTestResultEvents); + Assert.AreEqual(0, onNewTestResultSummaryEvents); + + var testResult = testAction.GetResult(); + + // new test outcome and new test result have been fired + Assert.AreEqual(1, onNewTestOutcomeEvents); + Assert.AreEqual(1, onNewTestResultEvents); + Assert.AreEqual(0, onNewTestResultSummaryEvents); + + testResult.GetSummary(); + + // new test result summary is fired as well + Assert.AreEqual(1, onNewTestOutcomeEvents); + Assert.AreEqual(1, onNewTestResultEvents); + Assert.AreEqual(1, onNewTestResultSummaryEvents); + } + + [Test] + public void TestPlanWithData() + { + int onNewTestOutcomeEvents = 0, + onNewTestResultEvents = 0, + onNewTestResultSummaryEvents = 0; + + var testGroup = GetTestGroup(); + testGroup.OnNewTestOutcome += (s, e) => onNewTestOutcomeEvents++; + testGroup.OnNewTestResult += (s, e) => onNewTestResultEvents++; + testGroup.OnNewTestResultSummary += (s, e) => onNewTestResultSummaryEvents++; + + var testAction = testGroup.Plan(TestName, i => Thread.Sleep(TimeSpan.FromSeconds(i)), 1.1, 3); + + // no event should have been fired yet + Assert.AreEqual(0, onNewTestOutcomeEvents); + Assert.AreEqual(0, onNewTestResultEvents); + Assert.AreEqual(0, onNewTestResultSummaryEvents); + + var start = DateTime.UtcNow; + var testResult = testAction.GetResult(); + var end = DateTime.UtcNow; + + Assert.IsTrue((end - start).TotalSeconds >= 3); + Assert.AreEqual(3, testResult.Outcomes.Count); + + // events should have been fired for new test outcome and new test result + Assert.AreEqual(3, onNewTestOutcomeEvents); + Assert.AreEqual(1, onNewTestResultEvents); + Assert.AreEqual(0, onNewTestResultSummaryEvents); + + testResult.GetSummary(); + Assert.AreEqual(3, onNewTestOutcomeEvents); + Assert.AreEqual(1, onNewTestResultEvents); + Assert.AreEqual(1, onNewTestResultSummaryEvents); + } + + [Test] + public void TestPlanAndExecuteWithDefaultOutcomeFilter() + { + int onNewTestOutcomeEvents = 0, + onNewTestResultEvents = 0, + onNewTestResultSummaryEvents = 0; + + var testGroup = GetTestGroup(); + testGroup.OnNewTestOutcome += (s, e) => onNewTestOutcomeEvents++; + testGroup.OnNewTestResult += (s, e) => onNewTestResultEvents++; + testGroup.OnNewTestResultSummary += (s, e) => onNewTestResultSummaryEvents++; + + var start = DateTime.UtcNow; + var testSummary = testGroup.PlanAndExecute(TestName, SleepForJustOverOneSecondAction, 3); + var end = DateTime.UtcNow; + + Assert.IsTrue((end - start).TotalSeconds >= 3); + Assert.AreEqual(3, testSummary.Successes); + Assert.AreEqual(0, testSummary.Failures); + + // we should end up with an average exec time of 1.1s + Assert.IsTrue(testSummary.AverageExecutionTime >= TimeSpan.FromSeconds(1).TotalMilliseconds); + Assert.IsTrue(testSummary.AverageExecutionTime < TimeSpan.FromSeconds(1.2).TotalMilliseconds); + + Assert.IsNotNull(testSummary.TestResult); + Assert.IsNotNull(testSummary.TestResult.Test); + Assert.AreEqual(testGroup, testSummary.TestResult.Test.TestGroup); + + Assert.AreEqual(3, onNewTestOutcomeEvents); + Assert.AreEqual(1, onNewTestResultEvents); + Assert.AreEqual(1, onNewTestResultSummaryEvents); + } + + [Test] + public void TestPlanAndExecuteWithExcludeMinAndMaxOutcomeFilter() + { + int onNewTestOutcomeEvents = 0, + onNewTestResultEvents = 0, + onNewTestResultSummaryEvents = 0; + + var testGroup = GetTestGroup(); + testGroup.OnNewTestOutcome += (s, e) => onNewTestOutcomeEvents++; + testGroup.OnNewTestResult += (s, e) => onNewTestResultEvents++; + testGroup.OnNewTestResultSummary += (s, e) => onNewTestResultSummaryEvents++; + + var sleepTimes = new[] { 1.1, 2.1, 5.1 }; + var index = 0; + + var start = DateTime.UtcNow; + var testSummary = testGroup.PlanAndExecute( + TestName, + () => Thread.Sleep(TimeSpan.FromSeconds(sleepTimes[index++])), + 3, + new ExcludeMinAndMaxTestOutcomeFilter()); + var end = DateTime.UtcNow; + + Assert.IsTrue((end - start).TotalSeconds >= 8); + Assert.AreEqual(3, testSummary.Successes); + Assert.AreEqual(0, testSummary.Failures); + + // once the min and max exec times are ignored, we should end up with an average exec time + // of 2.1s + Assert.IsTrue(testSummary.AverageExecutionTime >= TimeSpan.FromSeconds(2).TotalMilliseconds); + Assert.IsTrue(testSummary.AverageExecutionTime < TimeSpan.FromSeconds(2.2).TotalMilliseconds); + + Assert.IsNotNull(testSummary.TestResult); + Assert.IsNotNull(testSummary.TestResult.Test); + Assert.AreEqual(testGroup, testSummary.TestResult.Test.TestGroup); + + Assert.AreEqual(3, onNewTestOutcomeEvents); + Assert.AreEqual(1, onNewTestResultEvents); + Assert.AreEqual(1, onNewTestResultSummaryEvents); + } + + [Test] + public void TestGetPlannedTests() + { + var testGroup = GetTestGroup(); + var testAction = testGroup.Plan(TestName, DoNothingAction, 1); + + var plannedTests = testGroup.GetPlannedTests(); + Assert.IsNotNull(plannedTests); + Assert.AreEqual(1, plannedTests.Count); + Assert.AreEqual(testAction, plannedTests.First()); + + testGroup.Plan(TestName, DoNothingAction, 1); + plannedTests = testGroup.GetPlannedTests(); + Assert.IsNotNull(plannedTests); + Assert.AreEqual(2, plannedTests.Count); + } + + [Test] + public void TestGetTestResults() + { + var testGroup = GetTestGroup(); + var testAction = testGroup.Plan(TestName, DoNothingAction, 10); + + // check that before test is executed, there's no test results + var testResults = testGroup.GetTestResults(); + Assert.IsNotNull(testResults); + Assert.AreEqual(0, testResults.Count); + + // execute the test and check that the result is available + var testResult = testAction.GetResult(); + testResults = testGroup.GetTestResults(); + Assert.IsNotNull(testResults); + Assert.AreEqual(1, testResults.Count); + Assert.AreEqual(testResult, testResults.First()); + } + } +} diff --git a/SimpleSpeedTester.Tests/TestResultTest.cs b/SimpleSpeedTester.Tests/TestResultTest.cs new file mode 100644 index 0000000..454eeb0 --- /dev/null +++ b/SimpleSpeedTester.Tests/TestResultTest.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using NUnit.Framework; +using SimpleSpeedTester.Core; +using SimpleSpeedTester.Core.OutcomeFilters; + +namespace SimpleSpeedTester.Tests +{ + [TestFixture] + public class TestResultTest : BaseTest + { + [Test] + [ExpectedException(typeof(ArgumentNullException))] + public void TestNullTestAction() + { + new TestResult(null, new List()); + } + + [Test] + [ExpectedException(typeof(ArgumentNullException))] + public void TestNullTestActionOutcomes() + { + new TestResult(GetTest(DoNothingAction, 1), null); + } + + [Test] + public void TestGetSummaryWithDefaultOutcomeFilter() + { + // mock up a bunch of fake execution times + var outcomeSeconds = new[] { 1, 5, 6, 7, 21 }; + var outcomes = outcomeSeconds.Select(sec => new TestOutcome(TimeSpan.FromSeconds(sec), null)).ToList(); + + var testActionResult = new TestResult(GetTest(DoNothingAction, 5), outcomes); + var summary = testActionResult.GetSummary(); + + Assert.AreEqual(5, summary.Successes); + Assert.AreEqual(0, summary.Failures); + Assert.AreEqual(TimeSpan.FromSeconds(8).TotalMilliseconds, summary.AverageExecutionTime); + Assert.AreEqual(testActionResult, summary.TestResult); + } + + [Test] + public void TestGetSummaryWithExcludeMinAndMaxOutcomeFilter() + { + // mock up a bunch of fake execution times + var outcomeSeconds = new[] { 1, 5, 6, 7, 11 }; + var outcomes = outcomeSeconds.Select(sec => new TestOutcome(TimeSpan.FromSeconds(sec), null)).ToList(); + + var testActionResult = new TestResult(GetTest(DoNothingAction, 5), outcomes); + var summary = testActionResult.GetSummary(new ExcludeMinAndMaxTestOutcomeFilter()); + + Assert.AreEqual(5, summary.Successes); + Assert.AreEqual(0, summary.Failures); + Assert.AreEqual(TimeSpan.FromSeconds(6).TotalMilliseconds, summary.AverageExecutionTime); + Assert.AreEqual(testActionResult, summary.TestResult); + } + } +} diff --git a/SimpleSpeedTester.Tests/packages.config b/SimpleSpeedTester.Tests/packages.config new file mode 100644 index 0000000..0c82178 --- /dev/null +++ b/SimpleSpeedTester.Tests/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/SimpleSpeedTester.sln b/SimpleSpeedTester.sln new file mode 100644 index 0000000..e2ac712 --- /dev/null +++ b/SimpleSpeedTester.sln @@ -0,0 +1,66 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleSpeedTester", "SimpleSpeedTester\SimpleSpeedTester.csproj", "{87B76A3E-3932-47F1-924D-C80A1AE92787}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleSpeedTester.Example", "SimpleSpeedTester.Example\SimpleSpeedTester.Example.csproj", "{7ADA7026-5757-4E93-AC72-D7E69DC08433}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleSpeedTester.Tests", "SimpleSpeedTester.Tests\SimpleSpeedTester.Tests.csproj", "{242130B3-5940-4207-9EF8-476C8FF2FCDA}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "fastJSON", "fastJSON v1.9.6\fastJSON\fastJSON.csproj", "{207E91B1-C9F8-4913-88E1-3549EF5F3273}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {87B76A3E-3932-47F1-924D-C80A1AE92787}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {87B76A3E-3932-47F1-924D-C80A1AE92787}.Debug|Any CPU.Build.0 = Debug|Any CPU + {87B76A3E-3932-47F1-924D-C80A1AE92787}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {87B76A3E-3932-47F1-924D-C80A1AE92787}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {87B76A3E-3932-47F1-924D-C80A1AE92787}.Debug|x86.ActiveCfg = Debug|Any CPU + {87B76A3E-3932-47F1-924D-C80A1AE92787}.Release|Any CPU.ActiveCfg = Release|Any CPU + {87B76A3E-3932-47F1-924D-C80A1AE92787}.Release|Any CPU.Build.0 = Release|Any CPU + {87B76A3E-3932-47F1-924D-C80A1AE92787}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {87B76A3E-3932-47F1-924D-C80A1AE92787}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {87B76A3E-3932-47F1-924D-C80A1AE92787}.Release|x86.ActiveCfg = Release|Any CPU + {7ADA7026-5757-4E93-AC72-D7E69DC08433}.Debug|Any CPU.ActiveCfg = Debug|x86 + {7ADA7026-5757-4E93-AC72-D7E69DC08433}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {7ADA7026-5757-4E93-AC72-D7E69DC08433}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {7ADA7026-5757-4E93-AC72-D7E69DC08433}.Debug|x86.ActiveCfg = Debug|x86 + {7ADA7026-5757-4E93-AC72-D7E69DC08433}.Debug|x86.Build.0 = Debug|x86 + {7ADA7026-5757-4E93-AC72-D7E69DC08433}.Release|Any CPU.ActiveCfg = Release|x86 + {7ADA7026-5757-4E93-AC72-D7E69DC08433}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {7ADA7026-5757-4E93-AC72-D7E69DC08433}.Release|Mixed Platforms.Build.0 = Release|x86 + {7ADA7026-5757-4E93-AC72-D7E69DC08433}.Release|x86.ActiveCfg = Release|x86 + {7ADA7026-5757-4E93-AC72-D7E69DC08433}.Release|x86.Build.0 = Release|x86 + {242130B3-5940-4207-9EF8-476C8FF2FCDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {242130B3-5940-4207-9EF8-476C8FF2FCDA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {242130B3-5940-4207-9EF8-476C8FF2FCDA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {242130B3-5940-4207-9EF8-476C8FF2FCDA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {242130B3-5940-4207-9EF8-476C8FF2FCDA}.Debug|x86.ActiveCfg = Debug|Any CPU + {242130B3-5940-4207-9EF8-476C8FF2FCDA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {242130B3-5940-4207-9EF8-476C8FF2FCDA}.Release|Any CPU.Build.0 = Release|Any CPU + {242130B3-5940-4207-9EF8-476C8FF2FCDA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {242130B3-5940-4207-9EF8-476C8FF2FCDA}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {242130B3-5940-4207-9EF8-476C8FF2FCDA}.Release|x86.ActiveCfg = Release|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Debug|Any CPU.Build.0 = Debug|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Debug|x86.ActiveCfg = Debug|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Release|Any CPU.ActiveCfg = Release|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Release|Any CPU.Build.0 = Release|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Release|x86.ActiveCfg = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SimpleSpeedTester/Core/Events/NewTestOutcomeEventArgs.cs b/SimpleSpeedTester/Core/Events/NewTestOutcomeEventArgs.cs new file mode 100644 index 0000000..e149555 --- /dev/null +++ b/SimpleSpeedTester/Core/Events/NewTestOutcomeEventArgs.cs @@ -0,0 +1,18 @@ +using System; +using SimpleSpeedTester.Interfaces; + +namespace SimpleSpeedTester.Core.Events +{ + public sealed class NewTestOutcomeEventArgs : EventArgs + { + public NewTestOutcomeEventArgs(ITest test, TestOutcome outcome) + { + Test = test; + Outcome = outcome; + } + + public ITest Test { get; private set; } + + public TestOutcome Outcome { get; private set; } + } +} diff --git a/SimpleSpeedTester/Core/Events/NewTestResultEventArgs.cs b/SimpleSpeedTester/Core/Events/NewTestResultEventArgs.cs new file mode 100644 index 0000000..450d96a --- /dev/null +++ b/SimpleSpeedTester/Core/Events/NewTestResultEventArgs.cs @@ -0,0 +1,18 @@ +using System; +using SimpleSpeedTester.Interfaces; + +namespace SimpleSpeedTester.Core.Events +{ + public sealed class NewTestResultEventArgs : EventArgs + { + public NewTestResultEventArgs(ITest test, ITestResult result) + { + Test = test; + Result = result; + } + + public ITest Test { get; private set; } + + public ITestResult Result { get; private set; } + } +} diff --git a/SimpleSpeedTester/Core/Events/NewTestResultSummaryEventArgs.cs b/SimpleSpeedTester/Core/Events/NewTestResultSummaryEventArgs.cs new file mode 100644 index 0000000..7aeeb8b --- /dev/null +++ b/SimpleSpeedTester/Core/Events/NewTestResultSummaryEventArgs.cs @@ -0,0 +1,24 @@ +using System; +using SimpleSpeedTester.Interfaces; + +namespace SimpleSpeedTester.Core.Events +{ + public sealed class NewTestResultSummaryEventArgs : EventArgs + { + public NewTestResultSummaryEventArgs(ITest test, ITestResult result, ITestOutcomeFilter outcomeFilter, ITestResultSummary summary) + { + Test = test; + Result = result; + OutcomeFilter = outcomeFilter; + Summary = summary; + } + + public ITest Test { get; private set; } + + public ITestResult Result { get; private set; } + + public ITestOutcomeFilter OutcomeFilter { get; private set; } + + public ITestResultSummary Summary { get; private set; } + } +} diff --git a/SimpleSpeedTester/Core/OutcomeFilters/DefaultTestOutcomeFilter.cs b/SimpleSpeedTester/Core/OutcomeFilters/DefaultTestOutcomeFilter.cs new file mode 100644 index 0000000..9434bb2 --- /dev/null +++ b/SimpleSpeedTester/Core/OutcomeFilters/DefaultTestOutcomeFilter.cs @@ -0,0 +1,20 @@ +using System.Collections.Generic; +using System.Linq; +using SimpleSpeedTester.Interfaces; + +namespace SimpleSpeedTester.Core.OutcomeFilters +{ + /// + /// A filter which includes outcomes from all the test runs which did not except + /// + public sealed class DefaultTestOutcomeFilter : ITestOutcomeFilter + { + /// + /// Filters out outcomes of test runs which did not except + /// + public List Filter(List resultOutcomes) + { + return resultOutcomes.Where(o => o.Exception == null).ToList(); + } + } +} diff --git a/SimpleSpeedTester/Core/OutcomeFilters/ExcludeMinAndMaxTestOutcomeFilter.cs b/SimpleSpeedTester/Core/OutcomeFilters/ExcludeMinAndMaxTestOutcomeFilter.cs new file mode 100644 index 0000000..20c7e26 --- /dev/null +++ b/SimpleSpeedTester/Core/OutcomeFilters/ExcludeMinAndMaxTestOutcomeFilter.cs @@ -0,0 +1,29 @@ +using System.Collections.Generic; +using System.Linq; +using SimpleSpeedTester.Interfaces; + +namespace SimpleSpeedTester.Core.OutcomeFilters +{ + /// + /// A filter which includes outcomes from the test runs which did not except, excluding + /// the outcomes with the min and max execution time + /// + public sealed class ExcludeMinAndMaxTestOutcomeFilter : ITestOutcomeFilter + { + public List Filter(List resultOutcomes) + { + // get all the successful outcomes, ordered by by the execution time + var orderedSuccessOutcome = resultOutcomes + .Where(o => o.Exception == null) + .OrderBy(o => o.Elapsed) + .ToList(); + + // work out how many results we have + var count = orderedSuccessOutcome.Count(); + + // if there are more than 2 results, then ignore the top and bottom result + // if there are 2 or less results, then just return everything + return count > 2 ? orderedSuccessOutcome.Skip(1).Take(count - 2).ToList() : orderedSuccessOutcome; + } + } +} diff --git a/SimpleSpeedTester/Core/Test.cs b/SimpleSpeedTester/Core/Test.cs new file mode 100644 index 0000000..9639a67 --- /dev/null +++ b/SimpleSpeedTester/Core/Test.cs @@ -0,0 +1,134 @@ +using System; +using System.Diagnostics; +using System.Linq; +using SimpleSpeedTester.Core.Events; +using SimpleSpeedTester.Interfaces; + +namespace SimpleSpeedTester.Core +{ + /// + /// Represents a test to be executed + /// + public sealed class Test : ITest + { + internal Test(string name, Action action, int count, ITestGroup testGroup) + { + if (string.IsNullOrWhiteSpace(name)) + { + throw new ArgumentException("Test name cannot be null or empty", "name"); + } + + if (action == null) + { + throw new ArgumentNullException("action", "Action delegate cannot be null"); + } + + if (count < 1) + { + throw new ArgumentOutOfRangeException("count", "Execution count must be at least 1"); + } + + if (testGroup == null) + { + throw new ArgumentNullException("testGroup", "Test group cannot be null"); + } + + Name = name; + Action = action; + Count = count; + TestGroup = testGroup; + } + + public event EventHandler OnNewTestOutcome = (s, e) => { }; + + public event EventHandler OnNewTestResult = (s, e) => { }; + + public event EventHandler OnNewTestResultSummary = (s, e) => { }; + + /// + /// A descriptive name for the test + /// + public string Name { get; private set; } + + /// + /// The action to execute + /// + public Action Action { get; private set; } + + /// + /// How many times it should be executed + /// + public int Count { get; private set; } + + /// + /// The test group this test action is part of + /// + public ITestGroup TestGroup { get; private set; } + + /// + /// Executes the action delegate as many time as necessary and returns the result + /// + public ITestResult GetResult() + { + // get all the test outcomes for all the test runs + var outcomes = Enumerable.Range(1, Count).Select(i => Execute()).ToList(); + + // compose the test result + var result = new TestResult(this, outcomes); + + // attach event handler for when a new result summary becomes available + result.OnNewTestResultSummary += OnNewTestResultSummaryHanlder; + + // and fire an event to notify others that a new test result is available + OnNewTestResult(this, new NewTestResultEventArgs(this, result)); + + // return the test result + return result; + } + + public override string ToString() + { + return Name; + } + + /// + /// Executes the specified action delegate once and time how long it took whilst + /// keeping track of any exception that might have been thrown + /// + internal TestOutcome Execute() + { + // initialize with null, so if no exception is caught then it stays as null + Exception caughtException = null; + + // initialize and start the stopwatch + var stopwatch = new Stopwatch(); + stopwatch.Start(); + + try + { + Action(); + } + catch (Exception ex) + { + // if exception is thrown, then remember what exception it was + caughtException = ex; + } + + // stop the stop watch and return the result of the timed execution + stopwatch.Stop(); + + var outcome = new TestOutcome(stopwatch.Elapsed, caughtException); + + // fire event to notify others a new test outcome is available + OnNewTestOutcome(this, new NewTestOutcomeEventArgs(this, outcome)); + + return outcome; + } + + private void OnNewTestResultSummaryHanlder(object sender, NewTestResultSummaryEventArgs eventArgs) + { + // relay the event + OnNewTestResultSummary(this, eventArgs); + } + } +} diff --git a/SimpleSpeedTester/Core/TestGroup.cs b/SimpleSpeedTester/Core/TestGroup.cs new file mode 100644 index 0000000..f6465a8 --- /dev/null +++ b/SimpleSpeedTester/Core/TestGroup.cs @@ -0,0 +1,175 @@ +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Linq; +using SimpleSpeedTester.Core.Events; +using SimpleSpeedTester.Interfaces; + +namespace SimpleSpeedTester.Core +{ + /// + /// Represents a test group with a name that can be used to identify it + /// + public class TestGroup : ITestGroup + { + public TestGroup(string name) + { + if (string.IsNullOrWhiteSpace(name)) + { + throw new ArgumentException("Test group name cannot be null or empty", "name"); + } + + Name = name; + PlannedActions = new ConcurrentDictionary(); + } + + public event EventHandler OnNewTestOutcome = (s, e) => { }; + + public event EventHandler OnNewTestResult = (s, e) => { }; + + public event EventHandler OnNewTestResultSummary = (s, e) => { }; + + /// + /// Name of this test group + /// + public string Name { get; private set; } + + /// + /// The tests that have been planned + /// + private ConcurrentDictionary PlannedActions { get; set; } + + /// + /// Plans the execution of a test for a number of times + /// + public ITest Plan(string actionName, Action action, int count) + { + return AddPlannedTest(new Test(actionName, action, count, this)); + } + + /// + /// Plans the execution of a test against the specified data for a number of times + /// + public ITest Plan(string actionName, Action action, T data, int count) + { + return AddPlannedTest(new Test(actionName, () => action(data), count, this)); + } + + /// + /// Plans and executes a test for a number of times and returns the test result summary + /// + public ITestResultSummary PlanAndExecute(string actionName, Action action, int count) + { + var test = Plan(actionName, action, count); + return GetTestSummary(test); + } + + /// + /// Plans and executes a test for a number of times and returns the test result summary using the specified outcome filter + /// + public ITestResultSummary PlanAndExecute(string actionName, Action action, int count, ITestOutcomeFilter outcomeFilter) + { + var test = Plan(actionName, action, count); + return GetTestSummary(test, outcomeFilter); + } + + /// + /// Plans and executes a test against the specified data for a number of times and returns the test result summary + /// + public ITestResultSummary PlanAndExecute(string actionName, Action action, T data, int count) + { + var test = Plan(actionName, action, data, count); + return GetTestSummary(test); + } + + /// + /// Plans and executes a test against the specified data for a number of times and returns the test result summary using the + /// specified outcome filter + /// + public ITestResultSummary PlanAndExecute(string actionName, Action action, T data, int count, ITestOutcomeFilter outcomeFilter) + { + var test = Plan(actionName, action, data, count); + return GetTestSummary(test, outcomeFilter); + } + + /// + /// Returns the tests that have been planned thus far + /// + public List GetPlannedTests() + { + return PlannedActions.Keys.ToList(); + } + + /// + /// Returns the test results that we have so far + /// + public List GetTestResults() + { + // the first ToList() is to get a transient copy of the values from the concurrent dictionary + // to avoid enumerable modified exception in case the source was updated whilst invoking + // the where clause + return PlannedActions.Values.ToList().Where(tr => tr != null).ToList(); + } + + public override string ToString() + { + return Name; + } + + /// + /// Executes the specified test straight away and returns a summary of the test result + /// + private static ITestResultSummary GetTestSummary(ITest test) + { + return test.GetResult().GetSummary(); + } + + /// + /// Overload which uses the specified outcome filter to generate the summary + /// + private static ITestResultSummary GetTestSummary(ITest test, ITestOutcomeFilter outcomeFilter) + { + return test.GetResult().GetSummary(outcomeFilter); + } + + /// + /// Add a newly planned test to the bag of planned tests and returns it + /// + private ITest AddPlannedTest(ITest newTest) + { + PlannedActions.TryAdd(newTest, null); + + // attach event handlers + newTest.OnNewTestOutcome += OnNewTestOutcomeHandle; + newTest.OnNewTestResult += OnNewTestResultHandler; + newTest.OnNewTestResultSummary += OnNewTestResultSummaryHandler; + + return newTest; + } + + #region Event Handlers + + private void OnNewTestOutcomeHandle(object sender, NewTestOutcomeEventArgs eventArgs) + { + // relay the event + OnNewTestOutcome(this, eventArgs); + } + + private void OnNewTestResultHandler(object sender, NewTestResultEventArgs eventArgs) + { + // set the result associated with the test + PlannedActions.AddOrUpdate(eventArgs.Test, eventArgs.Result, (t, tr) => eventArgs.Result); + + // relay the event + OnNewTestResult(this, eventArgs); + } + + private void OnNewTestResultSummaryHandler(object sender, NewTestResultSummaryEventArgs eventArgs) + { + // relay the event + OnNewTestResultSummary(this, eventArgs); + } + + #endregion + } +} diff --git a/SimpleSpeedTester/Core/TestOutcome.cs b/SimpleSpeedTester/Core/TestOutcome.cs new file mode 100644 index 0000000..fb9c325 --- /dev/null +++ b/SimpleSpeedTester/Core/TestOutcome.cs @@ -0,0 +1,27 @@ +using System; + +namespace SimpleSpeedTester.Core +{ + /// + /// The outcome of executing a test + /// + public struct TestOutcome + { + internal TestOutcome(TimeSpan elapsed, Exception exception) + : this() + { + Elapsed = elapsed; + Exception = exception; + } + + /// + /// Time taken to execute the test + /// + public TimeSpan Elapsed { get; private set; } + + /// + /// The exception (if any) that is thrown by the test + /// + public Exception Exception { get; private set; } + } +} \ No newline at end of file diff --git a/SimpleSpeedTester/Core/TestResult.cs b/SimpleSpeedTester/Core/TestResult.cs new file mode 100644 index 0000000..d9e377d --- /dev/null +++ b/SimpleSpeedTester/Core/TestResult.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using SimpleSpeedTester.Core.Events; +using SimpleSpeedTester.Core.OutcomeFilters; +using SimpleSpeedTester.Interfaces; + +namespace SimpleSpeedTester.Core +{ + /// + /// Represents the result of a test + /// + public sealed class TestResult : ITestResult + { + internal TestResult(ITest test, List outcomes) + { + if (test == null) + { + throw new ArgumentNullException("test", "Test cannot be null"); + } + + if (outcomes == null) + { + throw new ArgumentNullException("outcomes", "Test outcomes cannot be null"); + } + + Outcomes = outcomes; + Test = test; + } + + public event EventHandler OnNewTestResultSummary = (s, e) => { }; + + /// + /// Outcome for the individual test runs + /// + public List Outcomes { get; private set; } + + /// + /// The test this result corresponds to + /// + public ITest Test { get; private set; } + + /// + /// Gets a summary for this result using the default outcome filter + /// + public ITestResultSummary GetSummary() + { + return GetSummary(new DefaultTestOutcomeFilter()); + } + + /// + /// Gets a summary for this result based on the supplied outcome filter + /// + public ITestResultSummary GetSummary(ITestOutcomeFilter outcomeFilter) + { + var summary = new TestResultSummary(this, outcomeFilter); + + // notify others that a new test summary is available + OnNewTestResultSummary(this, new NewTestResultSummaryEventArgs(Test, this, outcomeFilter, summary)); + + return summary; + } + } +} diff --git a/SimpleSpeedTester/Core/TestResultSummary.cs b/SimpleSpeedTester/Core/TestResultSummary.cs new file mode 100644 index 0000000..8150fa7 --- /dev/null +++ b/SimpleSpeedTester/Core/TestResultSummary.cs @@ -0,0 +1,59 @@ +using System.Linq; +using SimpleSpeedTester.Interfaces; + +namespace SimpleSpeedTester.Core +{ + /// + /// Represents the summary of a test result + /// + public sealed class TestResultSummary : ITestResultSummary + { + internal TestResultSummary(TestResult testResult, ITestOutcomeFilter outcomeFilter) + { + TestResult = testResult; + Successes = TestResult.Outcomes.Count(o => o.Exception == null); + Failures = TestResult.Outcomes.Count() - Successes; + + var eligibleOutcomes = outcomeFilter.Filter(TestResult.Outcomes); + + if (eligibleOutcomes.Any()) + { + AverageExecutionTime = eligibleOutcomes.Average(o => o.Elapsed.TotalMilliseconds); + } + } + + /// + /// The number of test runs that finished without exception + /// + public int Successes { get; private set; } + + /// + /// The number of test runs that excepted + /// + public int Failures { get; private set; } + + /// + /// THe average execution time in milliseconds + /// + public double AverageExecutionTime { get; private set; } + + /// + /// The test result this summary corresponds to + /// + public TestResult TestResult { get; private set; } + + public override string ToString() + { + return string.Format( +@"Test Group [{0}], Test [{1}] results summary: +Successes [{2}] +Failures [{3}] +Average Exec Time [{4}] milliseconds", + TestResult.Test.TestGroup, + TestResult.Test, + Successes, + Failures, + AverageExecutionTime); + } + } +} diff --git a/SimpleSpeedTester/Interfaces/ITest.cs b/SimpleSpeedTester/Interfaces/ITest.cs new file mode 100644 index 0000000..d9f55fa --- /dev/null +++ b/SimpleSpeedTester/Interfaces/ITest.cs @@ -0,0 +1,51 @@ +using System; +using SimpleSpeedTester.Core.Events; + +namespace SimpleSpeedTester.Interfaces +{ + /// + /// Represents a test + /// + public interface ITest + { + /// + /// Event for when a new test outcome becomes available + /// + event EventHandler OnNewTestOutcome; + + /// + /// Event for when a new test result becomes available + /// + event EventHandler OnNewTestResult; + + /// + /// Event for when a new test result summary becomes available + /// + event EventHandler OnNewTestResultSummary; + + /// + /// A descriptive name for the test + /// + string Name { get; } + + /// + /// The action to execute as part of the test + /// + Action Action { get; } + + /// + /// How many times the test should be executed + /// + int Count { get; } + + /// + /// The test group this test is part of + /// + ITestGroup TestGroup { get; } + + /// + /// Executes the action delegate as many time as necessary and returns a result for the test + /// + ITestResult GetResult(); + } +} \ No newline at end of file diff --git a/SimpleSpeedTester/Interfaces/ITestGroup.cs b/SimpleSpeedTester/Interfaces/ITestGroup.cs new file mode 100644 index 0000000..3ba3ed8 --- /dev/null +++ b/SimpleSpeedTester/Interfaces/ITestGroup.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using SimpleSpeedTester.Core.Events; + +namespace SimpleSpeedTester.Interfaces +{ + /// + /// Represents a test group with a name that can be used to identify it + /// + public interface ITestGroup + { + /// + /// Event for when a new test outcome becomes available + /// + event EventHandler OnNewTestOutcome; + + /// + /// Event for when a new test result becomes available + /// + event EventHandler OnNewTestResult; + + /// + /// Event for when a new test result summary becomes available + /// + event EventHandler OnNewTestResultSummary; + + /// + /// Name of this test group + /// + string Name { get; } + + /// + /// Plans the execution of an action delegate for a number of times. + /// + ITest Plan(string actionName, Action action, int count); + + /// + /// Plans the execution of an action delegate against the specified data for a number of times. + /// + ITest Plan(string actionName, Action action, T data, int count); + + /// + /// Plans and executes a test for a number of times and returns the test result summary + /// + ITestResultSummary PlanAndExecute(string actionName, Action action, int count); + + /// + /// Plans and executes a test for a number of times and returns the test result summary using the specified outcome filter + /// + ITestResultSummary PlanAndExecute(string actionName, Action action, int count, ITestOutcomeFilter outcomeFilter); + + /// + /// Plans and executes a test against the specified data for a number of times + /// + ITestResultSummary PlanAndExecute(string actionName, Action action, T data, int count); + + /// + /// Plans and executes a test against the specified data for a number of times and returns the test result summary using the + /// specified outcome filter + /// + ITestResultSummary PlanAndExecute(string actionName, Action action, T data, int count, ITestOutcomeFilter outcomeFilter); + + /// + /// Returns the tests that have been planned thus far + /// + List GetPlannedTests(); + + /// + /// Returns the test results that we have so far + /// + List GetTestResults(); + } +} \ No newline at end of file diff --git a/SimpleSpeedTester/Interfaces/ITestOutcomeFilter.cs b/SimpleSpeedTester/Interfaces/ITestOutcomeFilter.cs new file mode 100644 index 0000000..e1591b0 --- /dev/null +++ b/SimpleSpeedTester/Interfaces/ITestOutcomeFilter.cs @@ -0,0 +1,16 @@ +using System.Collections.Generic; +using SimpleSpeedTester.Core; + +namespace SimpleSpeedTester.Interfaces +{ + /// + /// Represents a filter for a set of outcomes from test runs + /// + public interface ITestOutcomeFilter + { + /// + /// Filters the result outcomes to include only the outcomes that are of interest + /// + List Filter(List resultOutcomes); + } +} \ No newline at end of file diff --git a/SimpleSpeedTester/Interfaces/ITestResult.cs b/SimpleSpeedTester/Interfaces/ITestResult.cs new file mode 100644 index 0000000..d8c1abe --- /dev/null +++ b/SimpleSpeedTester/Interfaces/ITestResult.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using SimpleSpeedTester.Core; +using SimpleSpeedTester.Core.Events; + +namespace SimpleSpeedTester.Interfaces +{ + /// + /// Represents the result of a test + /// + public interface ITestResult + { + /// + /// Event for when a new test result summary becomes available + /// + event EventHandler OnNewTestResultSummary; + + /// + /// Outcome for the individual test runs + /// + List Outcomes { get; } + + /// + /// The test this result corresponds to + /// + ITest Test { get; } + + /// + /// Gets a summary for this result using the default outcome filter + /// + ITestResultSummary GetSummary(); + + /// + /// Gets a summary for this result based on the supplied outcome filter + /// + ITestResultSummary GetSummary(ITestOutcomeFilter outcomeFilter); + } +} \ No newline at end of file diff --git a/SimpleSpeedTester/Interfaces/ITestResultSummary.cs b/SimpleSpeedTester/Interfaces/ITestResultSummary.cs new file mode 100644 index 0000000..66dcbb4 --- /dev/null +++ b/SimpleSpeedTester/Interfaces/ITestResultSummary.cs @@ -0,0 +1,30 @@ +using SimpleSpeedTester.Core; + +namespace SimpleSpeedTester.Interfaces +{ + /// + /// Represents the summary of a test result + /// + public interface ITestResultSummary + { + /// + /// The number of test runs that finished without exception + /// + int Successes { get; } + + /// + /// The number of test runs that excepted + /// + int Failures { get; } + + /// + /// THe average execution time in milliseconds + /// + double AverageExecutionTime { get; } + + /// + /// The test result this summary corresponds to + /// + TestResult TestResult { get; } + } +} \ No newline at end of file diff --git a/SimpleSpeedTester/Properties/AssemblyInfo.cs b/SimpleSpeedTester/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..f2362a7 --- /dev/null +++ b/SimpleSpeedTester/Properties/AssemblyInfo.cs @@ -0,0 +1,38 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("SimpleSpeedTester")] +[assembly: AssemblyDescription("A simple framework to help speed test your code")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Yan Cui")] +[assembly: AssemblyProduct("SimpleSpeedTester")] +[assembly: AssemblyCopyright("Copyright © Yan Cui 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("c836095e-ea18-4291-87f1-3ccdd73b0311")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.*")] + +// expose internal methods to the SimpleSpeedTester.Tests project for unit tests +[assembly: InternalsVisibleTo("SimpleSpeedTester.Tests")] diff --git a/SimpleSpeedTester/SimpleSpeedTester.csproj b/SimpleSpeedTester/SimpleSpeedTester.csproj new file mode 100644 index 0000000..d377c08 --- /dev/null +++ b/SimpleSpeedTester/SimpleSpeedTester.csproj @@ -0,0 +1,69 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {87B76A3E-3932-47F1-924D-C80A1AE92787} + Library + Properties + SimpleSpeedTester + SimpleSpeedTester + v4.0 + 512 + + + true + full + false + ..\Build\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + ..\Build\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fastJSON v1.9.6/Consoletest/AssemblyInfo.cs b/fastJSON v1.9.6/Consoletest/AssemblyInfo.cs new file mode 100644 index 0000000..c1f308c --- /dev/null +++ b/fastJSON v1.9.6/Consoletest/AssemblyInfo.cs @@ -0,0 +1,31 @@ +#region Using directives + +using System; +using System.Reflection; +using System.Runtime.InteropServices; + +#endregion + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("consoletest")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("consoletest")] +[assembly: AssemblyCopyright("Copyright 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// This sets the default COM visibility of types in the assembly to invisible. +// If you need to expose a type to COM, use [ComVisible(true)] on that type. +[assembly: ComVisible(false)] + +// The assembly version has following format : +// +// Major.Minor.Build.Revision +// +// You can specify all the values or you can use the default the Revision and +// Build Numbers by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.*")] diff --git a/fastJSON v1.9.6/Consoletest/Program.cs b/fastJSON v1.9.6/Consoletest/Program.cs new file mode 100644 index 0000000..720099f --- /dev/null +++ b/fastJSON v1.9.6/Consoletest/Program.cs @@ -0,0 +1,534 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Data; +using System.IO; +using System.Reflection; +using System.Runtime.Serialization.Formatters.Binary; + +namespace consoletest +{ + public class Return + { + public object ReturnEntity { get; set; } + public string Name { get; set; } + //public TimeSpan time { get; set; } + public string Field1; + public int Field2; + public string ppp { get { return "sdfas df "; } } + public DateTime date { get; set; } + public DataTable ds { get; set; } + } + + public class returns : List + { + public string name { get; set; } + } + + public class NoExt + { + [System.Xml.Serialization.XmlIgnore()] + public string Name { get; set; } + public string Address { get; set;} + public int Age { get; set;} + public baseclass[] objs { get; set;} + public Dictionary dic { get; set; } + } + + class Program + { + static int count = 1000; + static int tcount = 5; + static DataSet ds = new DataSet(); + static bool exotic = false; + static bool dsser = false; + + + + public static void Main(string[] args) + { + //returns rr = new returns(); + //rr.name = "jjkjkjhkj"; + Return r = new Return(); + r.Name = "hello"; + r.Field1 = "dsasdF"; + r.Field2 = 2312; + r.date = DateTime.Now; + r.ds = CreateDataset().Tables[0]; + + //r.ReturnEntity = + // // new List( new int[] { 1,2,3,4,5 }); + // // Guid.NewGuid(); + // // CreateDataset(); + // new object[] { new Return() }; + //r.time = new TimeSpan(1, 2, 3); + //r.point = new System.Drawing.Point(10, 10); + + //rr.Add(r); + + //fastJSON.JSON.Instance.RegisterCustomType(typeof(TimeSpan), tsser, tsdes); + //fastJSON.JSON.Instance.RegisterCustomType(typeof(System.Drawing.Point), pser, pdes); + fastJSON.JSON.Instance.SerializeNullValues = true; + fastJSON.JSON.Instance.ShowReadOnlyProperties = true; + fastJSON.JSON.Instance.UseUTCDateTime = true; + fastJSON.JSON.Instance.IndentOutput = false; + fastJSON.JSON.Instance.UsingGlobalTypes = false; + string ts = fastJSON.JSON.Instance.ToJSON(r); + object tsd = fastJSON.JSON.Instance.ToObject(ts); + + NoExt ne = new NoExt(); + ne.Name = "hello"; + ne.Address = "here"; + ne.Age= 10; + ne.dic = new Dictionary(); + ne.dic.Add("hello", new class1("asda","asdas",Guid.NewGuid())); + ne.objs = new baseclass[] { new class1("a","1",Guid.NewGuid()), new class2("b","2","desc") }; + + //fastJSON.JSON.Instance.UseSerializerExtension = false; + //fastJSON.JSON.Instance.UseFastGuid = false; + string str = fastJSON.JSON.Instance.ToJSON(ne, false); + object dic = fastJSON.JSON.Instance.Parse(str); + object oo = fastJSON.JSON.Instance.ToObject(str);//(str); + + Console.WriteLine(".net version = " + Environment.Version); + Console.WriteLine("press key : (E)xotic "); + if (Console.ReadKey().Key == ConsoleKey.E) + exotic = true; + + ds = CreateDataset(); + Console.WriteLine("-dataset"); + dsser = false; + //bin_serialize(); + fastjson_serialize(); + //bin_deserialize(); + //fastjson_deserialize(); + + dsser = true; + Console.WriteLine(); + Console.WriteLine("+dataset"); + //bin_serialize(); + fastjson_serialize(); + //bin_deserialize(); + fastjson_deserialize(); + + #region [ other tests] + + // litjson_serialize(); + // jsonnet_serialize(); + // jsonnet4_serialize(); + //stack_serialize(); + + //systemweb_deserialize(); + //bin_deserialize(); + //fastjson_deserialize(); + + // litjson_deserialize(); + // jsonnet_deserialize(); + // jsonnet4_deserialize(); + // stack_deserialize(); + #endregion + } + + private static string pser(object data) + { + System.Drawing.Point p = (System.Drawing.Point) data; + return p.X.ToString() + "," + p.Y.ToString(); + } + + private static object pdes(string data) + { + string[] ss = data.Split(','); + + return new System.Drawing.Point( + int.Parse(ss[0]), + int.Parse(ss[1]) + ); + } + + private static string tsser(object data) + { + return ((TimeSpan)data).Ticks.ToString(); + } + + private static object tsdes(string data) + { + return new TimeSpan(long.Parse(data)); + } + + public static colclass CreateObject() + { + var c = new colclass(); + + c.booleanValue = true; + c.ordinaryDecimal = 3; + + if (exotic) + { + c.nullableGuid = Guid.NewGuid(); + c.hash = new Hashtable(); + c.bytes = new byte[1024]; + c.stringDictionary = new Dictionary(); + c.objectDictionary = new Dictionary(); + c.intDictionary = new Dictionary(); + c.nullableDouble = 100.003; + + if (dsser) + c.dataset = ds; + c.nullableDecimal = 3.14M; + + c.hash.Add(new class1("0", "hello", Guid.NewGuid()), new class2("1", "code", "desc")); + c.hash.Add(new class2("0", "hello", "pppp"), new class1("1", "code", Guid.NewGuid())); + + c.stringDictionary.Add("name1", new class2("1", "code", "desc")); + c.stringDictionary.Add("name2", new class1("1", "code", Guid.NewGuid())); + + c.intDictionary.Add(1, new class2("1", "code", "desc")); + c.intDictionary.Add(2, new class1("1", "code", Guid.NewGuid())); + + c.objectDictionary.Add(new class1("0", "hello", Guid.NewGuid()), new class2("1", "code", "desc")); + c.objectDictionary.Add(new class2("0", "hello", "pppp"), new class1("1", "code", Guid.NewGuid())); + + c.arrayType = new baseclass[2]; + c.arrayType[0] = new class1(); + c.arrayType[1] = new class2(); + } + + + c.items.Add(new class1("1", "1", Guid.NewGuid())); + c.items.Add(new class2("2", "2", "desc1")); + c.items.Add(new class1("3", "3", Guid.NewGuid())); + c.items.Add(new class2("4", "4", "desc2")); + + c.laststring = "" + DateTime.Now; + + return c; + } + + public static DataSet CreateDataset() + { + DataSet ds = new DataSet(); + for (int j = 1; j < 3; j++) + { + DataTable dt = new DataTable(); + dt.TableName = "Table" + j; + dt.Columns.Add("col1", typeof(int)); + dt.Columns.Add("col2", typeof(string)); + dt.Columns.Add("col3", typeof(Guid)); + dt.Columns.Add("col4", typeof(string)); + dt.Columns.Add("col5", typeof(bool)); + dt.Columns.Add("col6", typeof(string)); + dt.Columns.Add("col7", typeof(string)); + ds.Tables.Add(dt); + Random rrr = new Random(); + for (int i = 0; i < 100; i++) + { + DataRow dr = dt.NewRow(); + dr[0] = rrr.Next(int.MaxValue); + dr[1] = "" + rrr.Next(int.MaxValue); + dr[2] = Guid.NewGuid(); + dr[3] = "" + rrr.Next(int.MaxValue); + dr[4] = true; + dr[5] = "" + rrr.Next(int.MaxValue); + dr[6] = "" + rrr.Next(int.MaxValue); + + dt.Rows.Add(dr); + } + } + return ds; + } + + private static void fastjson_deserialize() + { + Console.WriteLine(); + Console.Write("fastjson deserialize"); + colclass c = CreateObject(); + for (int pp = 0; pp < tcount; pp++) + { + DateTime st = DateTime.Now; + colclass deserializedStore; + string jsonText = null; + + jsonText = fastJSON.JSON.Instance.ToJSON(c); + //Console.WriteLine(" size = " + jsonText.Length); + for (int i = 0; i < count; i++) + { + deserializedStore = (colclass)fastJSON.JSON.Instance.ToObject(jsonText); + } + Console.Write("\t" + DateTime.Now.Subtract(st).TotalMilliseconds); + } + } + + private static void fastjson_serialize() + { + Console.WriteLine(); + Console.Write("fastjson serialize"); + colclass c = CreateObject(); + for (int pp = 0; pp < tcount; pp++) + { + DateTime st = DateTime.Now; + string jsonText = null; + for (int i = 0; i < count; i++) + { + jsonText = fastJSON.JSON.Instance.ToJSON(c); + } + Console.Write("\t" + DateTime.Now.Subtract(st).TotalMilliseconds); + } + } + + private static void bin_deserialize() + { + Console.WriteLine(); + Console.Write("bin deserialize"); + colclass c = CreateObject(); + for (int pp = 0; pp < tcount; pp++) + { + DateTime st = DateTime.Now; + BinaryFormatter bf = new BinaryFormatter(); + MemoryStream ms = new MemoryStream(); + bf.Serialize(ms, c); + colclass deserializedStore = null; + //Console.WriteLine(" size = " +ms.Length); + for (int i = 0; i < count; i++) + { + ms.Seek(0L, SeekOrigin.Begin); + deserializedStore = (colclass)bf.Deserialize(ms); + } + Console.Write("\t" + DateTime.Now.Subtract(st).TotalMilliseconds); + } + } + + private static void bin_serialize() + { + Console.Write("\r\nbin serialize"); + colclass c = CreateObject(); + for (int pp = 0; pp < tcount; pp++) + { + DateTime st = DateTime.Now; + BinaryFormatter bf = new BinaryFormatter(); + MemoryStream ms = new MemoryStream(); + for (int i = 0; i < count; i++) + { + ms = new MemoryStream(); + bf.Serialize(ms, c); + } + Console.Write("\t" + DateTime.Now.Subtract(st).TotalMilliseconds); + } + } + + + + + #region [ other tests ] + /* + private static void systemweb_serialize() + { + Console.WriteLine(); + Console.Write("msjson serialize"); + colclass c = CreateObject(); + var sws = new System.Web.Script.Serialization.JavaScriptSerializer(); + for (int pp = 0; pp < tcount; pp++) + { + DateTime st = DateTime.Now; + colclass deserializedStore = null; + string jsonText = null; + + //jsonText =sws.Serialize(c); + //Console.WriteLine(" size = " + jsonText.Length); + for (int i = 0; i < count; i++) + { + jsonText =sws.Serialize(c); + //deserializedStore = (colclass)sws.DeserializeObject(jsonText); + } + Console.Write("\t" + DateTime.Now.Subtract(st).TotalMilliseconds ); + } + } + +// private static void stack_serialize() +// { +// Console.WriteLine(); +// Console.Write("stack serialize"); +// colclass c = CreateObject(); +// for (int pp = 0; pp < 5; pp++) +// { +// DateTime st = DateTime.Now; +// string jsonText = null; +// +// for (int i = 0; i < count; i++) +// { +// jsonText = ServiceStack.Text.JsonSerializer.SerializeToString(c); +// } +// Console.Write("\t" + DateTime.Now.Subtract(st).TotalMilliseconds ); +// } +// } + + private static void systemweb_deserialize() +// { +// Console.WriteLine(); +// Console.Write("fastjson deserialize"); +// colclass c = CreateObject(); +// var sws = new System.Web.Script.Serialization.JavaScriptSerializer(); +// for (int pp = 0; pp < tcount; pp++) +// { +// DateTime st = DateTime.Now; +// colclass deserializedStore = null; +// string jsonText = null; +// +// jsonText =sws.Serialize(c); +// //Console.WriteLine(" size = " + jsonText.Length); +// for (int i = 0; i < count; i++) +// { +// deserializedStore = (colclass)sws.DeserializeObject(jsonText); +// } +// Console.Write("\t" + DateTime.Now.Subtract(st).TotalMilliseconds ); +// } +// } + + private static void jsonnet4_deserialize() + { + Console.WriteLine(); + Console.Write("json.net4 deserialize"); + for (int pp = 0; pp < 5; pp++) + { + DateTime st = DateTime.Now; + colclass c; + colclass deserializedStore = null; + string jsonText = null; + c = Tests.mytests.CreateObject(); + var s = new Newtonsoft.Json.JsonSerializerSettings(); + s.TypeNameHandling = Newtonsoft.Json.TypeNameHandling.All; + jsonText = Newtonsoft.Json.JsonConvert.SerializeObject(c, Newtonsoft.Json.Formatting.Indented, s); + for (int i = 0; i < count; i++) + { + deserializedStore = (colclass)Newtonsoft.Json.JsonConvert.DeserializeObject(jsonText, typeof(colclass), s); + } + Console.Write("\t" + DateTime.Now.Subtract(st).TotalMilliseconds ); + } + } + + private static void jsonnet4_serialize() + { + Console.WriteLine(); + Console.Write("json.net4 serialize"); + for (int pp = 0; pp < 5; pp++) + { + DateTime st = DateTime.Now; + colclass c = Tests.mytests.CreateObject(); + Newtonsoft.Json.JsonSerializerSettings s = null; + string jsonText = null; + s = new Newtonsoft.Json.JsonSerializerSettings(); + s.TypeNameHandling = Newtonsoft.Json.TypeNameHandling.All; + + for (int i = 0; i < count; i++) + { + jsonText = Newtonsoft.Json.JsonConvert.SerializeObject(c, Newtonsoft.Json.Formatting.Indented, s); + } + Console.Write("\t" + DateTime.Now.Subtract(st).TotalMilliseconds ); + } + } + + private static void stack_deserialize() + { + Console.WriteLine(); + Console.Write("stack deserialize"); + for (int pp = 0; pp < 5; pp++) + { + DateTime st = DateTime.Now; + colclass c; + colclass deserializedStore = null; + string jsonText = null; + c = Tests.mytests.CreateObject(); + jsonText = ServiceStack.Text.JsonSerializer.SerializeToString(c); + for (int i = 0; i < count; i++) + { + deserializedStore = ServiceStack.Text.JsonSerializer.DeserializeFromString(jsonText); + } + Console.Write("\t" + DateTime.Now.Subtract(st).TotalMilliseconds ); + } + } + + private static void jsonnet_deserialize() + { + Console.WriteLine(); + Console.Write("json.net deserialize"); + for (int pp = 0; pp < 5; pp++) + { + DateTime st = DateTime.Now; + colclass c; + colclass deserializedStore = null; + string jsonText = null; + c = Tests.mytests.CreateObject(); + var s = new json.net.JsonSerializerSettings(); + s.TypeNameHandling = json.net.TypeNameHandling.All; + jsonText = json.net.JsonConvert.SerializeObject(c, json.net.Formatting.Indented, s); + for (int i = 0; i < count; i++) + { + deserializedStore = (colclass)json.net.JsonConvert.DeserializeObject(jsonText, typeof(colclass), s); + } + Console.Write("\t" + DateTime.Now.Subtract(st).TotalMilliseconds ); + } + } + + private static void jsonnet_serialize() + { + Console.WriteLine(); + Console.Write("json.net serialize"); + for (int pp = 0; pp < 5; pp++) + { + DateTime st = DateTime.Now; + colclass c = Tests.mytests.CreateObject(); + json.net.JsonSerializerSettings s = null; + string jsonText = null; + s = new json.net.JsonSerializerSettings(); + s.TypeNameHandling = json.net.TypeNameHandling.All; + + for (int i = 0; i < count; i++) + { + jsonText = json.net.JsonConvert.SerializeObject(c, json.net.Formatting.Indented, s); + } + Console.Write("\t" + DateTime.Now.Subtract(st).TotalMilliseconds ); + } + } + + private static void litjson_deserialize() + { + Console.WriteLine(); + Console.Write("litjson deserialize"); + for (int pp = 0; pp < 5; pp++) + { + DateTime st = DateTime.Now; + colclass c; + colclass deserializedStore = null; + string jsonText = null; + c = Tests.mytests.CreateObject(); + jsonText = BizFX.Common.JSON.JsonMapper.ToJson(c); + for (int i = 0; i < count; i++) + { + deserializedStore = (colclass)BizFX.Common.JSON.JsonMapper.ToObject(jsonText); + } + Console.Write("\t" + DateTime.Now.Subtract(st).TotalMilliseconds ); + } + } + + private static void litjson_serialize() + { + Console.WriteLine(); + Console.Write("litjson serialize"); + for (int pp = 0; pp < 5; pp++) + { + DateTime st = DateTime.Now; + colclass c; + string jsonText = null; + c = Tests.mytests.CreateObject(); + for (int i = 0; i < count; i++) + { + jsonText = BizFX.Common.JSON.JsonMapper.ToJson(c); + } + Console.Write("\t" + DateTime.Now.Subtract(st).TotalMilliseconds ); + } + } + + + */ + #endregion + } +} \ No newline at end of file diff --git a/fastJSON v1.9.6/Consoletest/app.config b/fastJSON v1.9.6/Consoletest/app.config new file mode 100644 index 0000000..e59af44 --- /dev/null +++ b/fastJSON v1.9.6/Consoletest/app.config @@ -0,0 +1,3 @@ + + + diff --git a/fastJSON v1.9.6/Consoletest/consoletest.csproj b/fastJSON v1.9.6/Consoletest/consoletest.csproj new file mode 100644 index 0000000..7ebfec3 --- /dev/null +++ b/fastJSON v1.9.6/Consoletest/consoletest.csproj @@ -0,0 +1,73 @@ + + + + {6BADD8B3-618E-412A-BBCA-8420EFD5B62E} + Debug + x86 + Exe + consoletest + consoletest + v3.0 + Properties + True + False + 4 + false + + + + False + Auto + 4194304 + AnyCPU + 4096 + + + bin\Debug\ + true + Full + True + False + DEBUG;TRACE + + + bin\Release\ + False + None + True + False + TRACE + + + False + Auto + 4194304 + x86 + 4096 + + + false + + + + + + + + + + + + + + + + {207E91B1-C9F8-4913-88E1-3549EF5F3273} + fastJSON + + + + + + + \ No newline at end of file diff --git a/fastJSON v1.9.6/Consoletest/dataobjects.cs b/fastJSON v1.9.6/Consoletest/dataobjects.cs new file mode 100644 index 0000000..87684ad --- /dev/null +++ b/fastJSON v1.9.6/Consoletest/dataobjects.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Data; + +namespace consoletest +{ + + #region [ data objects ] + + [Serializable()] + public class baseclass + { + public string Name { get; set; } + public string Code { get; set; } + } + + [Serializable()] + public class class1 : baseclass + { + public class1() { } + public class1(string name, string code, Guid g) + { + Name = name; + Code = code; + guid = g; + } + public Guid guid { get; set; } + } + + [Serializable()] + public class class2 : baseclass + { + public class2() { } + public class2(string name, string code, string desc) + { + Name = name; + Code = code; + description = desc; + } + public string description { get; set; } + } + + public enum Gender + { + Male, + Female + } + + [Serializable()] + public class colclass + { + public colclass() + { + items = new List(); + date = DateTime.Now; + multilineString = @" + AJKLjaskljLA + ahjksjkAHJKS سلام فارسی + AJKHSKJhaksjhAHSJKa + AJKSHajkhsjkHKSJKash + ASJKhasjkKASJKahsjk + "; + isNew = true; + booleanValue = true; + ordinaryDouble = 0.001; + gender = Gender.Female; + intarray = new int[5] {1,2,3,4,5}; + } + public bool booleanValue { get; set; } + public DateTime date {get; set;} + public string multilineString { get; set; } + public List items { get; set; } + public decimal ordinaryDecimal {get; set;} + public double ordinaryDouble { get; set ;} + public bool isNew { get; set; } + public string laststring { get; set; } + public Gender gender { get; set; } + + public DataSet dataset { get; set; } + public Dictionary stringDictionary { get; set; } + public Dictionary objectDictionary { get; set; } + public Dictionary intDictionary { get; set; } + public Guid? nullableGuid {get; set;} + public decimal? nullableDecimal { get; set; } + public double? nullableDouble { get; set; } + public Hashtable hash { get; set; } + public baseclass[] arrayType { get; set; } + public byte[] bytes { get; set; } + public int[] intarray { get; set; } + + } + #endregion + +} diff --git a/fastJSON v1.9.6/Consoletest/mytests.cs b/fastJSON v1.9.6/Consoletest/mytests.cs new file mode 100644 index 0000000..3b82743 --- /dev/null +++ b/fastJSON v1.9.6/Consoletest/mytests.cs @@ -0,0 +1,326 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Data; +using System.IO; +using System.Reflection; +using System.Runtime.Serialization.Formatters.Binary; +using System.Text; +using fastJSON; + + +namespace Tests +{ + #region + + [Serializable()] + public class baseclass + { + public string Name { get; set; } + public string Code { get; set; } + } + + [Serializable()] + public class class1 : baseclass + { + public class1() { } + public class1(string name, string code, Guid g) + { + Name = name; + Code = code; + guid = g; + } + public Guid guid { get; set; } + } + + [Serializable()] + public class class2 : baseclass + { + public class2() { } + public class2(string name, string code, string desc) + { + Name = name; + Code = code; + description = desc; + } + public string description { get; set; } + } + + [Serializable()] + public class colclass + { + public colclass() + { + items = new List(); + date = DateTime.Now; + Ppp = @" + AJKLjaskljLA + ahjksjkAHJKS + AJKHSKJhaksjhAHSJKa + AJKSHajkhsjkHKSJKash + ASJKhasjkKASJKahsjk + "; + gggg = Guid.NewGuid(); + //hash = new Hashtable(); + isNew = true; + done= true; + } + public bool done { get; set; } + public DateTime date {get; set;} + //public DataSet ds { get; set; } + public string Ppp { get; set; } + public List items { get; set; } + public Guid gggg {get; set;} + public decimal? dec {get; set;} + public bool isNew { get; set; } + //public Hashtable hash { get; set; } + + } + #endregion + + [TestFixture] + public class mytests : TestFixtureBase + { + public mytests() + { + ds = CreateDataset(); + Console.WriteLine("count = " + count); + } + static DataSet ds; + int count = 1000; + + [Test] + public void a_new_serializer() + { + DateTime st = DateTime.Now; + colclass c; + string jsonText = null; + c= CreateObject(); + for (int i = 0; i < count; i++) + { + jsonText = JSON.Instance.ToJSON(c); + } + //colclass deserializedStore = ServiceStack.Text.JsonSerializer.DeserializeFromString(jsonText); + //Console.WriteLine("Size = " + jsonText.Length); + Console.WriteLine("time ms = " + DateTime.Now.Subtract(st).TotalMilliseconds); + } + + [Test] + public void b_new_deserializer() + { + DateTime st = DateTime.Now; + colclass c; + string jsonText = null; + c= CreateObject(); + object o ; + jsonText = JSON.Instance.ToJSON(c); + for (int i = 0; i < count; i++) + { + o=JSON.Instance.ToObject(jsonText); + } + //colclass deserializedStore = ServiceStack.Text.JsonSerializer.DeserializeFromString(jsonText); + //Console.WriteLine("Size = " + jsonText.Length); + Console.WriteLine("time ms = " + DateTime.Now.Subtract(st).TotalMilliseconds); + } + + [Test] + public void a_Stack_Serializer() + { + DateTime st = DateTime.Now; + colclass c; + string jsonText = null; + c= CreateObject(); + for (int i = 0; i < count; i++) + { + jsonText = ServiceStack.Text.JsonSerializer.SerializeToString(c); + } + //colclass deserializedStore = ServiceStack.Text.JsonSerializer.DeserializeFromString(jsonText); + //Console.WriteLine("Size = " + jsonText.Length); + Console.WriteLine("time ms = " + DateTime.Now.Subtract(st).TotalMilliseconds); + } + + + [Test] + public void a_Lit_Serializer() + { + DateTime st = DateTime.Now; + colclass c; + string jsonText = null; + c= CreateObject(); + for (int i = 0; i < count; i++) + { + jsonText = JSON.Instance.ToJSON(c); + } + //object deserializedStore = JsonMapper.ToObject(jsonText); + //Console.WriteLine("Size = " + jsonText.Length); + Console.WriteLine("time ms = " + DateTime.Now.Subtract(st).TotalMilliseconds); + } + + [Test] + public void a_nJson_Serializer() + { + DateTime st = DateTime.Now; + colclass c; + JsonSerializerSettings s = null; + string jsonText = null; + s = new JsonSerializerSettings(); + s.TypeNameHandling = TypeNameHandling.All; + c= CreateObject(); + + for (int i = 0; i < count; i++) + { + jsonText = JsonConvert.SerializeObject(c, Formatting.Indented, s); + } + //Console.WriteLine("Size = " + jsonText.Length); + //colclass deserializedStore = (colclass)JsonConvert.DeserializeObject(jsonText, typeof(colclass), s); + Console.WriteLine("time ms = " + DateTime.Now.Subtract(st).TotalMilliseconds); + } + + + [Test] + public void b_nJson_DeSerializer() + { + DateTime st = DateTime.Now; + colclass c; + colclass deserializedStore = null; + JsonSerializerSettings s = null; + string jsonText = null; + c= CreateObject(); + s = new JsonSerializerSettings(); + s.TypeNameHandling = TypeNameHandling.All; + jsonText = JsonConvert.SerializeObject(c, Formatting.Indented, s); + for (int i = 0; i < count; i++) + { + deserializedStore = (colclass)JsonConvert.DeserializeObject(jsonText, typeof(colclass), s); + } + //WriteObject(deserializedStore); + Console.WriteLine("time ms = " + DateTime.Now.Subtract(st).TotalMilliseconds); + } + + [Test] + public void b_bin_DeSerializer() + { + DateTime st = DateTime.Now; + colclass c; + colclass deserializedStore= null; + c= CreateObject(); + BinaryFormatter bf = new BinaryFormatter(); + MemoryStream ms = new MemoryStream(); + bf.Serialize(ms,c); + + for (int i = 0; i < count; i++) + { + ms.Seek(0L,SeekOrigin.Begin); + deserializedStore = (colclass)bf.Deserialize(ms); + } + //WriteObject(deserializedStore); + Console.WriteLine("time ms = " + DateTime.Now.Subtract(st).TotalMilliseconds); + } + + [Test] + public void a_bin_Serializer() + { + DateTime st = DateTime.Now; + colclass c; + c= CreateObject(); + BinaryFormatter bf = new BinaryFormatter(); + MemoryStream ms = new MemoryStream(); + for (int i = 0; i < count; i++) + { + ms=new MemoryStream(); + bf.Serialize(ms,c); + } + //WriteObject(deserializedStore); + //Console.WriteLine("Size = " + ms.Length); + Console.WriteLine("time ms = " + DateTime.Now.Subtract(st).TotalMilliseconds); + } + + [Test] + public void b_Stack_DeSerializer() + { + DateTime st = DateTime.Now; + colclass c; + colclass deserializedStore= null; + string jsonText = null; + c= CreateObject(); + jsonText = ServiceStack.Text.JsonSerializer.SerializeToString(c); + for (int i = 0; i < count; i++) + { + deserializedStore = ServiceStack.Text.JsonSerializer.DeserializeFromString(jsonText); + } + //WriteObject(deserializedStore); + Console.WriteLine("time ms = " + DateTime.Now.Subtract(st).TotalMilliseconds); + } + + public static colclass CreateObject() + { + var c = new colclass(); + //c.ppp = "hello"; + //c.ds = ds; + //c.hash.Add("pppp",new class1("1", "1", Guid.NewGuid())); + //c.hash.Add(22,new class2("2", "2", "desc1")); + c.done=true; + c.items.Add(new class1("1", "1", Guid.NewGuid())); + c.items.Add(new class2("2", "2", "desc1")); + c.items.Add(new class1("3", "3", Guid.NewGuid())); + c.items.Add(new class2("4", "4", "desc2")); + return c; + } + + [Test] + public void b_Lit_DeSerializer() + { + DateTime st = DateTime.Now; + colclass c; + colclass deserializedStore=null; + string jsonText = null; + c= CreateObject(); + jsonText = JSON.Instance.ToJSON(c); + for (int i = 0; i < count; i++) + { + deserializedStore = (colclass)JSON.Instance.ToObject(jsonText); + } + //WriteObject(deserializedStore); + Console.WriteLine("time ms = " + DateTime.Now.Subtract(st).TotalMilliseconds); + } + + private void WriteObject(colclass obj) + { + foreach(object c in obj.items) + ;//Console.WriteLine(""+c.GetType()); + } + + public static DataSet CreateDataset() + { + DataSet ds = new DataSet(); + for (int j = 1; j < 3; j++) + { + DataTable dt = new DataTable(); + dt.TableName = "Table" + j; + dt.Columns.Add("col1", typeof(int)); + dt.Columns.Add("col2", typeof(string)); + dt.Columns.Add("col3", typeof(Guid)); + dt.Columns.Add("col4", typeof(string)); + dt.Columns.Add("col5", typeof(bool)); + dt.Columns.Add("col6", typeof(string)); + dt.Columns.Add("col7", typeof(string)); + ds.Tables.Add(dt); + Random rrr = new Random(); + for (int i = 0; i < 100; i++) + { + DataRow dr = dt.NewRow(); + dr[0] = rrr.Next(int.MaxValue); + dr[1] = "" + rrr.Next(int.MaxValue); + dr[2] = Guid.NewGuid(); + dr[3] = "" + rrr.Next(int.MaxValue); + dr[4] = true; + dr[5] = "" + rrr.Next(int.MaxValue); + dr[6] = "" + rrr.Next(int.MaxValue); + + dt.Rows.Add(dr); + } + } + return ds; + } + } +} diff --git a/fastJSON v1.9.6/UnitTests/Properties/AssemblyInfo.cs b/fastJSON v1.9.6/UnitTests/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..68c9364 --- /dev/null +++ b/fastJSON v1.9.6/UnitTests/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("UnitTests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("UnitTests")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("d9760175-5f53-4859-9e05-4f48d62d4219")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/fastJSON v1.9.6/UnitTests/UnitTests.csproj b/fastJSON v1.9.6/UnitTests/UnitTests.csproj new file mode 100644 index 0000000..7462cad --- /dev/null +++ b/fastJSON v1.9.6/UnitTests/UnitTests.csproj @@ -0,0 +1,55 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {F4BFF0D2-45F6-413B-B1E7-BC4A0D6596FC} + Library + Properties + UnitTests + UnitTests + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + {207E91B1-C9F8-4913-88E1-3549EF5F3273} + fastJSON + + + + + \ No newline at end of file diff --git a/fastJSON v1.9.6/consoletest.sln b/fastJSON v1.9.6/consoletest.sln new file mode 100644 index 0000000..9bece82 --- /dev/null +++ b/fastJSON v1.9.6/consoletest.sln @@ -0,0 +1,42 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C# Express 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "consoletest", "consoletest\consoletest.csproj", "{6BADD8B3-618E-412A-BBCA-8420EFD5B62E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "fastJSON", "fastJSON\fastJSON.csproj", "{207E91B1-C9F8-4913-88E1-3549EF5F3273}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "UnitTests\UnitTests.csproj", "{F4BFF0D2-45F6-413B-B1E7-BC4A0D6596FC}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6BADD8B3-618E-412A-BBCA-8420EFD5B62E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6BADD8B3-618E-412A-BBCA-8420EFD5B62E}.Debug|x86.ActiveCfg = Debug|x86 + {6BADD8B3-618E-412A-BBCA-8420EFD5B62E}.Debug|x86.Build.0 = Debug|x86 + {6BADD8B3-618E-412A-BBCA-8420EFD5B62E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6BADD8B3-618E-412A-BBCA-8420EFD5B62E}.Release|x86.ActiveCfg = Release|x86 + {6BADD8B3-618E-412A-BBCA-8420EFD5B62E}.Release|x86.Build.0 = Release|x86 + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Debug|Any CPU.Build.0 = Debug|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Debug|x86.ActiveCfg = Debug|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Debug|x86.Build.0 = Debug|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Release|Any CPU.ActiveCfg = Release|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Release|Any CPU.Build.0 = Release|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Release|x86.ActiveCfg = Release|Any CPU + {207E91B1-C9F8-4913-88E1-3549EF5F3273}.Release|x86.Build.0 = Release|Any CPU + {F4BFF0D2-45F6-413B-B1E7-BC4A0D6596FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F4BFF0D2-45F6-413B-B1E7-BC4A0D6596FC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F4BFF0D2-45F6-413B-B1E7-BC4A0D6596FC}.Debug|x86.ActiveCfg = Debug|Any CPU + {F4BFF0D2-45F6-413B-B1E7-BC4A0D6596FC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F4BFF0D2-45F6-413B-B1E7-BC4A0D6596FC}.Release|Any CPU.Build.0 = Release|Any CPU + {F4BFF0D2-45F6-413B-B1E7-BC4A0D6596FC}.Release|x86.ActiveCfg = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/fastJSON v1.9.6/fastJSON/AssemblyInfo.cs b/fastJSON v1.9.6/fastJSON/AssemblyInfo.cs new file mode 100644 index 0000000..8674f78 --- /dev/null +++ b/fastJSON v1.9.6/fastJSON/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("myJSON")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("myJSON")] +[assembly: AssemblyCopyright("Copyright © 2010")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("9577e82c-a914-4f1b-aef2-385bf02bc1f0")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/fastJSON v1.9.6/fastJSON/Getters.cs b/fastJSON v1.9.6/fastJSON/Getters.cs new file mode 100644 index 0000000..58feec2 --- /dev/null +++ b/fastJSON v1.9.6/fastJSON/Getters.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace fastJSON +{ + internal class Getters + { + public string Name; + public JSON.GenericGetter Getter; + public Type propertyType; + } + + public class DatasetSchema + { + public List Info { get; set; } + public string Name { get; set; } + } +} diff --git a/fastJSON v1.9.6/fastJSON/JSON.cs b/fastJSON v1.9.6/fastJSON/JSON.cs new file mode 100644 index 0000000..3d7c027 --- /dev/null +++ b/fastJSON v1.9.6/fastJSON/JSON.cs @@ -0,0 +1,908 @@ +using System; +using System.Collections; +using System.Collections.Generic; +#if SILVERLIGHT + +#else +using System.Data; +#endif +using System.Globalization; +using System.IO; +using System.Reflection; +using System.Reflection.Emit; +using System.Xml; + +namespace fastJSON +{ + public delegate string Serialize(object data); + public delegate object Deserialize(string data); + + public class JSON + { + public readonly static JSON Instance = new JSON(); + + private JSON() + { + } + public bool UseOptimizedDatasetSchema = true; + public bool UseFastGuid = true; + public bool UseSerializerExtension = true; + public bool IndentOutput = false; + public bool SerializeNullValues = true; + public bool UseUTCDateTime = false; + public bool ShowReadOnlyProperties = false; + public bool UsingGlobalTypes = true; + + public string ToJSON(object obj) + { + return ToJSON(obj, UseSerializerExtension, UseFastGuid, UseOptimizedDatasetSchema, SerializeNullValues); + } + + public string ToJSON(object obj, + bool enableSerializerExtensions) + { + return ToJSON(obj, enableSerializerExtensions, UseFastGuid, UseOptimizedDatasetSchema, SerializeNullValues); + } + + public string ToJSON(object obj, + bool enableSerializerExtensions, + bool enableFastGuid) + { + return ToJSON(obj, enableSerializerExtensions, enableFastGuid, UseOptimizedDatasetSchema, SerializeNullValues); + } + + public string ToJSON(object obj, + bool enableSerializerExtensions, + bool enableFastGuid, + bool enableOptimizedDatasetSchema, + bool serializeNullValues) + { + return new JSONSerializer(enableOptimizedDatasetSchema, enableFastGuid, enableSerializerExtensions, serializeNullValues, IndentOutput).ConvertToJSON(obj); + } + + public object Parse(string json) + { + return new JsonParser(json).Decode(); + } + + public T ToObject(string json) + { + return (T)ToObject(json, typeof(T)); + } + + public object ToObject(string json) + { + return ToObject(json, null); + } + + public object ToObject(string json, Type type) + { + Dictionary ht = new JsonParser(json).Decode() as Dictionary; + if (ht == null) return null; + return ParseDictionary(ht, null, type); + } + +#if CUSTOMTYPE + internal SafeDictionary _customSerializer = new SafeDictionary(); + internal SafeDictionary _customDeserializer = new SafeDictionary(); + + public void RegisterCustomType(Type type, Serialize serializer, Deserialize deserializer) + { + if (type != null && serializer != null && deserializer != null) + { + _customSerializer.Add(type, serializer); + _customDeserializer.Add(type, deserializer); + // reset property cache + _propertycache = new SafeDictionary>(); + } + } + + internal bool IsTypeRegistered(Type t) + { + Serialize s; + return _customSerializer.TryGetValue(t, out s); + } +#endif + + #region [ PROPERTY GET SET CACHE ] + SafeDictionary _tyname = new SafeDictionary(); + internal string GetTypeAssemblyName(Type t) + { + string val = ""; + if (_tyname.TryGetValue(t, out val)) + return val; + else + { + string s = t.AssemblyQualifiedName; + _tyname.Add(t, s); + return s; + } + } + + SafeDictionary _typecache = new SafeDictionary(); + private Type GetTypeFromCache(string typename) + { + Type val = null; + if (_typecache.TryGetValue(typename, out val)) + return val; + else + { + Type t = Type.GetType(typename); + _typecache.Add(typename, t); + return t; + } + } + + SafeDictionary _constrcache = new SafeDictionary(); + private delegate object CreateObject(); + private object FastCreateInstance(Type objtype) + { + try + { + CreateObject c = null; + if (_constrcache.TryGetValue(objtype, out c)) + { + return c(); + } + else + { + DynamicMethod dynMethod = new DynamicMethod("_", objtype, null); + ILGenerator ilGen = dynMethod.GetILGenerator(); + + ilGen.Emit(OpCodes.Newobj, objtype.GetConstructor(Type.EmptyTypes)); + ilGen.Emit(OpCodes.Ret); + c = (CreateObject)dynMethod.CreateDelegate(typeof(CreateObject)); + _constrcache.Add(objtype, c); + return c(); + } + } + catch (Exception exc) + { + throw new Exception(string.Format("Failed to fast create instance for type '{0}' from assemebly '{1}'", + objtype.FullName, objtype.AssemblyQualifiedName), exc); + } + } + + private struct myPropInfo + { + public bool filled; + public Type pt; + public Type bt; + public Type changeType; + public bool isDictionary; + public bool isValueType; + public bool isGenericType; + public bool isArray; + public bool isByteArray; + public bool isGuid; +#if !SILVERLIGHT + public bool isDataSet; + public bool isDataTable; + public bool isHashtable; +#endif + public GenericSetter setter; + public bool isEnum; + public bool isDateTime; + public Type[] GenericTypes; + public bool isInt; + public bool isLong; + public bool isString; + public bool isBool; + public bool isClass; + public GenericGetter getter; + public bool isStringDictionary; + public string Name; +#if CUSTOMTYPE + public bool isCustomType; +#endif + public bool CanWrite; + } + + SafeDictionary> _propertycache = new SafeDictionary>(); + private SafeDictionary Getproperties(Type type, string typename) + { + SafeDictionary sd = null; + if (_propertycache.TryGetValue(typename, out sd)) + { + return sd; + } + else + { + sd = new SafeDictionary(); + PropertyInfo[] pr = type.GetProperties(BindingFlags.Public | BindingFlags.Instance); + foreach (PropertyInfo p in pr) + { + myPropInfo d = CreateMyProp(p.PropertyType, p.Name); + d.CanWrite = p.CanWrite; + d.setter = CreateSetMethod(p); + d.getter = CreateGetMethod(p); + sd.Add(p.Name, d); + } + FieldInfo[] fi = type.GetFields(BindingFlags.Public | BindingFlags.Instance); + foreach (FieldInfo f in fi) + { + myPropInfo d = CreateMyProp(f.FieldType, f.Name); + d.setter = CreateSetField(type, f); + d.getter = CreateGetField(type, f); + sd.Add(f.Name, d); + } + + _propertycache.Add(typename, sd); + return sd; + } + } + + private myPropInfo CreateMyProp(Type t, string name) + { + myPropInfo d = new myPropInfo(); + d.filled = true; + d.CanWrite = true; + d.pt = t; + d.Name = name; + d.isDictionary = t.Name.Contains("Dictionary"); + if (d.isDictionary) + d.GenericTypes = t.GetGenericArguments(); + d.isValueType = t.IsValueType; + d.isGenericType = t.IsGenericType; + d.isArray = t.IsArray; + if (d.isArray) + d.bt = t.GetElementType(); + if (d.isGenericType) + d.bt = t.GetGenericArguments()[0]; + d.isByteArray = t == typeof(byte[]); + d.isGuid = (t == typeof(Guid) || t == typeof(Guid?)); +#if !SILVERLIGHT + d.isHashtable = t == typeof(Hashtable); + d.isDataSet = t == typeof(DataSet); + d.isDataTable = t == typeof(DataTable); +#endif + + d.changeType = GetChangeType(t); + d.isEnum = t.IsEnum; + d.isDateTime = t == typeof(DateTime) || t == typeof(DateTime?); + d.isInt = t == typeof(int) || t == typeof(int?); + d.isLong = t == typeof(long) || t == typeof(long?); + d.isString = t == typeof(string); + d.isBool = t == typeof(bool) || t == typeof(bool?); + d.isClass = t.IsClass; + + if (d.isDictionary && d.GenericTypes.Length>0 && d.GenericTypes[0] == typeof(string)) + d.isStringDictionary = true; + +#if CUSTOMTYPE + if (IsTypeRegistered(t)) + d.isCustomType = true; +#endif + return d; + } + + private delegate void GenericSetter(object target, object value); + + private static GenericSetter CreateSetMethod(PropertyInfo propertyInfo) + { + MethodInfo setMethod = propertyInfo.GetSetMethod(); + if (setMethod == null) + return null; + + Type[] arguments = new Type[2]; + arguments[0] = arguments[1] = typeof(object); + + DynamicMethod setter = new DynamicMethod("_", typeof(void), arguments); + ILGenerator il = setter.GetILGenerator(); + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Castclass, propertyInfo.DeclaringType); + il.Emit(OpCodes.Ldarg_1); + + if (propertyInfo.PropertyType.IsClass) + il.Emit(OpCodes.Castclass, propertyInfo.PropertyType); + else + il.Emit(OpCodes.Unbox_Any, propertyInfo.PropertyType); + + il.EmitCall(OpCodes.Callvirt, setMethod, null); + il.Emit(OpCodes.Ret); + + return (GenericSetter)setter.CreateDelegate(typeof(GenericSetter)); + } + + internal delegate object GenericGetter(object obj); + + private static GenericGetter CreateGetField(Type type, FieldInfo fieldInfo) + { + DynamicMethod dynamicGet = new DynamicMethod("_", typeof(object), new Type[] { typeof(object) }, type, true); + ILGenerator il = dynamicGet.GetILGenerator(); + + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Ldfld, fieldInfo); + if (fieldInfo.FieldType.IsValueType) + il.Emit(OpCodes.Box, fieldInfo.FieldType); + il.Emit(OpCodes.Ret); + + return (GenericGetter)dynamicGet.CreateDelegate(typeof(GenericGetter)); + } + + private static GenericSetter CreateSetField(Type type, FieldInfo fieldInfo) + { + Type[] arguments = new Type[2]; + arguments[0] = arguments[1] = typeof(object); + + DynamicMethod dynamicSet = new DynamicMethod("_", typeof(void), arguments, type, true); + ILGenerator il = dynamicSet.GetILGenerator(); + + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Ldarg_1); + if (fieldInfo.FieldType.IsValueType) + il.Emit(OpCodes.Unbox_Any, fieldInfo.FieldType); + il.Emit(OpCodes.Stfld, fieldInfo); + il.Emit(OpCodes.Ret); + + return (GenericSetter)dynamicSet.CreateDelegate(typeof(GenericSetter)); + } + + private GenericGetter CreateGetMethod(PropertyInfo propertyInfo) + { + MethodInfo getMethod = propertyInfo.GetGetMethod(); + if (getMethod == null) + return null; + + Type[] arguments = new Type[1]; + arguments[0] = typeof(object); + + DynamicMethod getter = new DynamicMethod("_", typeof(object), arguments); + ILGenerator il = getter.GetILGenerator(); + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Castclass, propertyInfo.DeclaringType); + il.EmitCall(OpCodes.Callvirt, getMethod, null); + + if (!propertyInfo.PropertyType.IsClass) + il.Emit(OpCodes.Box, propertyInfo.PropertyType); + + il.Emit(OpCodes.Ret); + + return (GenericGetter)getter.CreateDelegate(typeof(GenericGetter)); + } + + readonly SafeDictionary> _getterscache = new SafeDictionary>(); + internal List GetGetters(Type type) + { + List val = null; + if (_getterscache.TryGetValue(type, out val)) + return val; + + PropertyInfo[] props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance); + List getters = new List(); + foreach (PropertyInfo p in props) + { + if (!p.CanWrite && ShowReadOnlyProperties == false) continue; + + object[] att = p.GetCustomAttributes(typeof(System.Xml.Serialization.XmlIgnoreAttribute), false); + if (att != null && att.Length > 0) + continue; + + JSON.GenericGetter g = CreateGetMethod(p); + if (g != null) + { + Getters gg = new Getters(); + gg.Name = p.Name; + gg.Getter = g; + gg.propertyType = p.PropertyType; + getters.Add(gg); + } + } + + FieldInfo[] fi = type.GetFields(BindingFlags.Instance | BindingFlags.Public); + foreach (var f in fi) + { + object[] att = f.GetCustomAttributes(typeof(System.Xml.Serialization.XmlIgnoreAttribute), false); + if (att != null && att.Length > 0) + continue; + + JSON.GenericGetter g = CreateGetField(type, f); + if (g != null) + { + Getters gg = new Getters(); + gg.Name = f.Name; + gg.Getter = g; + gg.propertyType = f.FieldType; + getters.Add(gg); + } + } + + _getterscache.Add(type, getters); + return getters; + } + + private object ChangeType(object value, Type conversionType) + { + if (conversionType == typeof(int)) + return (int)CreateLong((string)value); + + else if (conversionType == typeof(long)) + return CreateLong((string)value); + + else if (conversionType == typeof(string)) + return (string)value; + + else if (conversionType == typeof(Guid)) + return CreateGuid((string)value); + + else if (conversionType.IsEnum) + return CreateEnum(conversionType, (string)value); + + return Convert.ChangeType(value, conversionType, CultureInfo.InvariantCulture); + } + #endregion + + + private object ParseDictionary(Dictionary d, Dictionary globaltypes, Type type) + { + object tn = ""; + if (d.TryGetValue("$types", out tn)) + { + UsingGlobalTypes = true; + globaltypes = new Dictionary(); + foreach (var kv in (Dictionary)tn) + { + globaltypes.Add((string)kv.Value, kv.Key); + } + } + + bool found = d.TryGetValue("$type", out tn); +#if !SILVERLIGHT + if (found == false && type == typeof(System.Object)) + { + return CreateDataset(d, globaltypes); + } +#endif + if (found) + { + if (UsingGlobalTypes) + { + object tname = ""; + if (globaltypes.TryGetValue((string)tn, out tname)) + tn = tname; + } + type = GetTypeFromCache((string)tn); + } + + if (type == null) + throw new Exception("Cannot determine type"); + + string typename = type.FullName; + object o = FastCreateInstance(type); + SafeDictionary props = Getproperties(type, typename); + foreach (string name in d.Keys) + { + if (name == "$map") + { + ProcessMap(o, props, (Dictionary)d[name]); + continue; + } + myPropInfo pi; + if (props.TryGetValue(name, out pi) == false) + continue; + if (pi.filled == true) + { + object v = d[name]; + + if (v != null) + { + object oset = null; + + if (pi.isInt) + oset = (int)CreateLong((string)v); +#if CUSTOMTYPE + else if (pi.isCustomType) + oset = CreateCustom((string)v, pi.pt); +#endif + else if (pi.isLong) + oset = CreateLong((string)v); + + else if (pi.isString) + oset = (string)v; + + else if (pi.isBool) + oset = (bool)v; + + else if (pi.isGenericType && pi.isValueType == false && pi.isDictionary == false) +#if SILVERLIGHT + oset = CreateGenericList((List)v, pi.pt, pi.bt); +#else + oset = CreateGenericList((ArrayList)v, pi.pt, pi.bt, globaltypes); +#endif + else if (pi.isByteArray) + oset = Convert.FromBase64String((string)v); + + else if (pi.isArray && pi.isValueType == false) +#if SILVERLIGHT + oset = CreateArray((List)v, pi.pt, pi.bt); +#else + oset = CreateArray((ArrayList)v, pi.pt, pi.bt, globaltypes); +#endif + else if (pi.isGuid) + oset = CreateGuid((string)v); +#if !SILVERLIGHT + else if (pi.isDataSet) + oset = CreateDataset((Dictionary)v, globaltypes); + + else if (pi.isDataTable) + oset = this.CreateDataTable((Dictionary)v, globaltypes); +#endif + + else if (pi.isStringDictionary) + oset = CreateStringKeyDictionary((Dictionary)v, pi.pt, pi.GenericTypes, globaltypes); + +#if !SILVERLIGHT + else if (pi.isDictionary || pi.isHashtable) + oset = CreateDictionary((ArrayList)v, pi.pt, pi.GenericTypes, globaltypes); +#else + else if (pi.isDictionary) + oset = CreateDictionary((List)v, pi.pt, pi.GenericTypes); +#endif + + else if (pi.isEnum) + oset = CreateEnum(pi.pt, (string)v); + + else if (pi.isDateTime) + oset = CreateDateTime((string)v); + + else if (pi.isClass && v is Dictionary) + oset = ParseDictionary((Dictionary)v, globaltypes, pi.pt); + + else if (pi.isValueType) + oset = ChangeType(v, pi.changeType); + +#if SILVERLIGHT + else if (v is List) + oset = CreateArray((List)v, pi.pt, typeof(object)); +#else + else if (v is ArrayList) + oset = CreateArray((ArrayList)v, pi.pt, typeof(object), globaltypes); +#endif + else + oset = v; + + if (pi.CanWrite) + pi.setter(o, oset); + } + } + } + return o; + } + +#if CUSTOMTYPE + private object CreateCustom(string v, Type type) + { + Deserialize d; + _customDeserializer.TryGetValue(type, out d); + return d(v); + } +#endif + + private void ProcessMap(object obj, SafeDictionary props, Dictionary dic) + { + foreach (KeyValuePair kv in dic) + { + myPropInfo p = props[kv.Key]; + object o = p.getter(obj); + Type t = Type.GetType((string)kv.Value); + if (t == typeof(Guid)) + p.setter(obj, CreateGuid((string)o)); + } + } + + private long CreateLong(string s) + { + long num = 0; + bool neg = false; + foreach (char cc in s) + { + if (cc == '-') + neg = true; + else if (cc == '+') + neg = false; + else + { + num *= 10; + num += (int)(cc - '0'); + } + } + + return neg ? -num : num; + } + + private object CreateEnum(Type pt, string v) + { + // TODO : optimize create enum +#if !SILVERLIGHT + return Enum.Parse(pt, v); +#else + return Enum.Parse(pt, v, true); +#endif + } + + private Guid CreateGuid(string s) + { + if (s.Length > 30) + return new Guid(s); + else + return new Guid(Convert.FromBase64String(s)); + } + + private DateTime CreateDateTime(string value) + { + bool utc = false; + // 0123456789012345678 + // datetime format = yyyy-MM-dd HH:mm:ss + int year = (int)CreateLong(value.Substring(0, 4)); + int month = (int)CreateLong(value.Substring(5, 2)); + int day = (int)CreateLong(value.Substring(8, 2)); + int hour = (int)CreateLong(value.Substring(11, 2)); + int min = (int)CreateLong(value.Substring(14, 2)); + int sec = (int)CreateLong(value.Substring(17, 2)); + + if (value.EndsWith("Z")) + utc = true; + + if (UseUTCDateTime == false && utc == false) + return new DateTime(year, month, day, hour, min, sec); + else + return new DateTime(year, month, day, hour, min, sec, DateTimeKind.Utc).ToLocalTime(); + } + +#if SILVERLIGHT + private object CreateArray(List data, Type pt, Type bt) + { + Array col = Array.CreateInstance(bt, data.Count); + // create an array of objects + for (int i = 0; i < data.Count; i++)// each (object ob in data) + { + object ob = data[i]; + if (ob is IDictionary) + col.SetValue(ParseDictionary((Dictionary)ob, bt), i); + else + col.SetValue(ChangeType(ob, bt), i); + } + + return col; + } +#else + private object CreateArray(ArrayList data, Type pt, Type bt, Dictionary globalTypes) + { + ArrayList col = new ArrayList(); + // create an array of objects + foreach (object ob in data) + { + if (ob is IDictionary) + col.Add(ParseDictionary((Dictionary)ob, globalTypes, bt)); + else + col.Add(ChangeType(ob, bt)); + } + return col.ToArray(bt); + } +#endif + + +#if SILVERLIGHT + private object CreateGenericList(List data, Type pt, Type bt) +#else + private object CreateGenericList(ArrayList data, Type pt, Type bt, Dictionary globalTypes) +#endif + { + IList col = (IList)FastCreateInstance(pt); + // create an array of objects + foreach (object ob in data) + { + if (ob is IDictionary) + col.Add(ParseDictionary((Dictionary)ob, globalTypes, bt)); +#if SILVERLIGHT + else if (ob is List) + col.Add(((List)ob).ToArray()); +#else + else if (ob is ArrayList) + col.Add(((ArrayList)ob).ToArray()); +#endif + else + col.Add(ChangeType(ob, bt)); + } + return col; + } + + private object CreateStringKeyDictionary(Dictionary reader, Type pt, Type[] types, Dictionary globalTypes) + { + var col = (IDictionary)FastCreateInstance(pt); + Type t1 = null; + Type t2 = null; + if (types != null) + { + t1 = types[0]; + t2 = types[1]; + } + + foreach (KeyValuePair values in reader) + { + var key = values.Key;//ChangeType(values.Key, t1); + object val = null; + if (values.Value is Dictionary) + val = ParseDictionary((Dictionary)values.Value, globalTypes, t2); + else + val = ChangeType(values.Value, t2); + col.Add(key, val); + } + + return col; + } + +#if SILVERLIGHT + private object CreateDictionary(List reader, Type pt, Type[] types) +#else + private object CreateDictionary(ArrayList reader, Type pt, Type[] types, Dictionary globalTypes) +#endif + { + IDictionary col = (IDictionary)FastCreateInstance(pt); + Type t1 = null; + Type t2 = null; + if (types != null) + { + t1 = types[0]; + t2 = types[1]; + } + + foreach (Dictionary values in reader) + { + object key = values["k"]; + object val = values["v"]; + + if (key is Dictionary) + key = ParseDictionary((Dictionary)key, globalTypes, t1); + else + key = ChangeType(key, t1); + + if (val is Dictionary) + val = ParseDictionary((Dictionary)val, globalTypes, t2); + else + val = ChangeType(val, t2); + + col.Add(key, val); + } + + return col; + } + + private Type GetChangeType(Type conversionType) + { + if (conversionType.IsGenericType && conversionType.GetGenericTypeDefinition().Equals(typeof(Nullable<>))) + return conversionType.GetGenericArguments()[0]; + + return conversionType; + } +#if !SILVERLIGHT + private DataSet CreateDataset(Dictionary reader, Dictionary globalTypes) + { + DataSet ds = new DataSet(); + ds.EnforceConstraints = false; + ds.BeginInit(); + + // read dataset schema here + ReadSchema(reader, ds, globalTypes); + + foreach (KeyValuePair pair in reader) + { + if (pair.Key == "$type" || pair.Key == "$schema") continue; + + ArrayList rows = (ArrayList)pair.Value; + if (rows == null) continue; + + DataTable dt = ds.Tables[pair.Key]; + ReadDataTable(rows, dt); + } + + ds.EndInit(); + + return ds; + } + + private void ReadSchema(Dictionary reader, DataSet ds, Dictionary globalTypes) + { + var schema = reader["$schema"]; + + if (schema is string) + { + TextReader tr = new StringReader((string)schema); + ds.ReadXmlSchema(tr); + } + else + { + DatasetSchema ms = (DatasetSchema)ParseDictionary((Dictionary)schema, globalTypes, typeof(DatasetSchema)); + ds.DataSetName = ms.Name; + for (int i = 0; i < ms.Info.Count; i += 3) + { + if (ds.Tables.Contains(ms.Info[i]) == false) + ds.Tables.Add(ms.Info[i]); + ds.Tables[ms.Info[i]].Columns.Add(ms.Info[i + 1], Type.GetType(ms.Info[i + 2])); + } + } + } + + private void ReadDataTable(ArrayList rows, DataTable dt) + { + dt.BeginInit(); + dt.BeginLoadData(); + List guidcols = new List(); + List datecol = new List(); + + foreach (DataColumn c in dt.Columns) + { + if (c.DataType == typeof(Guid) || c.DataType == typeof(Guid?)) + guidcols.Add(c.Ordinal); + if (UseUTCDateTime && (c.DataType == typeof(DateTime) || c.DataType == typeof(DateTime?))) + datecol.Add(c.Ordinal); + } + + foreach (ArrayList row in rows) + { + object[] v = new object[row.Count]; + row.CopyTo(v, 0); + foreach (int i in guidcols) + { + string s = (string)v[i]; + if (s != null && s.Length < 36) + v[i] = new Guid(Convert.FromBase64String(s)); + } + if (UseUTCDateTime) + { + foreach (int i in datecol) + { + string s = (string)v[i]; + if (s != null) + v[i] = CreateDateTime(s); + } + } + dt.Rows.Add(v); + } + + dt.EndLoadData(); + dt.EndInit(); + } + + DataTable CreateDataTable(Dictionary reader, Dictionary globalTypes) + { + var dt = new DataTable(); + + // read dataset schema here + var schema = reader["$schema"]; + + if (schema is string) + { + TextReader tr = new StringReader((string)schema); + dt.ReadXmlSchema(tr); + } + else + { + var ms = (DatasetSchema)this.ParseDictionary((Dictionary)schema, globalTypes, typeof(DatasetSchema)); + dt.TableName = ms.Info[0]; + for (int i = 0; i < ms.Info.Count; i += 3) + { + dt.Columns.Add(ms.Info[i + 1], Type.GetType(ms.Info[i + 2])); + } + } + + foreach (var pair in reader) + { + if (pair.Key == "$type" || pair.Key == "$schema") + continue; + + var rows = (ArrayList)pair.Value; + if (rows == null) + continue; + + if (!dt.TableName.Equals(pair.Key, StringComparison.InvariantCultureIgnoreCase)) + continue; + + ReadDataTable(rows, dt); + } + + return dt; + } +#endif + } +} \ No newline at end of file diff --git a/fastJSON v1.9.6/fastJSON/JsonParser.cs b/fastJSON v1.9.6/fastJSON/JsonParser.cs new file mode 100644 index 0000000..d6efcb9 --- /dev/null +++ b/fastJSON v1.9.6/fastJSON/JsonParser.cs @@ -0,0 +1,407 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.Text; + +namespace fastJSON +{ + /// + /// This class encodes and decodes JSON strings. + /// Spec. details, see http://www.json.org/ + /// + /// JSON uses Arrays and Objects. These correspond here to the datatypes ArrayList and Hashtable. + /// All numbers are parsed to doubles. + /// + internal class JsonParser + { + enum Token + { + None = -1, // Used to denote no Lookahead available + Curly_Open, + Curly_Close, + Squared_Open, + Squared_Close, + Colon, + Comma, + String, + Number, + True, + False, + Null + } + + readonly char[] json; + readonly StringBuilder s = new StringBuilder(); + Token lookAheadToken = Token.None; + int index; + + internal JsonParser(string json) + { + this.json = json.ToCharArray(); + } + + public object Decode() + { + return ParseValue(); + } + + private Dictionary ParseObject() + { + Dictionary table = new Dictionary(); + + ConsumeToken(); // { + + while (true) + { + switch (LookAhead()) + { + + case Token.Comma: + ConsumeToken(); + break; + + case Token.Curly_Close: + ConsumeToken(); + return table; + + default: + { + + // name + string name = ParseString(); + + // : + if (NextToken() != Token.Colon) + { + throw new Exception("Expected colon at index " + index); + } + + // value + object value = ParseValue(); + + table[name] = value; + } + break; + } + } + } + +#if SILVERLIGHT + private List ParseArray() + { + List array = new List(); +#else + private ArrayList ParseArray() + { + ArrayList array = new ArrayList(); +#endif + ConsumeToken(); // [ + + while (true) + { + switch (LookAhead()) + { + + case Token.Comma: + ConsumeToken(); + break; + + case Token.Squared_Close: + ConsumeToken(); + return array; + + default: + { + array.Add(ParseValue()); + } + break; + } + } + } + + private object ParseValue() + { + switch (LookAhead()) + { + case Token.Number: + return ParseNumber(); + + case Token.String: + return ParseString(); + + case Token.Curly_Open: + return ParseObject(); + + case Token.Squared_Open: + return ParseArray(); + + case Token.True: + ConsumeToken(); + return true; + + case Token.False: + ConsumeToken(); + return false; + + case Token.Null: + ConsumeToken(); + return null; + } + + throw new Exception("Unrecognized token at index" + index); + } + + private string ParseString() + { + ConsumeToken(); // " + + s.Length = 0; + + int runIndex = -1; + + while (index < json.Length) + { + var c = json[index++]; + + if (c == '"') + { + if (runIndex != -1) + { + if (s.Length == 0) + return new string(json, runIndex, index - runIndex - 1); + + s.Append(json, runIndex, index - runIndex - 1); + } + return s.ToString(); + } + + if (c != '\\') + { + if (runIndex == -1) + runIndex = index - 1; + + continue; + } + + if (index == json.Length) break; + + if (runIndex != -1) + { + s.Append(json, runIndex, index - runIndex - 1); + runIndex = -1; + } + + switch (json[index++]) + { + case '"': + s.Append('"'); + break; + + case '\\': + s.Append('\\'); + break; + + case '/': + s.Append('/'); + break; + + case 'b': + s.Append('\b'); + break; + + case 'f': + s.Append('\f'); + break; + + case 'n': + s.Append('\n'); + break; + + case 'r': + s.Append('\r'); + break; + + case 't': + s.Append('\t'); + break; + + case 'u': + { + int remainingLength = json.Length - index; + if (remainingLength < 4) break; + + // parse the 32 bit hex into an integer codepoint + uint codePoint = ParseUnicode(json[index], json[index + 1], json[index + 2], json[index + 3]); + s.Append((char)codePoint); + + // skip 4 chars + index += 4; + } + break; + } + } + + throw new Exception("Unexpectedly reached end of string"); + } + + private uint ParseSingleChar(char c1, uint multipliyer) + { + uint p1 = 0; + if (c1 >= '0' && c1 <= '9') + p1 = (uint)(c1 - '0') * multipliyer; + else if (c1 >= 'A' && c1 <= 'F') + p1 = (uint)((c1 - 'A') + 10) * multipliyer; + else if (c1 >= 'a' && c1 <= 'f') + p1 = (uint)((c1 - 'a') + 10) * multipliyer; + return p1; + } + + private uint ParseUnicode(char c1, char c2, char c3, char c4) + { + uint p1 = ParseSingleChar(c1, 0x1000); + uint p2 = ParseSingleChar(c2, 0x100); + uint p3 = ParseSingleChar(c3, 0x10); + uint p4 = ParseSingleChar(c4, 1); + + return p1 + p2 + p3 + p4; + } + + private string ParseNumber() + { + ConsumeToken(); + + // Need to start back one place because the first digit is also a token and would have been consumed + var startIndex = index - 1; + + do + { + var c = json[index]; + + if ((c >= '0' && c <= '9') || c == '.' || c == '-' || c == '+' || c == 'e' || c == 'E') + { + if (++index == json.Length) throw new Exception("Unexpected end of string whilst parsing number"); + continue; + } + + break; + } while (true); + + return new string(json, startIndex, index - startIndex); + } + + private Token LookAhead() + { + if (lookAheadToken != Token.None) return lookAheadToken; + + return lookAheadToken = NextTokenCore(); + } + + private void ConsumeToken() + { + lookAheadToken = Token.None; + } + + private Token NextToken() + { + var result = lookAheadToken != Token.None ? lookAheadToken : NextTokenCore(); + + lookAheadToken = Token.None; + + return result; + } + + private Token NextTokenCore() + { + char c; + + // Skip past whitespace + do + { + c = json[index]; + + if (c > ' ') break; + if (c != ' ' && c != '\t' && c != '\n' && c != '\r') break; + + } while (++index < json.Length); + + if (index == json.Length) + { + throw new Exception("Reached end of string unexpectedly"); + } + + c = json[index]; + + index++; + + //if (c >= '0' && c <= '9') + // return Token.Number; + + switch (c) + { + case '{': + return Token.Curly_Open; + + case '}': + return Token.Curly_Close; + + case '[': + return Token.Squared_Open; + + case ']': + return Token.Squared_Close; + + case ',': + return Token.Comma; + + case '"': + return Token.String; + + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + case '-': case '+': case '.': + return Token.Number; + + case ':': + return Token.Colon; + + case 'f': + if (json.Length - index >= 4 && + json[index + 0] == 'a' && + json[index + 1] == 'l' && + json[index + 2] == 's' && + json[index + 3] == 'e') + { + index += 4; + return Token.False; + } + break; + + case 't': + if (json.Length - index >= 3 && + json[index + 0] == 'r' && + json[index + 1] == 'u' && + json[index + 2] == 'e') + { + index += 3; + return Token.True; + } + break; + + case 'n': + if (json.Length - index >= 3 && + json[index + 0] == 'u' && + json[index + 1] == 'l' && + json[index + 2] == 'l') + { + index += 3; + return Token.Null; + } + break; + + } + + throw new Exception("Could not find token at index " + --index); + } + } +} diff --git a/fastJSON v1.9.6/fastJSON/JsonSerializer.cs b/fastJSON v1.9.6/fastJSON/JsonSerializer.cs new file mode 100644 index 0000000..5760c07 --- /dev/null +++ b/fastJSON v1.9.6/fastJSON/JsonSerializer.cs @@ -0,0 +1,520 @@ +using System; +using System.Collections; +using System.Collections.Generic; +#if SILVERLIGHT + +#else +using System.Data; +#endif +using System.Globalization; +using System.IO; +using System.Text; + +namespace fastJSON +{ + internal class JSONSerializer + { + private readonly StringBuilder _output = new StringBuilder(); + readonly bool useMinimalDataSetSchema; + readonly bool fastguid = true; + readonly bool useExtension = true; + readonly bool serializeNulls = true; + readonly int _MAX_DEPTH = 10; + bool _Indent = false; + bool _useGlobalTypes = true; + int _current_depth = 0; + private Dictionary _globalTypes = new Dictionary(); + + internal JSONSerializer(bool UseMinimalDataSetSchema, bool UseFastGuid, bool UseExtensions, bool SerializeNulls, bool IndentOutput) + { + this.useMinimalDataSetSchema = UseMinimalDataSetSchema; + this.fastguid = UseFastGuid; + this.useExtension = UseExtensions; + _Indent = IndentOutput; + this.serializeNulls = SerializeNulls; + if (useExtension == false) + _useGlobalTypes = false; + } + + internal string ConvertToJSON(object obj) + { + WriteValue(obj); + + string str = ""; + if (_useGlobalTypes) + { + StringBuilder sb = new StringBuilder(); + sb.Append("{\"$types\":{"); + bool pendingSeparator = false; + foreach (var kv in _globalTypes) + { + if (pendingSeparator) sb.Append(','); + pendingSeparator = true; + sb.Append("\""); + sb.Append(kv.Key); + sb.Append("\":\""); + sb.Append(kv.Value); + sb.Append("\""); + } + sb.Append("},"); + str = sb.ToString() + _output.ToString(); + } + else + str = _output.ToString(); + + return str; + } + + private void WriteValue(object obj) + { + if (obj == null || obj is DBNull) + _output.Append("null"); + + else if (obj is string || obj is char) + WriteString((string)obj); + + else if (obj is Guid) + WriteGuid((Guid)obj); + + else if (obj is bool) + _output.Append(((bool)obj) ? "true" : "false"); // conform to standard + + else if ( + obj is int || obj is long || obj is double || + obj is decimal || obj is float || + obj is byte || obj is short || + obj is sbyte || obj is ushort || + obj is uint || obj is ulong + ) + _output.Append(((IConvertible)obj).ToString(NumberFormatInfo.InvariantInfo)); + + else if (obj is DateTime) + WriteDateTime((DateTime)obj); + + else if (obj is IDictionary && obj.GetType().IsGenericType && obj.GetType().GetGenericArguments()[0] == typeof(string)) + WriteStringDictionary((IDictionary)obj); + + else if (obj is IDictionary) + WriteDictionary((IDictionary)obj); +#if !SILVERLIGHT + else if (obj is DataSet) + WriteDataset((DataSet)obj); + + else if (obj is DataTable) + this.WriteDataTable((DataTable)obj); +#endif + else if (obj is byte[]) + WriteBytes((byte[])obj); + + else if (obj is Array || obj is IList || obj is ICollection) + WriteArray((IEnumerable)obj); + + else if (obj is Enum) + WriteEnum((Enum)obj); + +#if CUSTOMTYPE + else if (JSON.Instance.IsTypeRegistered(obj.GetType())) + WriteCustom(obj); +#endif + else + WriteObject(obj); + } + +#if CUSTOMTYPE + private void WriteCustom(object obj) + { + Serialize s; + JSON.Instance._customSerializer.TryGetValue(obj.GetType(), out s); + WriteStringFast(s(obj)); + } +#endif + + private void WriteEnum(Enum e) + { + // TODO : optimize enum write + WriteStringFast(e.ToString()); + } + + private void WriteGuid(Guid g) + { + if (fastguid == false) + WriteStringFast(g.ToString()); + else + WriteBytes(g.ToByteArray()); + } + + private void WriteBytes(byte[] bytes) + { +#if !SILVERLIGHT + WriteStringFast(Convert.ToBase64String(bytes, 0, bytes.Length, Base64FormattingOptions.None)); +#else + WriteStringFast(Convert.ToBase64String(bytes, 0, bytes.Length)); +#endif + } + + private void WriteDateTime(DateTime dateTime) + { + // datetime format standard : yyyy-MM-dd HH:mm:ss + DateTime dt = dateTime; + if (JSON.Instance.UseUTCDateTime) + dt = dateTime.ToUniversalTime(); + + _output.Append("\""); + _output.Append(dt.Year.ToString("0000", NumberFormatInfo.InvariantInfo)); + _output.Append("-"); + _output.Append(dt.Month.ToString("00", NumberFormatInfo.InvariantInfo)); + _output.Append("-"); + _output.Append(dt.Day.ToString("00", NumberFormatInfo.InvariantInfo)); + _output.Append(" "); + _output.Append(dt.Hour.ToString("00", NumberFormatInfo.InvariantInfo)); + _output.Append(":"); + _output.Append(dt.Minute.ToString("00", NumberFormatInfo.InvariantInfo)); + _output.Append(":"); + _output.Append(dt.Second.ToString("00", NumberFormatInfo.InvariantInfo)); + + if (JSON.Instance.UseUTCDateTime) + _output.Append("Z"); + + _output.Append("\""); + } +#if !SILVERLIGHT + private DatasetSchema GetSchema(DataTable ds) + { + if (ds == null) return null; + + DatasetSchema m = new DatasetSchema(); + m.Info = new List(); + m.Name = ds.TableName; + + foreach (DataColumn c in ds.Columns) + { + m.Info.Add(ds.TableName); + m.Info.Add(c.ColumnName); + m.Info.Add(c.DataType.ToString()); + } + // TODO : serialize relations and constraints here + + return m; + } + + private DatasetSchema GetSchema(DataSet ds) + { + if (ds == null) return null; + + DatasetSchema m = new DatasetSchema(); + m.Info = new List(); + m.Name = ds.DataSetName; + + foreach (DataTable t in ds.Tables) + { + foreach (DataColumn c in t.Columns) + { + m.Info.Add(t.TableName); + m.Info.Add(c.ColumnName); + m.Info.Add(c.DataType.ToString()); + } + } + // TODO : serialize relations and constraints here + + return m; + } + + private string GetXmlSchema(DataTable dt) + { + using (var writer = new StringWriter()) + { + dt.WriteXmlSchema(writer); + return dt.ToString(); + } + } + + private void WriteDataset(DataSet ds) + { + _output.Append('{'); + if (useExtension) + { + WritePair("$schema", useMinimalDataSetSchema ? (object)GetSchema(ds) : ds.GetXmlSchema()); + _output.Append(','); + } + bool tablesep = false; + foreach (DataTable table in ds.Tables) + { + if (tablesep) _output.Append(","); + tablesep = true; + WriteDataTableData(table); + } + // end dataset + _output.Append('}'); + } + + private void WriteDataTableData(DataTable table) + { + _output.Append('\"'); + _output.Append(table.TableName); + _output.Append("\":["); + DataColumnCollection cols = table.Columns; + bool rowseparator = false; + foreach (DataRow row in table.Rows) + { + if (rowseparator) _output.Append(","); + rowseparator = true; + _output.Append('['); + + bool pendingSeperator = false; + foreach (DataColumn column in cols) + { + if (pendingSeperator) _output.Append(','); + WriteValue(row[column]); + pendingSeperator = true; + } + _output.Append(']'); + } + + _output.Append(']'); + } + + void WriteDataTable(DataTable dt) + { + this._output.Append('{'); + if (this.useExtension) + { + this.WritePair("$schema", this.useMinimalDataSetSchema ? (object)this.GetSchema(dt) : this.GetXmlSchema(dt)); + this._output.Append(','); + } + + WriteDataTableData(dt); + + // end datatable + this._output.Append('}'); + } +#endif + bool _firstWritten = false; + private void WriteObject(object obj) + { + Indent(); + if (_useGlobalTypes == false) + _output.Append('{'); + else + { + if (_firstWritten) + _output.Append("{"); + } + _firstWritten = true; + _current_depth++; + if (_current_depth > _MAX_DEPTH) + throw new Exception("Serializer encountered maximum depth of " + _MAX_DEPTH); + + + Dictionary map = new Dictionary(); + Type t = obj.GetType(); + bool append = false; + if (useExtension) + { + if (_useGlobalTypes == false) + WritePairFast("$type", JSON.Instance.GetTypeAssemblyName(t)); + else + { + int dt = 0; + string ct = JSON.Instance.GetTypeAssemblyName(t); + if (_globalTypes.TryGetValue(ct, out dt) == false) + { + dt = _globalTypes.Count + 1; + _globalTypes.Add(ct, dt); + } + WritePairFast("$type", dt.ToString()); + } + append = true; + } + + List g = JSON.Instance.GetGetters(t); + foreach (var p in g) + { + if (append) + _output.Append(','); + object o = p.Getter(obj); + if ((o == null || o is DBNull) && serializeNulls == false) + append = false; + else + { + WritePair(p.Name, o); + if (o != null && useExtension) + { + Type tt = o.GetType(); + if (tt == typeof(System.Object)) + map.Add(p.Name, tt.ToString()); + } + append = true; + } + } + if (map.Count > 0 && useExtension) + { + _output.Append(",\"$map\":"); + WriteStringDictionary(map); + } + _current_depth--; + Indent(); + _output.Append('}'); + _current_depth--; + + } + + private void Indent() + { + Indent(false); + } + + private void Indent(bool dec) + { + if (_Indent) + { + _output.Append("\r\n"); + for (int i = 0; i < _current_depth - (dec ? 1 : 0); i++) + _output.Append("\t"); + } + } + + private void WritePairFast(string name, string value) + { + if ((value == null) && serializeNulls == false) + return; + Indent(); + WriteStringFast(name); + + _output.Append(':'); + + WriteStringFast(value); + } + + private void WritePair(string name, object value) + { + if ((value == null || value is DBNull) && serializeNulls == false) + return; + Indent(); + WriteStringFast(name); + + _output.Append(':'); + + WriteValue(value); + } + + private void WriteArray(IEnumerable array) + { + Indent(); + _output.Append('['); + + bool pendingSeperator = false; + + foreach (object obj in array) + { + Indent(); + if (pendingSeperator) _output.Append(','); + + WriteValue(obj); + + pendingSeperator = true; + } + Indent(); + _output.Append(']'); + } + + private void WriteStringDictionary(IDictionary dic) + { + Indent(); + _output.Append('{'); + + bool pendingSeparator = false; + + foreach (DictionaryEntry entry in dic) + { + if (pendingSeparator) _output.Append(','); + + WritePair((string)entry.Key, entry.Value); + + pendingSeparator = true; + } + Indent(); + _output.Append('}'); + } + + private void WriteDictionary(IDictionary dic) + { + Indent(); + _output.Append('['); + + bool pendingSeparator = false; + + foreach (DictionaryEntry entry in dic) + { + if (pendingSeparator) _output.Append(','); + Indent(); + _output.Append('{'); + WritePair("k", entry.Key); + _output.Append(","); + WritePair("v", entry.Value); + Indent(); + _output.Append('}'); + + pendingSeparator = true; + } + Indent(); + _output.Append(']'); + } + + private void WriteStringFast(string s) + { + //Indent(); + _output.Append('\"'); + _output.Append(s); + _output.Append('\"'); + } + + private void WriteString(string s) + { + //Indent(); + _output.Append('\"'); + + int runIndex = -1; + + for (var index = 0; index < s.Length; ++index) + { + var c = s[index]; + + if (c >= ' ' && c < 128 && c != '\"' && c != '\\') + { + if (runIndex == -1) + { + runIndex = index; + } + + continue; + } + + if (runIndex != -1) + { + _output.Append(s, runIndex, index - runIndex); + runIndex = -1; + } + + switch (c) + { + case '\t': _output.Append("\\t"); break; + case '\r': _output.Append("\\r"); break; + case '\n': _output.Append("\\n"); break; + case '"': + case '\\': _output.Append('\\'); _output.Append(c); break; + default: + _output.Append("\\u"); + _output.Append(((int)c).ToString("X4", NumberFormatInfo.InvariantInfo)); + break; + } + } + + if (runIndex != -1) + { + _output.Append(s, runIndex, s.Length - runIndex); + } + + _output.Append('\"'); + } + } +} diff --git a/fastJSON v1.9.6/fastJSON/SafeDictionary.cs b/fastJSON v1.9.6/fastJSON/SafeDictionary.cs new file mode 100644 index 0000000..89c7d6c --- /dev/null +++ b/fastJSON v1.9.6/fastJSON/SafeDictionary.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; + +namespace fastJSON +{ + internal class SafeDictionary + { + private readonly object _Padlock = new object(); + private readonly Dictionary _Dictionary = new Dictionary(); + + + public bool TryGetValue(TKey key, out TValue value) + { + return _Dictionary.TryGetValue(key, out value); + } + + public TValue this[TKey key] + { + get + { + return _Dictionary[key]; + } + } + public IEnumerator> GetEnumerator() + { + return ((ICollection>)_Dictionary).GetEnumerator(); + } + + public void Add(TKey key, TValue value) + { + lock (_Padlock) + { + if (_Dictionary.ContainsKey(key) == false) + _Dictionary.Add(key, value); + } + } + } +} diff --git a/fastJSON v1.9.6/fastJSON/fastJSON-SL.csproj b/fastJSON v1.9.6/fastJSON/fastJSON-SL.csproj new file mode 100644 index 0000000..6d0bd3d --- /dev/null +++ b/fastJSON v1.9.6/fastJSON/fastJSON-SL.csproj @@ -0,0 +1,82 @@ + + + + Debug + AnyCPU + 8.0.50727 + 2.0 + {DE69A017-6A50-41F2-BFC7-F451BA4CC50B} + {A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + fastJSON_SL + fastJSON-SL + Silverlight + v4.0 + $(TargetFrameworkVersion) + false + true + true + + + + v3.5 + + + true + full + false + Bin\Debug + DEBUG;TRACE;SILVERLIGHT + true + true + prompt + 4 + + + pdbonly + true + Bin\Release + TRACE;SILVERLIGHT + true + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fastJSON v1.9.6/fastJSON/fastJSON.csproj b/fastJSON v1.9.6/fastJSON/fastJSON.csproj new file mode 100644 index 0000000..5cb1358 --- /dev/null +++ b/fastJSON v1.9.6/fastJSON/fastJSON.csproj @@ -0,0 +1,116 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {207E91B1-C9F8-4913-88E1-3549EF5F3273} + Library + Properties + fastJSON + fastJSON + v3.0 + 512 + True + False + false + False + False + OnBuildSuccess + + + + + 3.5 + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + true + Full + true + bin\Debug\ + prompt + 4 + CUSTOMTYPE- + + + full + true + bin\Release\ + prompt + 4 + true + + + False + Project + + + False + Off + 4194304 + AnyCPU + + + TRACE + + + + + + + + + + + + + + + + + False + Microsoft .NET Framework 4 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + False + Windows Installer 3.1 + true + + + + + \ No newline at end of file diff --git a/fastJSON v1.9.6/history.txt b/fastJSON v1.9.6/history.txt new file mode 100644 index 0000000..25d54ab --- /dev/null +++ b/fastJSON v1.9.6/history.txt @@ -0,0 +1,88 @@ +1.1 +- 26% performance boost on dataset + +1.2 +- culture info +- system.dbnull -> null +- skips readonly properties + +1.3 +- removed unused code 786 lines now +- property comma fix + +1.4 +- ~3% speed boost to serializer +- 50% speed boost to deserializer +- 46% speed boost to dataset serializer +- 26% speed boost to dataset deserializer + +1.5 +- 53% speed boost deserializer without dataset +- 21% speed boost deserializer with dataset +- Enum parse fix + +1.6 +- guid 2x faster +- dataset 40% smaller +- dataset deserialize 35% faster +- dataset serialize 11% faster +- single dimension valuetype arrays supported + +1.7 +- bug fix dictionary deserialize +- special case List +- int, long parse 4x faster +- unicode string optimize +- changetype optimize +- dictionary optimize +- deserialize embeded class e.g. Sales.Customer +- safedictionary check before add +- handles object ReturnEntity = new object[] { object1, object2 } +- handles object ReturnEntity = Guid, Dataset, valuetype + +1.7.5 +- serialize without extensions +- added overloaded methods +- deserialize without extensions + +1.7.6 +- xmlignore on properties handled +- date output fix -> 0000 format +- special case optimized dictionary output {"prop":"value",...} insteadof [{"k":"prop","v":"value"},...] +- override serialize nulls to output + +1.7.7 +- datatable support +- indented output +- bug fix + +1.8 +- SilverLight4 support merged into source +- RegisterCustomType() for custom serializer + +1.9 +- added support for public field serialize and deserialize + +1.9.1 +- fixed SerializeNullValues = false bug + +1.9.2 +- fixed to fullname instaed of name when searching for types in property cache (namespace1.myclass , namespace2.myclass are now different) + +1.9.3 +- UTC datetime handling via UseUTCDateTime = true property +- added support for enum as key in dictionary + +1.9.4 +- ShowReadOnlyProperties added for exporting readonly properties (default = false) +- if datetime value ends in "Z" then automatic UTC time calculated +- if using UTC datetime the output end in a "Z" (standards compliant) + +1.9.5 +- bug fix datatable schema serialize & deserialize + +1.9.6 +- added a $types extension for global type definitions which reduce the size of the output json +- added UsingGlobalTypes config for controling the above (default = true) +- bug fix datatable commas between arrays and table definitions (less lint complaining) +- string key dictionaries are serialized optimally now (not K V format) diff --git a/packages/JsonFx.2.0.1106.2610/JsonFx.2.0.1106.2610.nupkg b/packages/JsonFx.2.0.1106.2610/JsonFx.2.0.1106.2610.nupkg new file mode 100644 index 0000000..dc418e8 Binary files /dev/null and b/packages/JsonFx.2.0.1106.2610/JsonFx.2.0.1106.2610.nupkg differ diff --git a/packages/JsonFx.2.0.1106.2610/lib/net20/JsonFx.dll b/packages/JsonFx.2.0.1106.2610/lib/net20/JsonFx.dll new file mode 100644 index 0000000..e4be6bd Binary files /dev/null and b/packages/JsonFx.2.0.1106.2610/lib/net20/JsonFx.dll differ diff --git a/packages/JsonFx.2.0.1106.2610/lib/net20/JsonFx.xml b/packages/JsonFx.2.0.1106.2610/lib/net20/JsonFx.xml new file mode 100644 index 0000000..b6c3d40 --- /dev/null +++ b/packages/JsonFx.2.0.1106.2610/lib/net20/JsonFx.xml @@ -0,0 +1,4561 @@ + + + + JsonFx + + + + + JsonFx metadata + + + + + Ctor + + + + + + Outputs BSON bytes from an input stream of tokens + + + + + Outputs text from an input stream of JSON tokens + + token type + + + + Formats the token sequence to the output writer + + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the output writer + + + + + + + Emits a document (or array) to the binary stream + + + + number of bytes written + + + + Emits a single element to the binary stream + + + + + number of bytes written + + + + Emits a string value + + + + number of bytes written + + + + Emits a binary value + + + + number of bytes written + + + + Emits a code_w_s value + + + + number of bytes written + + + + Generates a sequence of tokens from BSON bytes + + + + + Generates a sequence of tokens from a sequence of characters + + token type + + + + Tokenizes the input sequence into tokens + + + + + + + Tokenizes the input sequence into tokens + + + + + + + Gets the current position of the underlying input character sequence + + + Tokenizers not tracking index should return -1. + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets a token sequence from the reader + + + + + + + Gets the current position of the underlying stream + + + + + BSON MD5 Datatype + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Converts MD5 to Guid + + + + + + + + Converts MD5 to Guid + + + + + + + Gets the hashcode of the underlying Guid + + + + + + BSON JavaScript Code With Scope Datatype + + + + + BSON JavaScript Code Datatype + + + + + Ctor + + + + + + Converts JavaScriptCode to string + + + + + + + + Converts JavaScriptCode to string + + + + + + + Gets the hashcode of the underlying string + + + + + + BSON Symbol Datatype + + + + + Ctor + + + + + + Converts Symbol to string + + + + + + + + Converts Symbol to string + + + + + + + Gets the hashcode of the underlying string + + + + + + BSON DBPointer Datatype (Deprecated) + + + + + Immutable BSON ObjectID Datatype + + + http://www.mongodb.org/display/DOCS/Object+IDs#ObjectIDs-TheBSONObjectIdDatatype + + + + + Ctor + + 12-byte object ID + + + + Ctor + + 4-byte seconds since Unit epoch + 3-byte machine ID + 2-byte process ID + 3-byte counter + + + + Converts an ObjectID to a hex string + + + + + + + Converts a hex string to an ObjectID + + + + + + + Converts an ObjectID to a byte array + + + + + + + Converts a byte array to an ObjectID + + + + + + + Gets the hashcode of the underlying string + + + + + + Gets the time associated with this ObjectID + + + + + Gets the machine id associated with this ObjectID + + + + + Gets the process id associated with this ObjectID + + + + + Gets the counter associated with this ObjectID + + + + + Generic binary holder + + + http://api.mongodb.org/java/2.0/org/bson/types/Binary.html + + + + + Ctor + + binary type code + byte date + + + + Converts an ObjectID to a hex string + + + + + + + Converts a hex string to an ObjectID + + + + + + + Converts an ObjectID to a byte array + + + + + + + Converts a byte array to an ObjectID + + + + + + + Gets the hashcode of the underlying string + + + + + + Gets a 4-bit number as a hex digit + + 0-15 + + + + + Gets the binary type code + + + + + Gets the binary type code + + + + + Gets the byte at the given index + + + + + Gets the length of the binary data + + + + + Designates a type as being able to format itself to raw BSON bytes + + + + + Designates a type as being able to format itself to raw bytes + + + + + Writes custom format to the output using either tokens or bytes + + + + total number of bytes written + + + + Determines the corresponding BSON element type + + + + + + Generalized delegate for invoking a constructor + + + + + + + Generalized delegate for invoking a method + + the instance object + the method parameters + + + + + Generalized delegate for getting a field or property value + + + + + + + Generalized delegate for setting a field or property value + + + + + + + Consumes a sequence of tokens to produce an object graph optionally coerced to a given type + + + + + Consumes a sequence of tokens to produce a sequence of objects, optionally coerced to a given type + + token type + + + + Parses the token sequence + + + + + + + Parses the token sequence, optionally coercing the result to Type targetType + + + optional type for coercion (null if not specified) + + + + + Parses the token sequence, coercing the result to Type TResult + + optional type for coercion (null if not specified) + + + + + + Parses the token stream coercing the result to TResult (type inferred from ) + + + + an example value used solely for Type inference + + + + + Ctor + + + + + + Parses the token stream coercing the result targetType + + + + + + + Parses the token stream coercing the result to targetType + + + + + + + + Parses the token stream coercing the result to TResult + + the result target type + + + + + + Parses the token stream coercing the result to TResult (inferred from ) + + + + an example value used solely for Type inference + + + + + Common Model Language grammar helper + + + Simplifies and guides syntax, and provides a set of reusable tokens to reduce redundant token instantiations + + + + + Marks the beginning of an array + + the local name of the array + ArrayBegin Token + + + + Marks the beginning of an array + + the local name of the array + the namespace of the document + ArrayBegin Token + + + + Marks the beginning of an array + + the name of the array + ArrayBegin Token + + + + Marks the beginning of an object + + the local name of the object + ObjectBegin Token + + + + Marks the beginning of an object + + the name of the object + ObjectBegin Token + + + + Marks the beginning of an object property + + the local name of the property + PropertyKey Token + + + + Marks the beginning of an object property + + the local name of the property + PropertyKey Token + + + + Marks the beginning of an object property + + the name of the property + PropertyKey Token + + + + A simple scalar value (typically serialized as a single primitive value) + + + Value Token + + + + Provides base implementation for standard deserializers + + + + + Provides base implementation for standard deserializers + + + + + A common interface for data deserializers + + + + + Deserializes a single object from the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Deserializes a single object from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + + + + Deserializes a single object from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a potentially endless sequence of objects from a stream source + + + + + character stream => token stream => object stream + + + + + Gets the supported content type of the serialized data + + + + + Gets the settings used for deserialization + + + + + Ctor + + + + + + Deserializes the data from the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input reader + + + + Deserializes the data from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + + + + Deserializes the data from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a potentially endless sequence of objects from a stream source + + a streamed source of objects + a sequence of objects + + character stream => token stream => object stream + + + + + Gets the supported content type of the serialized data + + + + + Gets the settings used for deserialization + + + + + Ctor + + + + + + Extension methods for selecting subsequences of sequences of tokens + + + + + Determines if the sequence represents a primitive + + + + + + + Determines if the sequence represents an object + + + + + + + Determines if the root object has any properties which satisfies the name + + + + true if any properties match the predicate + + + + Gets all properties of the root object + + + + all properties for the object + + + + Gets all properties of the root object + + + + all properties for the object + + + + Gets the properties of the root object which satisfies the + + + + matching properties for the root object + + + + Gets the properties of the root object which satisfies the + + + + matching properties for the root object + + + + Determines if the sequence represents an array + + + + + + + Gets all the items of the array + + + all items of the array + + + + Gets the items of the root array with indexes satisfying the + + + + items of the root array which statisfy the predicate + + + + ArrayItems iterator + + + + + + + + Gets all descendant values below the current root + + + + + + + Descendants iterator + + + + + + + Gets all descendant values below the current root, as well as the current root + + + + + + + DescendantsAndSelf iterator + + + + + + + Covers the sitation where a stream of sequences may be back to back + + + + + + + Splices out the sequence for the next complete value (object, array, primitive) + + + + + + + Splices out the sequence for the next complete value (object, array, primitive) + + + + + + + Skips over the next complete value (object, array, primitive) + + + + + + + Common Model Language tokens + + + + + + + + + + + + Generates a sequence of tokens from an object graph + + + + + Generates a sequence of tokens from an object graph + + token type + + + + Generates a sequence of tokens representing the value + + + + + + + Ctor + + + + + + Generates a sequence of tokens representing the value + + + + + + + Allows a mechanism for manipulating JSON serialization + + Defines the type this filter reads/writes + + + + Partially implements an IDataFilter + + + + + Allows a mechanism for manipulating serialization + + Defines the type of token stream this filter understands + Defines the type this filter reads/writes + + + + Allows a mechanism for manipulating serialization + + Defines the type of token stream this filter understands + + + + Allows a class to act as a factory for a type via input Token<T> sequence + + input tokens + + true if value was generated + + + + Allows a class to serialize a type as Token<T> sequence + + + + true if value was consumed + + + + Allows a class to act as a factory for a type via input Token<T> sequence + + input tokens + + true if value was generated + + + + Allows a class to serialize a type as Token<T> sequence + + + + true if value was consumed + + + + Defines a filter for JSON-style serialization of DateTime into ISO-8601 string + + + This is the format used by EcmaScript 5th edition Date.prototype.toJSON(...): + http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf + http://www.w3.org/TR/NOTE-datetime + http://en.wikipedia.org/wiki/ISO_8601 + + NOTE: This format limits expressing DateTime as either UTC or Unspecified. Local (i.e. Server Local) is converted to UTC. + + + + + Converts a ISO-8601 string to the corresponding DateTime representation + + ISO-8601 conformant date + UTC or Unspecified DateTime + true if parsing was successful + + + + Converts a DateTime to the corresponding ISO-8601 string representation + + + ISO-8601 conformant date + + + + Determines the precision of fractional seconds. + Defaults to EcmaScript precision of milliseconds. + + + + + Defines the precision of fractional seconds in ISO-8601 dates + + + + + Defines a filter for JSON-style serialization of DateTime into an ASP.NET Ajax Date string. + + + This is the format used by Microsoft ASP.NET Ajax: + http://weblogs.asp.net/bleroy/archive/2008/01/18/dates-and-json.aspx + + NOTE: This format is limited to expressing DateTime at the millisecond level as UTC only. + The WCF extension of adding a timezone is ignored as this returns UTC dates only. + + + + + Converts an ASP.NET Ajax date string to the corresponding DateTime representation + + ASP.NET Ajax date string + + true if parsing was successful + + + + Converts a DateTime to the corresponding ASP.NET Ajax date string representation + + + ASP.NET Ajax date string + + + + Provides base implementation for standard serializers + + + + + Provides base implementation of standard serializers + + + + + A common interface for data serializers + + + + + Serializes the data to the given output + + the output writer + the data to be serialized + + + + Serializes the data to the given output + + the data to be serialized + the serialized data + + + + Gets the content encoding for the serialized data + + + + + Gets the supported content types for the serialized data + + + + + Gets the supported file extensions for the serialized data + + + + + Gets the settings used for serialization + + + + + Ctor + + + + + + Serializes the data to the given output + + the data to be serialized + the output writer + + + + Serializes the data to the given output + + the data to be serialized + the serialized data + + + + Gets the walker for this DataWriter + + + + + + + Gets the formatter for this DataWriter + + + + + + + Gets the content encoding for the serialized data + + + + + Gets the supported content types for the serialized data + + + + + Gets the supported file extensions for the serialized data + + + + + Gets the settings used for serialization + + + + + Ctor + + + + + + Gets a walker for JSON + + + + + + + Gets the content encoding for the serialized data + + + + + Represents an ECMAScript identifier for serialization. + + + + + Designates a type as being able to format itself to raw text + + + + + Writes custom format to the output using either tokens or text + + + + + + + Ctor + + + + + Ctor + + + + + + Verifies is a valid EcmaScript identifier + + the identifier + identifier + + + + Verifies is a valid EcmaScript identifier + + the identifier + identifier + + + + Verifies is a valid EcmaScript variable expression + + the identifier + identifier + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + IdentifierName = + IdentifierStart | IdentifierName IdentifierPart + IdentifierStart = + Letter | '$' | '_' + IdentifierPart = + IdentifierStart | Digit + + + + + Trivial conversion method. Essentially performs a cast. + + + + + Supports conversion via System.Web.UI.PropertyConverter.ObjectFromString(Type, MemberInfo, string) + + + + + Implicit type conversion allows to be used directly as a String + + valid ECMAScript identifier + + + + + Implicit type conversion allows to be used directly with Strings + + valid ECMAScript identifier + + + + + Returns the identifier + + + + + + Compares identifiers + + + + + + + Returns the hash code for the identifier + + + + + + Gets the ECMAScript identifier represented by this instance + + + + + Formats data as full ECMAScript objects, rather than the limited set of JSON objects. + + + + + Outputs JSON text from an input stream of tokens + + + + + Outputs text from an input stream of JSON tokens + + token type + + + + Formats the token sequence to the output writer + + + + + + + Formats the token sequence as a string + + + + + + JSON serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the formatter for JSON + + + + + + + Gets the supported content type for the serialized data + + + + + Gets the supported file extension for the serialized data + + + + + Outputs JSON text from an input stream of tokens + + + + + Ctor + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Converts an object to its string representation + + + + + + + Converts an enum to its string representation + + + + + + + Splits a bitwise-OR'd set of enums into a list. + + the enum type + the combined value + list of flag enums + + from PseudoCode.EnumHelper + + + + + Determines if a numeric value cannot be represented as IEEE-754. + + + + + http://stackoverflow.com/questions/1601646 + + + + + Gets and sets if '<' should be encoded in strings + Useful for when emitting directly into page + + + + + Ctor + + + + Defaults to encoding < chars for improved embedding within script blocks + + + + + Emits a block of script ensuring that a namespace is declared + + the output writer + the namespace to ensure + list of namespaces already emitted + determines if should emit pretty-printed + if was a namespaced identifier + + + + Outputs a .NET Regex as an ECMAScript RegExp literal. + Defaults to global matching off. + + + + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + + + + Outputs a .NET Regex as an ECMAScript RegExp literal. + + + + + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + + + + Defines a strategy for filtering HTML tags/attributes/styles/literals + + + + + Filters tags, optionally allowing altering of tag + + tag name + if true tag should be rendered + + + + Filters attributes, optionally allowing altering of attribute value + + tag name + attribute name + attribute value + if true attribute should be rendered + + + + Filters styles, optionally allowing altering of style value + + tag name + style name + style value + if true style should be rendered + + + + Filters literals, optionally allowing replacement of literal value + + the literal value + if true should be rendered + + + + Provides a mechanism for filtering HTML streams based upon a tag taxonomy + + + + + Determines if is "void" (i.e. "empty" or "full") tag + + lowercase tag name + if is a void tag + + http://www.w3.org/TR/html5/semantics.html + http://www.w3.org/TR/html401/index/elements.html + http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#sec_5.2. + http://www.w3.org/TR/WD-html40-970917/index/elements.html + + + + + Determines if the tag is required to be closed + + lowercase tag name + if closing tag is optional + + http://www.w3.org/TR/html5/semantics.html + http://www.w3.org/TR/html401/index/elements.html + http://www.w3.org/TR/WD-html40-970917/index/elements.html + + + + + Categorizes the tag for heuristics about markup type + + lowercase tag name + the box type for a particular element + + http://www.w3.org/TR/html5/semantics.html + + + + + Defines a prioritized taxonomy of tags + + + The types are enumerated in ascending levels of risk for use in filtering HTML input + + + + + Literal text, no tags + + + + + Inline character level elements and text strings + + + Tags of this type typically do not disrupt the text flow + + + + + style elements + + + Tags of this type change the visual appearance of text + + + + + list elements + + + Tags of this type denote lists and typically change the text flow + + + + + Block-level elements + + + Tags of this type denote sections or change the text flow + + + + + Media elements + + + Tags of this type safely embed media content + + + + + Tabular elements + + + Tags of this type have a very specific structure and their own rendering model + + + + + Form elements + + + Tags of this type are used in the construction of forms for capturing user input + + + + + Script elements + + + Tags of this type represent a security risk to the containing document but must obey the browser security sandbox + + + + + Document elements + + + Tags of this type are used to construct the document itself + + + + + embedded elements + + + Tags of this type represent a large security risk to the containing document as plug-ins may circumvent the browser security sandbox + + + + + Unknown elements + + + + + Outputs markup text from an input stream of tokens + + + + + Ctor + + + + + + Resets the internal stack of elements + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Emits a valid XML local-name (i.e. encodes invalid chars including ':') + + + + + Explicitly escaping ':' to maintain compatibility with XML Namespaces. + From XML 1.0, 5th ed. http://www.w3.org/TR/xml/#sec-common-syn + Name = NameStartChar (NameChar)* + NameStartChar = ":" + | [A-Z] + | "_" + | [a-z] + | [#xC0-#xD6] + | [#xD8-#xF6] + | [#xF8-#x2FF] + | [#x370-#x37D] + | [#x37F-#x1FFF] + | [#x200C-#x200D] + | [#x2070-#x218F] + | [#x2C00-#x2FEF] + | [#x3001-#xD7FF] + | [#xF900-#xFDCF] + | [#xFDF0-#xFFFD] + | [#x10000-#xEFFFF] + NameChar = NameStartChar + | "-" + | "." + | [0-9] + | #xB7 + | [#x0300-#x036F] + | [#x203F-#x2040] + + + + + + Emits valid XML character data + + + + encodes all non-ASCII chars + + + + + Emits valid XML attribute character data + + + + encodes all non-ASCII chars + + + + Gets and sets a value indicating if should emit canonical form + + + http://www.w3.org/TR/xml-c14n + + + + + Gets and sets a value indicating how should emit empty attributes + + + + + Gets and sets a value indicating if should encode text chars above the ASCII range + + + This option can help when the output is being embedded within an unknown encoding + + + + + HTML-style empty attributes do not emit a quoted string + + + http://www.w3.org/TR/html5/syntax.html#attributes-0 + + + + + XHTML-style empty attributes repeat the attribute name as its value + + + http://www.w3.org/TR/xhtml-media-types/#C_10 + http://www.w3.org/TR/xhtml1/#C_10 + http://www.w3.org/TR/html5/the-xhtml-syntax.html + + + + + XML-style empty attributes emit an empty quoted string + + + http://www.w3.org/TR/xml/#sec-starttags + + + + + Generates a sequence of tokens from a generalized model of markup text (e.g. HTML, XML, JBST, ASPX/ASCX, ASP, JSP, PHP, etc.) + + + This generates a stream of tokens like StAX (Streaming API for XML) + Unlike XML, this follows a more permissive markup format with automatic recovery most similar to HTML5. + + + + + Generates a sequence of tokens from a sequence of characters + + token type + + + + Tokenizes the input sequence into tokens + + + + + + + Tokenizes the input sequence into tokens + + + + + + + Gets the current column of the underlying input character sequence + + + Tokenizers not tracking columns should return -1. + + + + + Gets the current line of the underlying input character sequence + + + Tokenizers not tracking lines should return -1. + + + + + Gets the current position of the underlying input character sequence + + + Tokenizers not tracking index should return -1. + + + + + Decodes HTML-style entities into special characters + + + the entity text + + TODO: validate against HTML5-style entities + http://www.w3.org/TR/html5/tokenization.html#consume-a-character-reference + + + + + Decodes most known named entities + + + + + + + Checks for element start char + + + + + http://www.w3.org/TR/xml/#sec-common-syn + + + + + Checks for element name char + + + + + http://www.w3.org/TR/xml/#sec-common-syn + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets and sets if should attempt to auto-balance mismatched tags. + + + + + Gets and sets if should unwrap comments inside . + + + For example, in HTML this would include "script" and "style" tags. + + + + + Gets and sets a set of tags which should not have their content parsed. + + + For example, in HTML this would include "script" and "style" tags. + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Ctor + + + + + Renders Common Model Tokens into a semantic HTML representation of the data structure + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + input token type + output token type + + + + Transforms the token sequence from to + + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + StringBuilder-like implementation built like List<char> + + + + + Ctor + + + + + Ctor + + + + + + Resets the buffer to an empty state + + + + + Appends a single char to the buffer + + + + + + + Appends a string value to the buffer + + + + + + + Copies the buffer value into a + + + + + + Gets the number of characters in the buffer + + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + Ctor + + + + + + + + Supports forward-only iteration over an input sequence of + + + + + Supports forward-only iteration over an input sequence of + + + + + Supports forward-only iteration over an input sequence + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered sequence chunk + + + + + + Determines if the sequence has completed. + + + + + Gets a value indicating if is currently capturing a sequence + + + + + Gets the number of items currently chunked + + + + + Factory method for generic streams + + + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Determines if the input sequence has reached the end + + + + + Ctor + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a list with ability to capture a subsequence + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered chunk + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Gets the number of characters currently chunked + + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a text input tracking line/column/position + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and writes the buffered text chunk into the provided StringBuilder + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Supports a simple iteration over a string tracking line/column/position + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Calculates index, line, and column statistics + + + + + Releases all resources used + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Gets the number of characters currently chunked + + + + + Gets a value indicating if the is currently chunking + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a TextReader tracking line/column/position + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Calculates index, line, and column statistics + + + + + + + Releases all resources used by the underlying reader + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Gets the number of characters currently chunked + + + + + Gets a value indicating if the is currently chunking + + + + + Determines if the input sequence has reached the end + + + + + Formal language of tokens and symbols for JSON + + + + + Designates a property or field to not be serialized. + + + + + Specifies the naming to use for a property or field when serializing + + + + + Ctor + + + + + Ctor + + + + + + Gets and sets the name to be used in serialization + + + + + JSON deserializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the supported content type of the serialized data + + + + + Generates a sequence of tokens from JSON text + + + + + Gets a token sequence from the scanner stream + + + + + + + Scans for the longest valid EcmaScript identifier + + identifier + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + IdentifierName = + IdentifierStart | IdentifierName IdentifierPart + IdentifierStart = + Letter | '$' | '_' + IdentifierPart = + IdentifierStart | Digit + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + It is an error for the next token to be a value delim + + + + + Forbidden but differentiates between empty array/object and just written + + + + + It is an error for the next token to NOT be a value delim + + + + + Specifies the name of the property which specifies if member should be serialized. + + + These properties can be marked private/protected/internal and it will still be recognized + + + + + Ctor + + the name of the property which controls serialization for this member + + + + Ctor + + the name of the property which controls serialization for this member + + + + Gets and sets the name of the property which + specifies if member should be serialized + + + + + Transforms markup tokens into Common Model tokens using the (lossless) JsonML model + + + JsonML Grammer: http://jsonml.org + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Determines how whitespace should be handled + + + + + Transforms Common Model tokens into markup tokens using the (lossless) JsonML model + + + JsonML Grammer: http://jsonml.org + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Controls name resolution for IDataReader / IDataWriter using JsonNameAttribute / JsonIgnoreAttribute / JsonPropertySpecifiedAttribute + + + This is the default strategy from JsonFx v1.0 + + + + + Controls name resolution for IDataReader / IDataWriter using plain old CLR object (POCO) names + + + + + Controls name resolution for IDataReader / IDataWriter + + + Provides an extensibility point to control member naming and visibility at a very granular level. + + + + + Gets a value indicating if the property is to be serialized. + + + + + + + + Gets a value indicating if the field is to be serialized. + + + + + + + Determines if the property or field should not be serialized. + + + + + + + + + Gets the serialized name for the member. + + + + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute + + This is useful when default values need not be serialized. + + + + + Gets the serialized name for the member. + + + + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute + + This is useful for excluding serialization of default values. + + + + + Gets the serialized name for the member. + + + + + + + Determines whitespace handling + + + + + Removes insignificant whitespace + + + + + Keep all whitespace + + + + + Condenses all whitespace to single spaces + + + + + Designates a type as being able to format itself to raw JSON text. + + + + + Ctor + + + + + Ctor + + + + + Gets and sets the starting delimiter + + + + + Gets and sets the ending delimiter + + + + + Gets and sets the context + + + + + Formal language of tokens and symbols for markup + + + + + Any of a number of unparsed tags which typically contain specialized processing instructions + + + The name of the token is the beginning and ending delimiters as a format string (not including the '<' or '>') + Includes the following types: + + "<!--", "-->" XML/HTML/SGML comment + "<!", ">" XML/SGML declaration (e.g. DOCTYPE or server-side includes) + + "<?=", "?>" PHP expression + "<?", "?>" PHP code block /XML processing instruction (e.g. the XML declaration) + + "<%--", "--%>" ASP/PSP/JSP-style code comment + "<%@", "%>" ASP/PSP/JSP directive + "<%=", "%>" ASP/PSP/JSP/JBST expression + "<%!", "%>" JSP/JBST declaration + "<%#", "%>" ASP.NET/JBST databind expression + "<%$", "%>" ASP.NET/JBST extension + "<%", "%>" ASP code block / JSP scriptlet / PSP code block + + + + + tokens + + + + + + + + + + + Maintains scope chain for namespace prefix mappings + + + + + Adds a new scope to the chain + + + + + + Gets the last scope off the chain + + + + + Gets and removes the last scope off the chain + + + + + + Finds the namespace URI for a given prefix within the curren scope chain + + + + + + + Finds the prefix for a given namespace URI within the curren scope chain + + + + + + + Checks if the matching begin tag exists on the stack + + + + + + Resets the internal state of the scope chain. + + + + + Looks up the prefix for the given namespace + + + + null if namespace is empty and no default prefix found + + + + Represents a scope boundary within a prefix scope chain + + + + + Returns if this scope boundary contains a mapping for a particular prefix + + + if this scope boundary contains a mapping for a particular prefix + + + + Returns if this scope boundary contains a mapping for a particular namespace + + + if this scope boundary contains a mapping for a particular namespace + + + + Returns if this scope boundary contains a mapping for a particular prefix + setting the namespace URI if one was found. + + + the resolved namespace URI + if this scope boundary contains a mapping for a particular prefix + + + + Returns if this scope boundary contains a mapping for a particular prefix + setting the prefix if one was found. + + + the resolved prefix + if this scope boundary contains a mapping for a particular prefix + + + + Gets and sets the tagname associated with this scope boundary + + + + + Gets and sets mappings between prefix and namespace URIs + + + + + + + Provides lookup capabilities for providers + + + + + Parses HTTP headers for Media-Types + + HTTP Accept header + HTTP Content-Type header + sequence of Media-Types + + http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html + + + + + + + + + + + + Controls name resolution for IDataReader / IDataWriter using convention-based name mapping + + + Converts standard .NET PascalCase naming convention into the specified naming convention. + http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx + http://msdn.microsoft.com/en-us/library/141e06ef.aspx + http://msdn.microsoft.com/en-us/library/xzf533w0.aspx + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the serialized name for the member. + + + + + + + Splits a multi-word name assuming standard .NET PascalCase conventions. + + + + + http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx + http://msdn.microsoft.com/en-us/library/141e06ef.aspx + http://msdn.microsoft.com/en-us/library/xzf533w0.aspx + + + + + + Ctor + + + + + + + + Ctor + + + + + + + Represents a property or document name, and a corresponding namespace URI (or empty string). + Analogous to XML "expanded name": http://www.w3.org/TR/REC-xml-names/#dt-expname + + + Namespaces must be a URI, but local-name can be any non-null string. + It is up to formatters to determine how to properly represent names which are invalid for the format. + + + + + local-name + + + + + alias for the namespace + + + + + namespace + + + + + Determines if name should be treated like an attribute + + + + + Ctor + + a CLR Type used to generate the local-name + + This constructor implicitly delcares the namespace to be empty. + + + + + Ctor + + any string is a valid local-name + + This constructor implicitly delcares the namespace to be empty. + + + + + Ctor + + any string is a valid local-name + an absolute URI string, or null + thrown if is null + thrown if is an invalid absolute URI + + The namespace field follows XML recommendation of absolute URIs. + Relative URIs are officially deprecated for namespaces: http://www.w3.org/2000/09/xppa + + + + + Ctor + + any string is a valid local-name + an absolute URI string, or null + determines if name should be an attribute name + thrown if is null + thrown if is an invalid absolute URI + + The namespace field follows XML recommendation of absolute URIs. + Relative URIs are officially deprecated for namespaces: http://www.w3.org/2000/09/xppa + + + + + Gets the local-name for a Type + + + + + + + Gets the prefixed name or simply local-name if is not a fully qualified name + + true to generate a prefix if the prefix is empty but not the namespace + + + + + Gets the namespaced name or simply local-name if is not a fully qualified name + + + + + + Compares two values and returns an indication of their relative sort order. + + + + + Performs ordering according to XML Canonicalization document order http://www.w3.org/TR/xml-c14n#DocumentOrder + "An element's namespace nodes are sorted lexicographically by local name (the default namespace node, if one exists, has no local name and is therefore lexicographically least)." + "An element's attribute nodes are sorted lexicographically with namespace URI as the primary key and local name as the secondary key (an empty namespace URI is lexicographically least)." + + + + + Determines if this is an empty DataName + + + + + Indicates a graph cycle was detected during serialization + + + + + Indicates an error occurred during serialization + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Gets the type of cycle which caused the error + + + + + Graph cycles are detected with a reference tracking, any repeated reference results in a null value + + + + + Graph cycles are detected with a reference tracking, any repeated reference results in an error + + + + + Graph cycles are detected with a maximum depth count, exceeding depth results in an error + + + + + Detects graph cycles by tracking graph depth + + + + + Defines an interface for detecting graph cycles + + + + + Begins tracking of the reference + + + true if graph cycle was detected + + + + Ends tracking of the reference + + + true if tracking was successfully completed + + + + Ctor + + + + + + Increments the depth + + + true if MaxDepth has not been exceeded + + + + Increments the depth + + + + + + Detects cycles by detecting duplicates in the a set of object references + + + + + Adds a reference to the set + + + true if object already existed within set + + + + Removes a reference from the set + + + + + + Controls deserialization settings for IDataReader + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Gets and sets if ValueTypes can accept values of null + + + If this is true and a ValueType T is assigned the value of null, + it will receive the value of default(T). + Setting this to false, throws an exception if null is + specified for a ValueType member. + + + + + Gets and sets if should verify that stream is empty after deserialzing each object + + + Setting to true allows reading a JSON stream inside other structures (e.g. JavaScript) + + + + + Gets manager of name resolution for IDataReader + + + + + Gets the custom filters + + + + + Controls the serialization settings for IDataWriter + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Gets and sets what to do when graph cycles (repeated references) are encounted + + + + + Gets and sets the maximum nesting depth + + + Depth is a fast and easy safegaurd against detecting graph cycles but may produce false positives + + + + + Gets and sets if output will be formatted for human reading. + + + + + Gets and sets the string to use for indentation + + + + + Gets and sets the line terminator string + + + + + Gets manager of name resolution for IDataReader + + + + + Gets the custom filters + + + + + Indicates an error occurred during deserialization + + + + + Ctor + + + + + + + Ctor + + + + + + + + + Ctor + + + + + + + + Ctor + + + + + + + + Ctor + + + + + + + Helper method which converts the index into Line and Column numbers + + + + + + + + Gets the character column in the stream where the error occurred + + + + + Gets the character position in the stream where the error occurred + + + + + Gets the character line in the stream where the error occurred + + + + + Indicates an error occurred during token consumption + + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Gets the token in the sequence where the error occurred + + + + + Indicates an error occurred during type coercion + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Provides lookup capabilities for finding matching IDataReader + + + + + Provides lookup capabilities for finding matching IDataReader + + + + + Ctor + + inject with all possible readers + + + + Finds an IDataReader by content-type header + + + + + + + Provides lookup capabilities for finding an IDataWriter + + + + + Provides lookup capabilities for finding an IDataWriter + + + + + Ctor + + inject with all possible writers + + + + Controls name resolution for IDataReader / IDataWriter by using pluggable delegate callbacks + + + + + Gets and sets the implementation for ignoring properties + + + + + Gets and sets the implementation for ignoring fields + + + + + Gets and sets the implementation for ignoring properties by value + + + + + Gets and sets the implementation for naming members + + + + + Gets and sets the implementation for sorting members + + + + + Controls name resolution for IDataReader / IDataWriter by combining an ordered sequence of any other strategies + + + Each strategy is invoked in order, the first to respond wins. + + + + + Ctor + + ordered sequence of strategies + + + + Ctor + + ordered sequence of strategies + + + + Gets a value indicating if the property is to be serialized. + + + + true if any strategy specifies should be ignored + + + + Gets a value indicating if the field is to be serialized. + + + true if any strategy specifies should be ignored + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + true if any strategy specifies this should be ignored + + + + Gets the serialized name for the member. + + + + custom name if any strategy specifies one, otherwise null + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Controls name resolution for IDataReader / IDataWriter using DataContract attributes + + + http://msdn.microsoft.com/en-us/library/kd1dc9w5.aspx + + + + + CCtor + + + + + Gets a value indicating if the property is to be serialized. + + + + + + + + Gets a value indicating if the field is to be serialized. + + + + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + + + + + Gets the serialized name for the member. + + + + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + + + + + The original member info + + + + + The original member name + + + + + The member data name + + + + + The member type + + + + + The getter method + + + + + The setter method + + + + + The logic for determining if a value is ignored + + + + + Determines if map name is alternate (i.e. only used for deserialization) + + + + + Ctor + + MemberMap to clone + alternate name + + + + Ctor + + + + + + + + Ctor + + + + + + + + Ctor + + + + + Gets a sequence of the available factory arguments + + + + + Gets the factory associated with the given argument type + + + + + + + Cache of name resolution mappings for IDataReader / IDataWriter + + + + + Ctor + + + + + + Gets the serialized name of the class + + + + + + + Removes any cached member mappings. + + + + + Builds a mapping of member name to field/property + + + + + + Represents a single immutable token in an input sequence + + + + + The type of the token + + + + + The name of the token + + + + + The value of the token + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Ctor + + + + + + + Returns a string that represents the current token. + + + + + + Gets the value of the token as a string + + + + + + Converts a value to a string giving opportunity for IConvertible, IFormattable + + + + + + + Converts token to a token of a different type + + + token with same values and different type + + + + Type Coercion Utility + + + + + Ctor + + + + + + + Ctor + + + + + + + Instantiates a new instance of objectType. + + + objectType instance + + + + Instantiates a new instance of objectType. + + + objectType instance + + + + Helper method to set value of a member. + + + + + + + + + + Coerces the object value to Type + + + + + + + + Coerces the object value to Type of + + + + + + + + Populates the properties of an object with the dictionary values. + + + + + + + + Populates the properties of an object with the dictionary values. + + + + + + + + Coerces an sequence of items into an array of Type elementType + + + + + + + + Finds a suitable concrete class for common collection interface types + + + + + + + Allows specific IDictionary<string, TVal> to deserialize as TVal + + IDictionary<string, TVal> Type + TVal Type + + + + Returns a common type which can hold previous values and the new value + + + + + + + + Determines if type can be assigned a null value. + + + + + + + Gets the attribute T for the given value. + + + Attribute Type + true if defined + + + + Gets the attribute of Type for the given value. + + + true if defined + + + + Gets the attribute T for the given value. + + + Attribute Type + requested attribute or not if not defined + + + + Gets the attribute of Type for the given value. + + + requested attribute or not if not defined + + + + Character Utility + + + These are either simpler definitions of character classes (e.g. letter is [a-zA-Z]), + or they implement platform-agnositic checks (read: "Silverlight workarounds"). + + + + + Checks if string is null, empty or entirely made up of whitespace + + + + + Essentially the same as String.IsNullOrWhiteSpace from .NET 4.0 + with a simplfied view of whitespace. + + + + + Checks if character is line ending, tab or space + + + + + + + + + + + + + + Checks if character matches [A-Za-z] + + + + + + + Checks if character matches [0-9] + + + + + + + Checks if character matches [0-9A-Fa-f] + + + + + + + Gets a 4-bit number as a hex digit + + 0-15 + + + + + Formats a number as a hex digit + + + + + + + Converts the value of a UTF-16 encoded character or surrogate pair at a specified + position in a string into a Unicode code point. + + + + + + + + Converts the specified Unicode code point into a UTF-16 encoded string. + + + + + + + XML serializer + + + XML serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets a tokenizer for XML + + + + + + Gets the supported content type for the serialized data + + + + + Transforms markup tokens into Common Model tokens using an XML-data model + + + + + Ctor + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + + Ctor + + + + + Ctor + + + + + + Gets a token sequence from the string + + + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the XmlReader + + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + XML serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the formatter for XML + + + + + + + Gets the supported content type for the serialized data + + + + + Gets the supported file extension for the serialized data + + + + + Transforms Common Model tokens into markup tokens using an XML-data model + + + + + Ctor + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + Outputs XML text from an input stream of tokens + + + + + Ctor + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Formats the token sequence to the writer + + + + + + + Wraps an XmlWriter as a TextWriter + + + + + Ctor + + + + + + Gets the underlying XmlWriter + + + + + Controls name resolution for IDataReader / IDataWriter using attributes and conventions similar to XmlSerializer semantics + + + http://msdn.microsoft.com/en-us/library/83y7df3e.aspx + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute or has a property named XXXSpecified which determines visibility + + This is useful when default values need not be serialized. + Under these situations XmlSerializer ignores properties based upon value: + - DefaultValue: http://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute.aspx + - Specified Properies: http://msdn.microsoft.com/en-us/library/bb402199.aspx + - ShouldSerialize Methods: http://msdn.microsoft.com/en-us/library/53b8022e.aspx + + + + + Gets the serialized name for the member. + + + + + + + Sorts members to ensure proper document order where attributes precede all child elements. + + + + + Performs the first stage of XML Canonicalization document order http://www.w3.org/TR/xml-c14n#DocumentOrder + "An element's namespace and attribute nodes have a document order position greater than the element but less than any child node of the element." + + + + + Generates delegates for getting/setting properties and field and invoking constructors + + + + + Creates a field getter delegate for the specified property or field + + PropertyInfo or FieldInfo + GetterDelegate for property or field, null otherwise + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field setter delegate for the specified property or field + + PropertyInfo or FieldInfo + SetterDelegate for property or field, null otherwise + + + + Creates a property getter delegate for the specified property + + + GetterDelegate if property CanRead, otherwise null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a property setter delegate for the specified property + + + GetterDelegate if property CanWrite, otherwise null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field getter delegate for the specified field + + + GetterDelegate which returns field unless is enum in which will return enum value + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field setter delegate for the specified field + + + SetterDelegate unless field IsInitOnly then returns null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a proxy delegate accepting a target instance and corresponding arguments + + method to proxy + ProxyDelegate or null if cannot be invoked + + Note: use with caution this method will expose private and protected methods without safety checks. + + + + + Creates a default constructor delegate + + type to be created + FactoryDelegate or null if default constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a constructor delegate accepting specified arguments + + type to be created + constructor arguments type list + FactoryDelegate or null if constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a constructor delegate accepting specified arguments + + type to be created + constructor arguments type list + FactoryDelegate or null if constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + diff --git a/packages/JsonFx.2.0.1106.2610/lib/net35/JsonFx.dll b/packages/JsonFx.2.0.1106.2610/lib/net35/JsonFx.dll new file mode 100644 index 0000000..e5835d0 Binary files /dev/null and b/packages/JsonFx.2.0.1106.2610/lib/net35/JsonFx.dll differ diff --git a/packages/JsonFx.2.0.1106.2610/lib/net35/JsonFx.xml b/packages/JsonFx.2.0.1106.2610/lib/net35/JsonFx.xml new file mode 100644 index 0000000..cef2d98 --- /dev/null +++ b/packages/JsonFx.2.0.1106.2610/lib/net35/JsonFx.xml @@ -0,0 +1,4865 @@ + + + + JsonFx + + + + + JsonFx metadata + + + + + Ctor + + + + + + Outputs BSON bytes from an input stream of tokens + + + + + Outputs text from an input stream of JSON tokens + + token type + + + + Formats the token sequence to the output writer + + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the output writer + + + + + + + Emits a document (or array) to the binary stream + + + + number of bytes written + + + + Emits a single element to the binary stream + + + + + number of bytes written + + + + Emits a string value + + + + number of bytes written + + + + Emits a binary value + + + + number of bytes written + + + + Emits a code_w_s value + + + + number of bytes written + + + + Generates a sequence of tokens from BSON bytes + + + + + Generates a sequence of tokens from a sequence of characters + + token type + + + + Tokenizes the input sequence into tokens + + + + + + + Tokenizes the input sequence into tokens + + + + + + + Gets the current position of the underlying input character sequence + + + Tokenizers not tracking index should return -1. + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets a token sequence from the reader + + + + + + + Gets the current position of the underlying stream + + + + + BSON MD5 Datatype + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Converts MD5 to Guid + + + + + + + + Converts MD5 to Guid + + + + + + + Gets the hashcode of the underlying Guid + + + + + + BSON JavaScript Code With Scope Datatype + + + + + BSON JavaScript Code Datatype + + + + + Ctor + + + + + + Converts JavaScriptCode to string + + + + + + + + Converts JavaScriptCode to string + + + + + + + Gets the hashcode of the underlying string + + + + + + BSON Symbol Datatype + + + + + Ctor + + + + + + Converts Symbol to string + + + + + + + + Converts Symbol to string + + + + + + + Gets the hashcode of the underlying string + + + + + + BSON DBPointer Datatype (Deprecated) + + + + + Immutable BSON ObjectID Datatype + + + http://www.mongodb.org/display/DOCS/Object+IDs#ObjectIDs-TheBSONObjectIdDatatype + + + + + Ctor + + 12-byte object ID + + + + Ctor + + 4-byte seconds since Unit epoch + 3-byte machine ID + 2-byte process ID + 3-byte counter + + + + Converts an ObjectID to a hex string + + + + + + + Converts a hex string to an ObjectID + + + + + + + Converts an ObjectID to a byte array + + + + + + + Converts a byte array to an ObjectID + + + + + + + Gets the hashcode of the underlying string + + + + + + Gets the time associated with this ObjectID + + + + + Gets the machine id associated with this ObjectID + + + + + Gets the process id associated with this ObjectID + + + + + Gets the counter associated with this ObjectID + + + + + Generic binary holder + + + http://api.mongodb.org/java/2.0/org/bson/types/Binary.html + + + + + Ctor + + binary type code + byte date + + + + Converts an ObjectID to a hex string + + + + + + + Converts a hex string to an ObjectID + + + + + + + Converts an ObjectID to a byte array + + + + + + + Converts a byte array to an ObjectID + + + + + + + Gets the hashcode of the underlying string + + + + + + Gets a 4-bit number as a hex digit + + 0-15 + + + + + Gets the binary type code + + + + + Gets the binary type code + + + + + Gets the byte at the given index + + + + + Gets the length of the binary data + + + + + Designates a type as being able to format itself to raw BSON bytes + + + + + Designates a type as being able to format itself to raw bytes + + + + + Writes custom format to the output using either tokens or bytes + + + + total number of bytes written + + + + Determines the corresponding BSON element type + + + + + + Generalized delegate for invoking a constructor + + + + + + + Generalized delegate for invoking a method + + the instance object + the method parameters + + + + + Generalized delegate for getting a field or property value + + + + + + + Generalized delegate for setting a field or property value + + + + + + + Consumes a sequence of tokens to produce an object graph optionally coerced to a given type + + + + + Consumes a sequence of tokens to produce a sequence of objects, optionally coerced to a given type + + token type + + + + Parses the token sequence + + + + + + + Parses the token sequence, optionally coercing the result to Type targetType + + + optional type for coercion (null if not specified) + + + + + Parses the token sequence, coercing the result to Type TResult + + optional type for coercion (null if not specified) + + + + + + Parses the token stream coercing the result to TResult (type inferred from ) + + + + an example value used solely for Type inference + + + + + Ctor + + + + + + Parses the token stream coercing the result targetType + + + + + + + Parses the token stream coercing the result to targetType + + + + + + + + Parses the token stream coercing the result to TResult + + the result target type + + + + + + Parses the token stream coercing the result to TResult (inferred from ) + + + + an example value used solely for Type inference + + + + + Common Model Language grammar helper + + + Simplifies and guides syntax, and provides a set of reusable tokens to reduce redundant token instantiations + + + + + Marks the beginning of an array + + the local name of the array + ArrayBegin Token + + + + Marks the beginning of an array + + the local name of the array + the namespace of the document + ArrayBegin Token + + + + Marks the beginning of an array + + the name of the array + ArrayBegin Token + + + + Marks the beginning of an object + + the local name of the object + ObjectBegin Token + + + + Marks the beginning of an object + + the name of the object + ObjectBegin Token + + + + Marks the beginning of an object property + + the local name of the property + PropertyKey Token + + + + Marks the beginning of an object property + + the local name of the property + PropertyKey Token + + + + Marks the beginning of an object property + + the name of the property + PropertyKey Token + + + + A simple scalar value (typically serialized as a single primitive value) + + + Value Token + + + + Provides base implementation for standard deserializers + + + Provides base implementation for standard deserializers + + + This partial class adds LINQ capabilities to the reader. + + + + + Provides base implementation for standard deserializers + + + + + A common interface for data deserializers + + + + + Deserializes a single object from the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Deserializes a single object from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + + + + Deserializes a single object from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a potentially endless sequence of objects from a stream source + + + + + character stream => token stream => object stream + + + + + Gets the supported content type of the serialized data + + + + + Gets the settings used for deserialization + + + + + Ctor + + + + + + Deserializes the data from the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input reader + + + + Deserializes the data from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + + + + Deserializes the data from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a potentially endless sequence of objects from a stream source + + a streamed source of objects + a sequence of objects + + character stream => token stream => object stream + + + + + Gets the supported content type of the serialized data + + + + + Gets the settings used for deserialization + + + + + A common interface for querying data readers + + + + + Begins a query of the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Ctor + + + + + + Begins a query of the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Extension methods for selecting subsequences of sequences of tokens + + + + + Determines if the sequence represents a primitive + + + + + + + Determines if the sequence represents an object + + + + + + + Determines if the root object has any properties which satisfies the name + + + + true if any properties match the predicate + + + + Gets all properties of the root object + + + + all properties for the object + + + + Gets all properties of the root object + + + + all properties for the object + + + + Gets the properties of the root object which satisfies the + + + + matching properties for the root object + + + + Gets the properties of the root object which satisfies the + + + + matching properties for the root object + + + + Determines if the sequence represents an array + + + + + + + Gets all the items of the array + + + all items of the array + + + + Gets the items of the root array with indexes satisfying the + + + + items of the root array which statisfy the predicate + + + + ArrayItems iterator + + + + + + + + Gets all descendant values below the current root + + + + + + + Descendants iterator + + + + + + + Gets all descendant values below the current root, as well as the current root + + + + + + + DescendantsAndSelf iterator + + + + + + + Covers the sitation where a stream of sequences may be back to back + + + + + + + Splices out the sequence for the next complete value (object, array, primitive) + + + + + + + Splices out the sequence for the next complete value (object, array, primitive) + + + + + + + Skips over the next complete value (object, array, primitive) + + + + + + + Common Model Language tokens + + + + + + + + + + + + Generates a sequence of tokens from an object graph + + + + + Generates a sequence of tokens from an object graph + + token type + + + + Generates a sequence of tokens representing the value + + + + + + + Ctor + + + + + + Generates a sequence of tokens representing the value + + + + + + + Allows a mechanism for manipulating JSON serialization + + Defines the type this filter reads/writes + + + + Partially implements an IDataFilter + + + + + Allows a mechanism for manipulating serialization + + Defines the type of token stream this filter understands + Defines the type this filter reads/writes + + + + Allows a mechanism for manipulating serialization + + Defines the type of token stream this filter understands + + + + Allows a class to act as a factory for a type via input Token<T> sequence + + input tokens + + true if value was generated + + + + Allows a class to serialize a type as Token<T> sequence + + + + true if value was consumed + + + + Allows a class to act as a factory for a type via input Token<T> sequence + + input tokens + + true if value was generated + + + + Allows a class to serialize a type as Token<T> sequence + + + + true if value was consumed + + + + Defines a filter for JSON-style serialization of DateTime into ISO-8601 string + + + This is the format used by EcmaScript 5th edition Date.prototype.toJSON(...): + http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf + http://www.w3.org/TR/NOTE-datetime + http://en.wikipedia.org/wiki/ISO_8601 + + NOTE: This format limits expressing DateTime as either UTC or Unspecified. Local (i.e. Server Local) is converted to UTC. + + + + + Converts a ISO-8601 string to the corresponding DateTime representation + + ISO-8601 conformant date + UTC or Unspecified DateTime + true if parsing was successful + + + + Converts a DateTime to the corresponding ISO-8601 string representation + + + ISO-8601 conformant date + + + + Determines the precision of fractional seconds. + Defaults to EcmaScript precision of milliseconds. + + + + + Defines the precision of fractional seconds in ISO-8601 dates + + + + + Defines a filter for JSON-style serialization of DateTime into an ASP.NET Ajax Date string. + + + This is the format used by Microsoft ASP.NET Ajax: + http://weblogs.asp.net/bleroy/archive/2008/01/18/dates-and-json.aspx + + NOTE: This format is limited to expressing DateTime at the millisecond level as UTC only. + The WCF extension of adding a timezone is ignored as this returns UTC dates only. + + + + + Converts an ASP.NET Ajax date string to the corresponding DateTime representation + + ASP.NET Ajax date string + + true if parsing was successful + + + + Converts a DateTime to the corresponding ASP.NET Ajax date string representation + + + ASP.NET Ajax date string + + + + Provides base implementation for standard serializers + + + + + Provides base implementation of standard serializers + + + + + A common interface for data serializers + + + + + Serializes the data to the given output + + the output writer + the data to be serialized + + + + Serializes the data to the given output + + the data to be serialized + the serialized data + + + + Gets the content encoding for the serialized data + + + + + Gets the supported content types for the serialized data + + + + + Gets the supported file extensions for the serialized data + + + + + Gets the settings used for serialization + + + + + Ctor + + + + + + Serializes the data to the given output + + the data to be serialized + the output writer + + + + Serializes the data to the given output + + the data to be serialized + the serialized data + + + + Gets the walker for this DataWriter + + + + + + + Gets the formatter for this DataWriter + + + + + + + Gets the content encoding for the serialized data + + + + + Gets the supported content types for the serialized data + + + + + Gets the supported file extensions for the serialized data + + + + + Gets the settings used for serialization + + + + + Ctor + + + + + + Gets a walker for JSON + + + + + + + Gets the content encoding for the serialized data + + + + + Represents an ECMAScript identifier for serialization. + + + + + Designates a type as being able to format itself to raw text + + + + + Writes custom format to the output using either tokens or text + + + + + + + Ctor + + + + + Ctor + + + + + + Verifies is a valid EcmaScript identifier + + the identifier + identifier + + + + Verifies is a valid EcmaScript identifier + + the identifier + identifier + + + + Verifies is a valid EcmaScript variable expression + + the identifier + identifier + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + IdentifierName = + IdentifierStart | IdentifierName IdentifierPart + IdentifierStart = + Letter | '$' | '_' + IdentifierPart = + IdentifierStart | Digit + + + + + Trivial conversion method. Essentially performs a cast. + + + + + Supports conversion via System.Web.UI.PropertyConverter.ObjectFromString(Type, MemberInfo, string) + + + + + Implicit type conversion allows to be used directly as a String + + valid ECMAScript identifier + + + + + Implicit type conversion allows to be used directly with Strings + + valid ECMAScript identifier + + + + + Returns the identifier + + + + + + Compares identifiers + + + + + + + Returns the hash code for the identifier + + + + + + Gets the ECMAScript identifier represented by this instance + + + + + Formats data as full ECMAScript objects, rather than the limited set of JSON objects. + + + + + Outputs JSON text from an input stream of tokens + + + + + Outputs text from an input stream of JSON tokens + + token type + + + + Formats the token sequence to the output writer + + + + + + + Formats the token sequence as a string + + + + + + JSON serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the formatter for JSON + + + + + + + Gets the supported content type for the serialized data + + + + + Gets the supported file extension for the serialized data + + + + + Outputs JSON text from an input stream of tokens + + + + + Ctor + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Converts an object to its string representation + + + + + + + Converts an enum to its string representation + + + + + + + Splits a bitwise-OR'd set of enums into a list. + + the enum type + the combined value + list of flag enums + + from PseudoCode.EnumHelper + + + + + Determines if a numeric value cannot be represented as IEEE-754. + + + + + http://stackoverflow.com/questions/1601646 + + + + + Gets and sets if '<' should be encoded in strings + Useful for when emitting directly into page + + + + + Ctor + + + + Defaults to encoding < chars for improved embedding within script blocks + + + + + Emits a block of script ensuring that a namespace is declared + + the output writer + the namespace to ensure + list of namespaces already emitted + determines if should emit pretty-printed + if was a namespaced identifier + + + + Outputs a .NET Regex as an ECMAScript RegExp literal. + Defaults to global matching off. + + + + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + + + + Outputs a .NET Regex as an ECMAScript RegExp literal. + + + + + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + + + + Defines a strategy for filtering HTML tags/attributes/styles/literals + + + + + Filters tags, optionally allowing altering of tag + + tag name + if true tag should be rendered + + + + Filters attributes, optionally allowing altering of attribute value + + tag name + attribute name + attribute value + if true attribute should be rendered + + + + Filters styles, optionally allowing altering of style value + + tag name + style name + style value + if true style should be rendered + + + + Filters literals, optionally allowing replacement of literal value + + the literal value + if true should be rendered + + + + Provides a mechanism for filtering HTML streams based upon a tag taxonomy + + + + + Determines if is "void" (i.e. "empty" or "full") tag + + lowercase tag name + if is a void tag + + http://www.w3.org/TR/html5/semantics.html + http://www.w3.org/TR/html401/index/elements.html + http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#sec_5.2. + http://www.w3.org/TR/WD-html40-970917/index/elements.html + + + + + Determines if the tag is required to be closed + + lowercase tag name + if closing tag is optional + + http://www.w3.org/TR/html5/semantics.html + http://www.w3.org/TR/html401/index/elements.html + http://www.w3.org/TR/WD-html40-970917/index/elements.html + + + + + Categorizes the tag for heuristics about markup type + + lowercase tag name + the box type for a particular element + + http://www.w3.org/TR/html5/semantics.html + + + + + Defines a prioritized taxonomy of tags + + + The types are enumerated in ascending levels of risk for use in filtering HTML input + + + + + Literal text, no tags + + + + + Inline character level elements and text strings + + + Tags of this type typically do not disrupt the text flow + + + + + style elements + + + Tags of this type change the visual appearance of text + + + + + list elements + + + Tags of this type denote lists and typically change the text flow + + + + + Block-level elements + + + Tags of this type denote sections or change the text flow + + + + + Media elements + + + Tags of this type safely embed media content + + + + + Tabular elements + + + Tags of this type have a very specific structure and their own rendering model + + + + + Form elements + + + Tags of this type are used in the construction of forms for capturing user input + + + + + Script elements + + + Tags of this type represent a security risk to the containing document but must obey the browser security sandbox + + + + + Document elements + + + Tags of this type are used to construct the document itself + + + + + embedded elements + + + Tags of this type represent a large security risk to the containing document as plug-ins may circumvent the browser security sandbox + + + + + Unknown elements + + + + + Outputs markup text from an input stream of tokens + + + + + Ctor + + + + + + Resets the internal stack of elements + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Emits a valid XML local-name (i.e. encodes invalid chars including ':') + + + + + Explicitly escaping ':' to maintain compatibility with XML Namespaces. + From XML 1.0, 5th ed. http://www.w3.org/TR/xml/#sec-common-syn + Name = NameStartChar (NameChar)* + NameStartChar = ":" + | [A-Z] + | "_" + | [a-z] + | [#xC0-#xD6] + | [#xD8-#xF6] + | [#xF8-#x2FF] + | [#x370-#x37D] + | [#x37F-#x1FFF] + | [#x200C-#x200D] + | [#x2070-#x218F] + | [#x2C00-#x2FEF] + | [#x3001-#xD7FF] + | [#xF900-#xFDCF] + | [#xFDF0-#xFFFD] + | [#x10000-#xEFFFF] + NameChar = NameStartChar + | "-" + | "." + | [0-9] + | #xB7 + | [#x0300-#x036F] + | [#x203F-#x2040] + + + + + + Emits valid XML character data + + + + encodes all non-ASCII chars + + + + + Emits valid XML attribute character data + + + + encodes all non-ASCII chars + + + + Gets and sets a value indicating if should emit canonical form + + + http://www.w3.org/TR/xml-c14n + + + + + Gets and sets a value indicating how should emit empty attributes + + + + + Gets and sets a value indicating if should encode text chars above the ASCII range + + + This option can help when the output is being embedded within an unknown encoding + + + + + HTML-style empty attributes do not emit a quoted string + + + http://www.w3.org/TR/html5/syntax.html#attributes-0 + + + + + XHTML-style empty attributes repeat the attribute name as its value + + + http://www.w3.org/TR/xhtml-media-types/#C_10 + http://www.w3.org/TR/xhtml1/#C_10 + http://www.w3.org/TR/html5/the-xhtml-syntax.html + + + + + XML-style empty attributes emit an empty quoted string + + + http://www.w3.org/TR/xml/#sec-starttags + + + + + Generates a sequence of tokens from a generalized model of markup text (e.g. HTML, XML, JBST, ASPX/ASCX, ASP, JSP, PHP, etc.) + + + This generates a stream of tokens like StAX (Streaming API for XML) + Unlike XML, this follows a more permissive markup format with automatic recovery most similar to HTML5. + + + + + Generates a sequence of tokens from a sequence of characters + + token type + + + + Tokenizes the input sequence into tokens + + + + + + + Tokenizes the input sequence into tokens + + + + + + + Gets the current column of the underlying input character sequence + + + Tokenizers not tracking columns should return -1. + + + + + Gets the current line of the underlying input character sequence + + + Tokenizers not tracking lines should return -1. + + + + + Gets the current position of the underlying input character sequence + + + Tokenizers not tracking index should return -1. + + + + + Decodes HTML-style entities into special characters + + + the entity text + + TODO: validate against HTML5-style entities + http://www.w3.org/TR/html5/tokenization.html#consume-a-character-reference + + + + + Decodes most known named entities + + + + + + + Checks for element start char + + + + + http://www.w3.org/TR/xml/#sec-common-syn + + + + + Checks for element name char + + + + + http://www.w3.org/TR/xml/#sec-common-syn + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets and sets if should attempt to auto-balance mismatched tags. + + + + + Gets and sets if should unwrap comments inside . + + + For example, in HTML this would include "script" and "style" tags. + + + + + Gets and sets a set of tags which should not have their content parsed. + + + For example, in HTML this would include "script" and "style" tags. + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Ctor + + + + + Renders Common Model Tokens into a semantic HTML representation of the data structure + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + input token type + output token type + + + + Transforms the token sequence from to + + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + StringBuilder-like implementation built like List<char> + + + + + Ctor + + + + + Ctor + + + + + + Resets the buffer to an empty state + + + + + Appends a single char to the buffer + + + + + + + Appends a string value to the buffer + + + + + + + Copies the buffer value into a + + + + + + Gets the number of characters in the buffer + + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + Ctor + + + + + + + + Supports forward-only iteration over an input sequence of + + + + + Supports forward-only iteration over an input sequence of + + + + + Supports forward-only iteration over an input sequence + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered sequence chunk + + + + + + Determines if the sequence has completed. + + + + + Gets a value indicating if is currently capturing a sequence + + + + + Gets the number of items currently chunked + + + + + Factory method for generic streams + + + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Determines if the input sequence has reached the end + + + + + Ctor + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a list with ability to capture a subsequence + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered chunk + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Gets the number of characters currently chunked + + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a text input tracking line/column/position + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and writes the buffered text chunk into the provided StringBuilder + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Supports a simple iteration over a string tracking line/column/position + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Calculates index, line, and column statistics + + + + + Releases all resources used + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Gets the number of characters currently chunked + + + + + Gets a value indicating if the is currently chunking + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a TextReader tracking line/column/position + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Calculates index, line, and column statistics + + + + + + + Releases all resources used by the underlying reader + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Gets the number of characters currently chunked + + + + + Gets a value indicating if the is currently chunking + + + + + Determines if the input sequence has reached the end + + + + + Formal language of tokens and symbols for JSON + + + + + Designates a property or field to not be serialized. + + + + + Specifies the naming to use for a property or field when serializing + + + + + Ctor + + + + + Ctor + + + + + + Gets and sets the name to be used in serialization + + + + + JSON deserializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the supported content type of the serialized data + + + + + Generates a sequence of tokens from JSON text + + + + + Gets a token sequence from the scanner stream + + + + + + + Scans for the longest valid EcmaScript identifier + + identifier + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + IdentifierName = + IdentifierStart | IdentifierName IdentifierPart + IdentifierStart = + Letter | '$' | '_' + IdentifierPart = + IdentifierStart | Digit + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + It is an error for the next token to be a value delim + + + + + Forbidden but differentiates between empty array/object and just written + + + + + It is an error for the next token to NOT be a value delim + + + + + Specifies the name of the property which specifies if member should be serialized. + + + These properties can be marked private/protected/internal and it will still be recognized + + + + + Ctor + + the name of the property which controls serialization for this member + + + + Ctor + + the name of the property which controls serialization for this member + + + + Gets and sets the name of the property which + specifies if member should be serialized + + + + + Transforms markup tokens into Common Model tokens using the (lossless) JsonML model + + + JsonML Grammer: http://jsonml.org + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Determines how whitespace should be handled + + + + + Transforms Common Model tokens into markup tokens using the (lossless) JsonML model + + + JsonML Grammer: http://jsonml.org + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Controls name resolution for IDataReader / IDataWriter using JsonNameAttribute / JsonIgnoreAttribute / JsonPropertySpecifiedAttribute + + + This is the default strategy from JsonFx v1.0 + + + + + Controls name resolution for IDataReader / IDataWriter using plain old CLR object (POCO) names + + + + + Controls name resolution for IDataReader / IDataWriter + + + Provides an extensibility point to control member naming and visibility at a very granular level. + + + + + Gets a value indicating if the property is to be serialized. + + + + + + + + Gets a value indicating if the field is to be serialized. + + + + + + + Determines if the property or field should not be serialized. + + + + + + + + + Gets the serialized name for the member. + + + + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute + + This is useful when default values need not be serialized. + + + + + Gets the serialized name for the member. + + + + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute + + This is useful for excluding serialization of default values. + + + + + Gets the serialized name for the member. + + + + + + + Determines whitespace handling + + + + + Removes insignificant whitespace + + + + + Keep all whitespace + + + + + Condenses all whitespace to single spaces + + + + + Designates a type as being able to format itself to raw JSON text. + + + + + Ctor + + + + + Ctor + + + + + Gets and sets the starting delimiter + + + + + Gets and sets the ending delimiter + + + + + Gets and sets the context + + + + + Formal language of tokens and symbols for markup + + + + + Any of a number of unparsed tags which typically contain specialized processing instructions + + + The name of the token is the beginning and ending delimiters as a format string (not including the '<' or '>') + Includes the following types: + + "<!--", "-->" XML/HTML/SGML comment + "<!", ">" XML/SGML declaration (e.g. DOCTYPE or server-side includes) + + "<?=", "?>" PHP expression + "<?", "?>" PHP code block /XML processing instruction (e.g. the XML declaration) + + "<%--", "--%>" ASP/PSP/JSP-style code comment + "<%@", "%>" ASP/PSP/JSP directive + "<%=", "%>" ASP/PSP/JSP/JBST expression + "<%!", "%>" JSP/JBST declaration + "<%#", "%>" ASP.NET/JBST databind expression + "<%$", "%>" ASP.NET/JBST extension + "<%", "%>" ASP code block / JSP scriptlet / PSP code block + + + + + tokens + + + + + + + + + + + Maintains scope chain for namespace prefix mappings + + + + + Adds a new scope to the chain + + + + + + Gets the last scope off the chain + + + + + Gets and removes the last scope off the chain + + + + + + Finds the namespace URI for a given prefix within the curren scope chain + + + + + + + Finds the prefix for a given namespace URI within the curren scope chain + + + + + + + Checks if the matching begin tag exists on the stack + + + + + + Resets the internal state of the scope chain. + + + + + Looks up the prefix for the given namespace + + + + null if namespace is empty and no default prefix found + + + + Represents a scope boundary within a prefix scope chain + + + + + Returns if this scope boundary contains a mapping for a particular prefix + + + if this scope boundary contains a mapping for a particular prefix + + + + Returns if this scope boundary contains a mapping for a particular namespace + + + if this scope boundary contains a mapping for a particular namespace + + + + Returns if this scope boundary contains a mapping for a particular prefix + setting the namespace URI if one was found. + + + the resolved namespace URI + if this scope boundary contains a mapping for a particular prefix + + + + Returns if this scope boundary contains a mapping for a particular prefix + setting the prefix if one was found. + + + the resolved prefix + if this scope boundary contains a mapping for a particular prefix + + + + Gets and sets the tagname associated with this scope boundary + + + + + Gets and sets mappings between prefix and namespace URIs + + + + + + + Provides lookup capabilities for providers + + + + + Parses HTTP headers for Media-Types + + HTTP Accept header + HTTP Content-Type header + sequence of Media-Types + + http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html + + + + + + + + + + + + Controls name resolution for IDataReader / IDataWriter using convention-based name mapping + + + Converts standard .NET PascalCase naming convention into the specified naming convention. + http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx + http://msdn.microsoft.com/en-us/library/141e06ef.aspx + http://msdn.microsoft.com/en-us/library/xzf533w0.aspx + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the serialized name for the member. + + + + + + + Splits a multi-word name assuming standard .NET PascalCase conventions. + + + + + http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx + http://msdn.microsoft.com/en-us/library/141e06ef.aspx + http://msdn.microsoft.com/en-us/library/xzf533w0.aspx + + + + + + Ctor + + + + + + + + Ctor + + + + + + + Represents a property or document name, and a corresponding namespace URI (or empty string). + Analogous to XML "expanded name": http://www.w3.org/TR/REC-xml-names/#dt-expname + + + Namespaces must be a URI, but local-name can be any non-null string. + It is up to formatters to determine how to properly represent names which are invalid for the format. + + + + + local-name + + + + + alias for the namespace + + + + + namespace + + + + + Determines if name should be treated like an attribute + + + + + Ctor + + a CLR Type used to generate the local-name + + This constructor implicitly delcares the namespace to be empty. + + + + + Ctor + + any string is a valid local-name + + This constructor implicitly delcares the namespace to be empty. + + + + + Ctor + + any string is a valid local-name + an absolute URI string, or null + thrown if is null + thrown if is an invalid absolute URI + + The namespace field follows XML recommendation of absolute URIs. + Relative URIs are officially deprecated for namespaces: http://www.w3.org/2000/09/xppa + + + + + Ctor + + any string is a valid local-name + an absolute URI string, or null + determines if name should be an attribute name + thrown if is null + thrown if is an invalid absolute URI + + The namespace field follows XML recommendation of absolute URIs. + Relative URIs are officially deprecated for namespaces: http://www.w3.org/2000/09/xppa + + + + + Gets the local-name for a Type + + + + + + + Gets the prefixed name or simply local-name if is not a fully qualified name + + true to generate a prefix if the prefix is empty but not the namespace + + + + + Gets the namespaced name or simply local-name if is not a fully qualified name + + + + + + Compares two values and returns an indication of their relative sort order. + + + + + Performs ordering according to XML Canonicalization document order http://www.w3.org/TR/xml-c14n#DocumentOrder + "An element's namespace nodes are sorted lexicographically by local name (the default namespace node, if one exists, has no local name and is therefore lexicographically least)." + "An element's attribute nodes are sorted lexicographically with namespace URI as the primary key and local name as the secondary key (an empty namespace URI is lexicographically least)." + + + + + Determines if this is an empty DataName + + + + + Indicates a graph cycle was detected during serialization + + + + + Indicates an error occurred during serialization + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Gets the type of cycle which caused the error + + + + + Graph cycles are detected with a reference tracking, any repeated reference results in a null value + + + + + Graph cycles are detected with a reference tracking, any repeated reference results in an error + + + + + Graph cycles are detected with a maximum depth count, exceeding depth results in an error + + + + + Detects graph cycles by tracking graph depth + + + + + Defines an interface for detecting graph cycles + + + + + Begins tracking of the reference + + + true if graph cycle was detected + + + + Ends tracking of the reference + + + true if tracking was successfully completed + + + + Ctor + + + + + + Increments the depth + + + true if MaxDepth has not been exceeded + + + + Increments the depth + + + + + + Detects cycles by detecting duplicates in the a set of object references + + + + + Adds a reference to the set + + + true if object already existed within set + + + + Removes a reference from the set + + + + + + Controls deserialization settings for IDataReader + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Gets and sets if ValueTypes can accept values of null + + + If this is true and a ValueType T is assigned the value of null, + it will receive the value of default(T). + Setting this to false, throws an exception if null is + specified for a ValueType member. + + + + + Gets and sets if should verify that stream is empty after deserialzing each object + + + Setting to true allows reading a JSON stream inside other structures (e.g. JavaScript) + + + + + Gets manager of name resolution for IDataReader + + + + + Gets the custom filters + + + + + Controls the serialization settings for IDataWriter + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Gets and sets what to do when graph cycles (repeated references) are encounted + + + + + Gets and sets the maximum nesting depth + + + Depth is a fast and easy safegaurd against detecting graph cycles but may produce false positives + + + + + Gets and sets if output will be formatted for human reading. + + + + + Gets and sets the string to use for indentation + + + + + Gets and sets the line terminator string + + + + + Gets manager of name resolution for IDataReader + + + + + Gets the custom filters + + + + + Indicates an error occurred during deserialization + + + + + Ctor + + + + + + + Ctor + + + + + + + + + Ctor + + + + + + + + Ctor + + + + + + + + Ctor + + + + + + + Helper method which converts the index into Line and Column numbers + + + + + + + + Gets the character column in the stream where the error occurred + + + + + Gets the character position in the stream where the error occurred + + + + + Gets the character line in the stream where the error occurred + + + + + Indicates an error occurred during token consumption + + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Gets the token in the sequence where the error occurred + + + + + Indicates an error occurred during type coercion + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Provides lookup capabilities for finding matching IDataReader + + + + + Provides lookup capabilities for finding matching IDataReader + + + + + Ctor + + inject with all possible readers + + + + Finds an IDataReader by content-type header + + + + + + + Provides lookup capabilities for finding an IDataWriter + + + + + Provides lookup capabilities for finding an IDataWriter + + + + + Ctor + + inject with all possible writers + + + + Controls name resolution for IDataReader / IDataWriter by using pluggable delegate callbacks + + + + + Gets and sets the implementation for ignoring properties + + + + + Gets and sets the implementation for ignoring fields + + + + + Gets and sets the implementation for ignoring properties by value + + + + + Gets and sets the implementation for naming members + + + + + Gets and sets the implementation for sorting members + + + + + Controls name resolution for IDataReader / IDataWriter by combining an ordered sequence of any other strategies + + + Each strategy is invoked in order, the first to respond wins. + + + + + Ctor + + ordered sequence of strategies + + + + Ctor + + ordered sequence of strategies + + + + Gets a value indicating if the property is to be serialized. + + + + true if any strategy specifies should be ignored + + + + Gets a value indicating if the field is to be serialized. + + + true if any strategy specifies should be ignored + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + true if any strategy specifies this should be ignored + + + + Gets the serialized name for the member. + + + + custom name if any strategy specifies one, otherwise null + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Controls name resolution for IDataReader / IDataWriter using DataContract attributes + + + http://msdn.microsoft.com/en-us/library/kd1dc9w5.aspx + + + + + CCtor + + + + + Gets a value indicating if the property is to be serialized. + + + + + + + + Gets a value indicating if the field is to be serialized. + + + + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + + + + + Gets the serialized name for the member. + + + + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + + + + + The original member info + + + + + The original member name + + + + + The member data name + + + + + The member type + + + + + The getter method + + + + + The setter method + + + + + The logic for determining if a value is ignored + + + + + Determines if map name is alternate (i.e. only used for deserialization) + + + + + Ctor + + MemberMap to clone + alternate name + + + + Ctor + + + + + + + + Ctor + + + + + + + + Ctor + + + + + Gets a sequence of the available factory arguments + + + + + Gets the factory associated with the given argument type + + + + + + + Cache of name resolution mappings for IDataReader / IDataWriter + + + + + Ctor + + + + + + Gets the serialized name of the class + + + + + + + Removes any cached member mappings. + + + + + Builds a mapping of member name to field/property + + + + + + Represents a single immutable token in an input sequence + + + + + The type of the token + + + + + The name of the token + + + + + The value of the token + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Ctor + + + + + + + Returns a string that represents the current token. + + + + + + Gets the value of the token as a string + + + + + + Converts a value to a string giving opportunity for IConvertible, IFormattable + + + + + + + Converts token to a token of a different type + + + token with same values and different type + + + + Type Coercion Utility + + + + + Ctor + + + + + + + Ctor + + + + + + + Instantiates a new instance of objectType. + + + objectType instance + + + + Instantiates a new instance of objectType. + + + objectType instance + + + + Helper method to set value of a member. + + + + + + + + + + Coerces the object value to Type + + + + + + + + Coerces the object value to Type of + + + + + + + + Populates the properties of an object with the dictionary values. + + + + + + + + Populates the properties of an object with the dictionary values. + + + + + + + + Coerces an sequence of items into an array of Type elementType + + + + + + + + Finds a suitable concrete class for common collection interface types + + + + + + + Allows specific IDictionary<string, TVal> to deserialize as TVal + + IDictionary<string, TVal> Type + TVal Type + + + + Returns a common type which can hold previous values and the new value + + + + + + + + Determines if type can be assigned a null value. + + + + + + + Gets the attribute T for the given value. + + + Attribute Type + true if defined + + + + Gets the attribute of Type for the given value. + + + true if defined + + + + Gets the attribute T for the given value. + + + Attribute Type + requested attribute or not if not defined + + + + Gets the attribute of Type for the given value. + + + requested attribute or not if not defined + + + + Character Utility + + + These are either simpler definitions of character classes (e.g. letter is [a-zA-Z]), + or they implement platform-agnositic checks (read: "Silverlight workarounds"). + + + + + Checks if string is null, empty or entirely made up of whitespace + + + + + Essentially the same as String.IsNullOrWhiteSpace from .NET 4.0 + with a simplfied view of whitespace. + + + + + Checks if character is line ending, tab or space + + + + + + + + + + + + + + Checks if character matches [A-Za-z] + + + + + + + Checks if character matches [0-9] + + + + + + + Checks if character matches [0-9A-Fa-f] + + + + + + + Gets a 4-bit number as a hex digit + + 0-15 + + + + + Formats a number as a hex digit + + + + + + + Converts the value of a UTF-16 encoded character or surrogate pair at a specified + position in a string into a Unicode code point. + + + + + + + + Converts the specified Unicode code point into a UTF-16 encoded string. + + + + + + + XML serializer + + + XML serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets a tokenizer for XML + + + + + + Gets the supported content type for the serialized data + + + + + Transforms markup tokens into Common Model tokens using an XML-data model + + + + + Ctor + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + + Ctor + + + + + Ctor + + + + + + Gets a token sequence from the string + + + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the XmlReader + + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + XML serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the formatter for XML + + + + + + + Gets the supported content type for the serialized data + + + + + Gets the supported file extension for the serialized data + + + + + Transforms Common Model tokens into markup tokens using an XML-data model + + + + + Ctor + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + Outputs XML text from an input stream of tokens + + + + + Ctor + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Formats the token sequence to the writer + + + + + + + Wraps an XmlWriter as a TextWriter + + + + + Ctor + + + + + + Gets the underlying XmlWriter + + + + + Controls name resolution for IDataReader / IDataWriter using attributes and conventions similar to XmlSerializer semantics + + + http://msdn.microsoft.com/en-us/library/83y7df3e.aspx + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute or has a property named XXXSpecified which determines visibility + + This is useful when default values need not be serialized. + Under these situations XmlSerializer ignores properties based upon value: + - DefaultValue: http://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute.aspx + - Specified Properies: http://msdn.microsoft.com/en-us/library/bb402199.aspx + - ShouldSerialize Methods: http://msdn.microsoft.com/en-us/library/53b8022e.aspx + + + + + Gets the serialized name for the member. + + + + + + + Sorts members to ensure proper document order where attributes precede all child elements. + + + + + Performs the first stage of XML Canonicalization document order http://www.w3.org/TR/xml-c14n#DocumentOrder + "An element's namespace and attribute nodes have a document order position greater than the element but less than any child node of the element." + + + + + Generates delegates for getting/setting properties and field and invoking constructors + + + + + Creates a field getter delegate for the specified property or field + + PropertyInfo or FieldInfo + GetterDelegate for property or field, null otherwise + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field setter delegate for the specified property or field + + PropertyInfo or FieldInfo + SetterDelegate for property or field, null otherwise + + + + Creates a property getter delegate for the specified property + + + GetterDelegate if property CanRead, otherwise null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a property setter delegate for the specified property + + + GetterDelegate if property CanWrite, otherwise null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field getter delegate for the specified field + + + GetterDelegate which returns field unless is enum in which will return enum value + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field setter delegate for the specified field + + + SetterDelegate unless field IsInitOnly then returns null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a proxy delegate accepting a target instance and corresponding arguments + + method to proxy + ProxyDelegate or null if cannot be invoked + + Note: use with caution this method will expose private and protected methods without safety checks. + + + + + Creates a default constructor delegate + + type to be created + FactoryDelegate or null if default constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a constructor delegate accepting specified arguments + + type to be created + constructor arguments type list + FactoryDelegate or null if constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a constructor delegate accepting specified arguments + + type to be created + constructor arguments type list + FactoryDelegate or null if constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Represents a query across a data source + + + + + + Ctor + + + + + + Ctor + + + + + + + Returns a string representation of the query + + + + + + Gets the query expression + + + + + Gets the query return type + + + + + Gets the underlying provider + + + + + Ctor + + + + + + + Ctor + + + + + + + Extends the query to all descendants + + + + + Extends the query to all descendants + + + + + Gets all items of the array + + + + + Gets the items of the array with indexes satisfying the + + + + + + Filters to only objects with a particular property name defined + + + + + + Filters to a lookup of only the properties which match the predicate + + + + + + Filters to only arrays + + + + + + Filters to only objects + + + + + + Filters to only simple values + + + + + + Boiler-plate implementation + + + + + + Ctor + + + + + Ctor + + + + + + + + + + + Searches for subsequences found by the expression and rehydrates into objects with the analyzer + + + + + Ctor + + + + + Ctor + + + + + + + Ctor + + + + + + diff --git a/packages/JsonFx.2.0.1106.2610/lib/net40/JsonFx.dll b/packages/JsonFx.2.0.1106.2610/lib/net40/JsonFx.dll new file mode 100644 index 0000000..f2583d3 Binary files /dev/null and b/packages/JsonFx.2.0.1106.2610/lib/net40/JsonFx.dll differ diff --git a/packages/JsonFx.2.0.1106.2610/lib/net40/JsonFx.xml b/packages/JsonFx.2.0.1106.2610/lib/net40/JsonFx.xml new file mode 100644 index 0000000..a08ebbc --- /dev/null +++ b/packages/JsonFx.2.0.1106.2610/lib/net40/JsonFx.xml @@ -0,0 +1,4877 @@ + + + + JsonFx + + + + + JsonFx metadata + + + + + Ctor + + + + + + Outputs BSON bytes from an input stream of tokens + + + + + Outputs text from an input stream of JSON tokens + + token type + + + + Formats the token sequence to the output writer + + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the output writer + + + + + + + Emits a document (or array) to the binary stream + + + + number of bytes written + + + + Emits a single element to the binary stream + + + + + number of bytes written + + + + Emits a string value + + + + number of bytes written + + + + Emits a binary value + + + + number of bytes written + + + + Emits a code_w_s value + + + + number of bytes written + + + + Generates a sequence of tokens from BSON bytes + + + + + Generates a sequence of tokens from a sequence of characters + + token type + + + + Tokenizes the input sequence into tokens + + + + + + + Tokenizes the input sequence into tokens + + + + + + + Gets the current position of the underlying input character sequence + + + Tokenizers not tracking index should return -1. + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets a token sequence from the reader + + + + + + + Gets the current position of the underlying stream + + + + + BSON MD5 Datatype + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Converts MD5 to Guid + + + + + + + + Converts MD5 to Guid + + + + + + + Gets the hashcode of the underlying Guid + + + + + + BSON JavaScript Code With Scope Datatype + + + + + BSON JavaScript Code Datatype + + + + + Ctor + + + + + + Converts JavaScriptCode to string + + + + + + + + Converts JavaScriptCode to string + + + + + + + Gets the hashcode of the underlying string + + + + + + BSON Symbol Datatype + + + + + Ctor + + + + + + Converts Symbol to string + + + + + + + + Converts Symbol to string + + + + + + + Gets the hashcode of the underlying string + + + + + + BSON DBPointer Datatype (Deprecated) + + + + + Immutable BSON ObjectID Datatype + + + http://www.mongodb.org/display/DOCS/Object+IDs#ObjectIDs-TheBSONObjectIdDatatype + + + + + Ctor + + 12-byte object ID + + + + Ctor + + 4-byte seconds since Unit epoch + 3-byte machine ID + 2-byte process ID + 3-byte counter + + + + Converts an ObjectID to a hex string + + + + + + + Converts a hex string to an ObjectID + + + + + + + Converts an ObjectID to a byte array + + + + + + + Converts a byte array to an ObjectID + + + + + + + Gets the hashcode of the underlying string + + + + + + Gets the time associated with this ObjectID + + + + + Gets the machine id associated with this ObjectID + + + + + Gets the process id associated with this ObjectID + + + + + Gets the counter associated with this ObjectID + + + + + Generic binary holder + + + http://api.mongodb.org/java/2.0/org/bson/types/Binary.html + + + + + Ctor + + binary type code + byte date + + + + Converts an ObjectID to a hex string + + + + + + + Converts a hex string to an ObjectID + + + + + + + Converts an ObjectID to a byte array + + + + + + + Converts a byte array to an ObjectID + + + + + + + Gets the hashcode of the underlying string + + + + + + Gets a 4-bit number as a hex digit + + 0-15 + + + + + Gets the binary type code + + + + + Gets the binary type code + + + + + Gets the byte at the given index + + + + + Gets the length of the binary data + + + + + Designates a type as being able to format itself to raw BSON bytes + + + + + Designates a type as being able to format itself to raw bytes + + + + + Writes custom format to the output using either tokens or bytes + + + + total number of bytes written + + + + Determines the corresponding BSON element type + + + + + + Generalized delegate for invoking a constructor + + + + + + + Generalized delegate for invoking a method + + the instance object + the method parameters + + + + + Generalized delegate for getting a field or property value + + + + + + + Generalized delegate for setting a field or property value + + + + + + + Consumes a sequence of tokens to produce an object graph optionally coerced to a given type + + + + + Consumes a sequence of tokens to produce a sequence of objects, optionally coerced to a given type + + token type + + + + Parses the token sequence + + + + + + + Parses the token sequence, optionally coercing the result to Type targetType + + + optional type for coercion (null if not specified) + + + + + Parses the token sequence, coercing the result to Type TResult + + optional type for coercion (null if not specified) + + + + + + Parses the token stream coercing the result to TResult (type inferred from ) + + + + an example value used solely for Type inference + + + + + Ctor + + + + + + Parses the token stream coercing the result targetType + + + + + + + Parses the token stream coercing the result to targetType + + + + + + + + Parses the token stream coercing the result to TResult + + the result target type + + + + + + Parses the token stream coercing the result to TResult (inferred from ) + + + + an example value used solely for Type inference + + + + + Common Model Language grammar helper + + + Simplifies and guides syntax, and provides a set of reusable tokens to reduce redundant token instantiations + + + + + Marks the beginning of an array + + the local name of the array + ArrayBegin Token + + + + Marks the beginning of an array + + the local name of the array + the namespace of the document + ArrayBegin Token + + + + Marks the beginning of an array + + the name of the array + ArrayBegin Token + + + + Marks the beginning of an object + + the local name of the object + ObjectBegin Token + + + + Marks the beginning of an object + + the name of the object + ObjectBegin Token + + + + Marks the beginning of an object property + + the local name of the property + PropertyKey Token + + + + Marks the beginning of an object property + + the local name of the property + PropertyKey Token + + + + Marks the beginning of an object property + + the name of the property + PropertyKey Token + + + + A simple scalar value (typically serialized as a single primitive value) + + + Value Token + + + + Provides base implementation for standard deserializers + + + Provides base implementation for standard deserializers + + + This partial class adds LINQ capabilities to the reader. + + + + + Provides base implementation for standard deserializers + + + + + A common interface for data deserializers + + + + + Deserializes a single object from the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Deserializes a single object from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + + + + Deserializes a single object from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a potentially endless sequence of objects from a stream source + + + + + character stream => token stream => object stream + + + + + Gets the supported content type of the serialized data + + + + + Gets the settings used for deserialization + + + + + Ctor + + + + + + Deserializes the data from the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input reader + + + + Deserializes the data from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + + + + Deserializes the data from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a potentially endless sequence of objects from a stream source + + a streamed source of objects + a sequence of objects + + character stream => token stream => object stream + + + + + Gets the supported content type of the serialized data + + + + + Gets the settings used for deserialization + + + + + A common interface for querying data readers + + + + + Begins a query of the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Ctor + + + + + + Begins a query of the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Extension methods for selecting subsequences of sequences of tokens + + + + + Determines if the sequence represents a primitive + + + + + + + Determines if the sequence represents an object + + + + + + + Determines if the root object has any properties which satisfies the name + + + + true if any properties match the predicate + + + + Gets all properties of the root object + + + + all properties for the object + + + + Gets all properties of the root object + + + + all properties for the object + + + + Gets the properties of the root object which satisfies the + + + + matching properties for the root object + + + + Gets the properties of the root object which satisfies the + + + + matching properties for the root object + + + + Determines if the sequence represents an array + + + + + + + Gets all the items of the array + + + all items of the array + + + + Gets the items of the root array with indexes satisfying the + + + + items of the root array which statisfy the predicate + + + + ArrayItems iterator + + + + + + + + Gets all descendant values below the current root + + + + + + + Descendants iterator + + + + + + + Gets all descendant values below the current root, as well as the current root + + + + + + + DescendantsAndSelf iterator + + + + + + + Covers the sitation where a stream of sequences may be back to back + + + + + + + Splices out the sequence for the next complete value (object, array, primitive) + + + + + + + Splices out the sequence for the next complete value (object, array, primitive) + + + + + + + Skips over the next complete value (object, array, primitive) + + + + + + + Common Model Language tokens + + + + + + + + + + + + Generates a sequence of tokens from an object graph + + + + + Generates a sequence of tokens from an object graph + + token type + + + + Generates a sequence of tokens representing the value + + + + + + + Ctor + + + + + + Generates a sequence of tokens representing the value + + + + + + + Allows a mechanism for manipulating JSON serialization + + Defines the type this filter reads/writes + + + + Partially implements an IDataFilter + + + + + Allows a mechanism for manipulating serialization + + Defines the type of token stream this filter understands + Defines the type this filter reads/writes + + + + Allows a mechanism for manipulating serialization + + Defines the type of token stream this filter understands + + + + Allows a class to act as a factory for a type via input Token<T> sequence + + input tokens + + true if value was generated + + + + Allows a class to serialize a type as Token<T> sequence + + + + true if value was consumed + + + + Allows a class to act as a factory for a type via input Token<T> sequence + + input tokens + + true if value was generated + + + + Allows a class to serialize a type as Token<T> sequence + + + + true if value was consumed + + + + Defines a filter for JSON-style serialization of DateTime into ISO-8601 string + + + This is the format used by EcmaScript 5th edition Date.prototype.toJSON(...): + http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf + http://www.w3.org/TR/NOTE-datetime + http://en.wikipedia.org/wiki/ISO_8601 + + NOTE: This format limits expressing DateTime as either UTC or Unspecified. Local (i.e. Server Local) is converted to UTC. + + + + + Converts a ISO-8601 string to the corresponding DateTime representation + + ISO-8601 conformant date + UTC or Unspecified DateTime + true if parsing was successful + + + + Converts a DateTime to the corresponding ISO-8601 string representation + + + ISO-8601 conformant date + + + + Determines the precision of fractional seconds. + Defaults to EcmaScript precision of milliseconds. + + + + + Defines the precision of fractional seconds in ISO-8601 dates + + + + + Defines a filter for JSON-style serialization of DateTime into an ASP.NET Ajax Date string. + + + This is the format used by Microsoft ASP.NET Ajax: + http://weblogs.asp.net/bleroy/archive/2008/01/18/dates-and-json.aspx + + NOTE: This format is limited to expressing DateTime at the millisecond level as UTC only. + The WCF extension of adding a timezone is ignored as this returns UTC dates only. + + + + + Converts an ASP.NET Ajax date string to the corresponding DateTime representation + + ASP.NET Ajax date string + + true if parsing was successful + + + + Converts a DateTime to the corresponding ASP.NET Ajax date string representation + + + ASP.NET Ajax date string + + + + Provides base implementation for standard serializers + + + + + Provides base implementation of standard serializers + + + + + A common interface for data serializers + + + + + Serializes the data to the given output + + the output writer + the data to be serialized + + + + Serializes the data to the given output + + the data to be serialized + the serialized data + + + + Gets the content encoding for the serialized data + + + + + Gets the supported content types for the serialized data + + + + + Gets the supported file extensions for the serialized data + + + + + Gets the settings used for serialization + + + + + Ctor + + + + + + Serializes the data to the given output + + the data to be serialized + the output writer + + + + Serializes the data to the given output + + the data to be serialized + the serialized data + + + + Gets the walker for this DataWriter + + + + + + + Gets the formatter for this DataWriter + + + + + + + Gets the content encoding for the serialized data + + + + + Gets the supported content types for the serialized data + + + + + Gets the supported file extensions for the serialized data + + + + + Gets the settings used for serialization + + + + + Ctor + + + + + + Gets a walker for JSON + + + + + + + Gets the content encoding for the serialized data + + + + + Represents an ECMAScript identifier for serialization. + + + + + Designates a type as being able to format itself to raw text + + + + + Writes custom format to the output using either tokens or text + + + + + + + Ctor + + + + + Ctor + + + + + + Verifies is a valid EcmaScript identifier + + the identifier + identifier + + + + Verifies is a valid EcmaScript identifier + + the identifier + identifier + + + + Verifies is a valid EcmaScript variable expression + + the identifier + identifier + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + IdentifierName = + IdentifierStart | IdentifierName IdentifierPart + IdentifierStart = + Letter | '$' | '_' + IdentifierPart = + IdentifierStart | Digit + + + + + Trivial conversion method. Essentially performs a cast. + + + + + Supports conversion via System.Web.UI.PropertyConverter.ObjectFromString(Type, MemberInfo, string) + + + + + Implicit type conversion allows to be used directly as a String + + valid ECMAScript identifier + + + + + Implicit type conversion allows to be used directly with Strings + + valid ECMAScript identifier + + + + + Returns the identifier + + + + + + Compares identifiers + + + + + + + Returns the hash code for the identifier + + + + + + Gets the ECMAScript identifier represented by this instance + + + + + Formats data as full ECMAScript objects, rather than the limited set of JSON objects. + + + + + Outputs JSON text from an input stream of tokens + + + + + Outputs text from an input stream of JSON tokens + + token type + + + + Formats the token sequence to the output writer + + + + + + + Formats the token sequence as a string + + + + + + JSON serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the formatter for JSON + + + + + + + Gets the supported content type for the serialized data + + + + + Gets the supported file extension for the serialized data + + + + + Outputs JSON text from an input stream of tokens + + + + + Ctor + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Converts an object to its string representation + + + + + + + Converts an enum to its string representation + + + + + + + Splits a bitwise-OR'd set of enums into a list. + + the enum type + the combined value + list of flag enums + + from PseudoCode.EnumHelper + + + + + Determines if a numeric value cannot be represented as IEEE-754. + + + + + http://stackoverflow.com/questions/1601646 + + + + + Gets and sets if '<' should be encoded in strings + Useful for when emitting directly into page + + + + + Ctor + + + + Defaults to encoding < chars for improved embedding within script blocks + + + + + Emits a block of script ensuring that a namespace is declared + + the output writer + the namespace to ensure + list of namespaces already emitted + determines if should emit pretty-printed + if was a namespaced identifier + + + + Outputs a .NET Regex as an ECMAScript RegExp literal. + Defaults to global matching off. + + + + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + + + + Outputs a .NET Regex as an ECMAScript RegExp literal. + + + + + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + + + + Defines a strategy for filtering HTML tags/attributes/styles/literals + + + + + Filters tags, optionally allowing altering of tag + + tag name + if true tag should be rendered + + + + Filters attributes, optionally allowing altering of attribute value + + tag name + attribute name + attribute value + if true attribute should be rendered + + + + Filters styles, optionally allowing altering of style value + + tag name + style name + style value + if true style should be rendered + + + + Filters literals, optionally allowing replacement of literal value + + the literal value + if true should be rendered + + + + Provides a mechanism for filtering HTML streams based upon a tag taxonomy + + + + + Determines if is "void" (i.e. "empty" or "full") tag + + lowercase tag name + if is a void tag + + http://www.w3.org/TR/html5/semantics.html + http://www.w3.org/TR/html401/index/elements.html + http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#sec_5.2. + http://www.w3.org/TR/WD-html40-970917/index/elements.html + + + + + Determines if the tag is required to be closed + + lowercase tag name + if closing tag is optional + + http://www.w3.org/TR/html5/semantics.html + http://www.w3.org/TR/html401/index/elements.html + http://www.w3.org/TR/WD-html40-970917/index/elements.html + + + + + Categorizes the tag for heuristics about markup type + + lowercase tag name + the box type for a particular element + + http://www.w3.org/TR/html5/semantics.html + + + + + Defines a prioritized taxonomy of tags + + + The types are enumerated in ascending levels of risk for use in filtering HTML input + + + + + Literal text, no tags + + + + + Inline character level elements and text strings + + + Tags of this type typically do not disrupt the text flow + + + + + style elements + + + Tags of this type change the visual appearance of text + + + + + list elements + + + Tags of this type denote lists and typically change the text flow + + + + + Block-level elements + + + Tags of this type denote sections or change the text flow + + + + + Media elements + + + Tags of this type safely embed media content + + + + + Tabular elements + + + Tags of this type have a very specific structure and their own rendering model + + + + + Form elements + + + Tags of this type are used in the construction of forms for capturing user input + + + + + Script elements + + + Tags of this type represent a security risk to the containing document but must obey the browser security sandbox + + + + + Document elements + + + Tags of this type are used to construct the document itself + + + + + embedded elements + + + Tags of this type represent a large security risk to the containing document as plug-ins may circumvent the browser security sandbox + + + + + Unknown elements + + + + + Outputs markup text from an input stream of tokens + + + + + Ctor + + + + + + Resets the internal stack of elements + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Emits a valid XML local-name (i.e. encodes invalid chars including ':') + + + + + Explicitly escaping ':' to maintain compatibility with XML Namespaces. + From XML 1.0, 5th ed. http://www.w3.org/TR/xml/#sec-common-syn + Name = NameStartChar (NameChar)* + NameStartChar = ":" + | [A-Z] + | "_" + | [a-z] + | [#xC0-#xD6] + | [#xD8-#xF6] + | [#xF8-#x2FF] + | [#x370-#x37D] + | [#x37F-#x1FFF] + | [#x200C-#x200D] + | [#x2070-#x218F] + | [#x2C00-#x2FEF] + | [#x3001-#xD7FF] + | [#xF900-#xFDCF] + | [#xFDF0-#xFFFD] + | [#x10000-#xEFFFF] + NameChar = NameStartChar + | "-" + | "." + | [0-9] + | #xB7 + | [#x0300-#x036F] + | [#x203F-#x2040] + + + + + + Emits valid XML character data + + + + encodes all non-ASCII chars + + + + + Emits valid XML attribute character data + + + + encodes all non-ASCII chars + + + + Gets and sets a value indicating if should emit canonical form + + + http://www.w3.org/TR/xml-c14n + + + + + Gets and sets a value indicating how should emit empty attributes + + + + + Gets and sets a value indicating if should encode text chars above the ASCII range + + + This option can help when the output is being embedded within an unknown encoding + + + + + HTML-style empty attributes do not emit a quoted string + + + http://www.w3.org/TR/html5/syntax.html#attributes-0 + + + + + XHTML-style empty attributes repeat the attribute name as its value + + + http://www.w3.org/TR/xhtml-media-types/#C_10 + http://www.w3.org/TR/xhtml1/#C_10 + http://www.w3.org/TR/html5/the-xhtml-syntax.html + + + + + XML-style empty attributes emit an empty quoted string + + + http://www.w3.org/TR/xml/#sec-starttags + + + + + Generates a sequence of tokens from a generalized model of markup text (e.g. HTML, XML, JBST, ASPX/ASCX, ASP, JSP, PHP, etc.) + + + This generates a stream of tokens like StAX (Streaming API for XML) + Unlike XML, this follows a more permissive markup format with automatic recovery most similar to HTML5. + + + + + Generates a sequence of tokens from a sequence of characters + + token type + + + + Tokenizes the input sequence into tokens + + + + + + + Tokenizes the input sequence into tokens + + + + + + + Gets the current column of the underlying input character sequence + + + Tokenizers not tracking columns should return -1. + + + + + Gets the current line of the underlying input character sequence + + + Tokenizers not tracking lines should return -1. + + + + + Gets the current position of the underlying input character sequence + + + Tokenizers not tracking index should return -1. + + + + + Decodes HTML-style entities into special characters + + + the entity text + + TODO: validate against HTML5-style entities + http://www.w3.org/TR/html5/tokenization.html#consume-a-character-reference + + + + + Decodes most known named entities + + + + + + + Checks for element start char + + + + + http://www.w3.org/TR/xml/#sec-common-syn + + + + + Checks for element name char + + + + + http://www.w3.org/TR/xml/#sec-common-syn + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets and sets if should attempt to auto-balance mismatched tags. + + + + + Gets and sets if should unwrap comments inside . + + + For example, in HTML this would include "script" and "style" tags. + + + + + Gets and sets a set of tags which should not have their content parsed. + + + For example, in HTML this would include "script" and "style" tags. + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Ctor + + + + + Renders Common Model Tokens into a semantic HTML representation of the data structure + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + input token type + output token type + + + + Transforms the token sequence from to + + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + StringBuilder-like implementation built like List<char> + + + + + Ctor + + + + + Ctor + + + + + + Resets the buffer to an empty state + + + + + Appends a single char to the buffer + + + + + + + Appends a string value to the buffer + + + + + + + Copies the buffer value into a + + + + + + Gets the number of characters in the buffer + + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + Ctor + + + + + + + + Supports forward-only iteration over an input sequence of + + + + + Supports forward-only iteration over an input sequence of + + + + + Supports forward-only iteration over an input sequence + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered sequence chunk + + + + + + Determines if the sequence has completed. + + + + + Gets a value indicating if is currently capturing a sequence + + + + + Gets the number of items currently chunked + + + + + Factory method for generic streams + + + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Determines if the input sequence has reached the end + + + + + Ctor + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a list with ability to capture a subsequence + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered chunk + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Gets the number of characters currently chunked + + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a text input tracking line/column/position + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and writes the buffered text chunk into the provided StringBuilder + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Supports a simple iteration over a string tracking line/column/position + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Calculates index, line, and column statistics + + + + + Releases all resources used + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Gets the number of characters currently chunked + + + + + Gets a value indicating if the is currently chunking + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a TextReader tracking line/column/position + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Calculates index, line, and column statistics + + + + + + + Releases all resources used by the underlying reader + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Gets the number of characters currently chunked + + + + + Gets a value indicating if the is currently chunking + + + + + Determines if the input sequence has reached the end + + + + + Formal language of tokens and symbols for JSON + + + + + Designates a property or field to not be serialized. + + + + + Specifies the naming to use for a property or field when serializing + + + + + Ctor + + + + + Ctor + + + + + + Gets and sets the name to be used in serialization + + + + + JSON deserializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the supported content type of the serialized data + + + + + Generates a sequence of tokens from JSON text + + + + + Gets a token sequence from the scanner stream + + + + + + + Scans for the longest valid EcmaScript identifier + + identifier + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + IdentifierName = + IdentifierStart | IdentifierName IdentifierPart + IdentifierStart = + Letter | '$' | '_' + IdentifierPart = + IdentifierStart | Digit + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + It is an error for the next token to be a value delim + + + + + Forbidden but differentiates between empty array/object and just written + + + + + It is an error for the next token to NOT be a value delim + + + + + Specifies the name of the property which specifies if member should be serialized. + + + These properties can be marked private/protected/internal and it will still be recognized + + + + + Ctor + + the name of the property which controls serialization for this member + + + + Ctor + + the name of the property which controls serialization for this member + + + + Gets and sets the name of the property which + specifies if member should be serialized + + + + + Transforms markup tokens into Common Model tokens using the (lossless) JsonML model + + + JsonML Grammer: http://jsonml.org + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Determines how whitespace should be handled + + + + + Transforms Common Model tokens into markup tokens using the (lossless) JsonML model + + + JsonML Grammer: http://jsonml.org + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Controls name resolution for IDataReader / IDataWriter using JsonNameAttribute / JsonIgnoreAttribute / JsonPropertySpecifiedAttribute + + + This is the default strategy from JsonFx v1.0 + + + + + Controls name resolution for IDataReader / IDataWriter using plain old CLR object (POCO) names + + + + + Controls name resolution for IDataReader / IDataWriter + + + Provides an extensibility point to control member naming and visibility at a very granular level. + + + + + Gets a value indicating if the property is to be serialized. + + + + + + + + Gets a value indicating if the field is to be serialized. + + + + + + + Determines if the property or field should not be serialized. + + + + + + + + + Gets the serialized name for the member. + + + + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute + + This is useful when default values need not be serialized. + + + + + Gets the serialized name for the member. + + + + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute + + This is useful for excluding serialization of default values. + + + + + Gets the serialized name for the member. + + + + + + + Determines whitespace handling + + + + + Removes insignificant whitespace + + + + + Keep all whitespace + + + + + Condenses all whitespace to single spaces + + + + + Designates a type as being able to format itself to raw JSON text. + + + + + Ctor + + + + + Ctor + + + + + Gets and sets the starting delimiter + + + + + Gets and sets the ending delimiter + + + + + Gets and sets the context + + + + + Formal language of tokens and symbols for markup + + + + + Any of a number of unparsed tags which typically contain specialized processing instructions + + + The name of the token is the beginning and ending delimiters as a format string (not including the '<' or '>') + Includes the following types: + + "<!--", "-->" XML/HTML/SGML comment + "<!", ">" XML/SGML declaration (e.g. DOCTYPE or server-side includes) + + "<?=", "?>" PHP expression + "<?", "?>" PHP code block /XML processing instruction (e.g. the XML declaration) + + "<%--", "--%>" ASP/PSP/JSP-style code comment + "<%@", "%>" ASP/PSP/JSP directive + "<%=", "%>" ASP/PSP/JSP/JBST expression + "<%!", "%>" JSP/JBST declaration + "<%#", "%>" ASP.NET/JBST databind expression + "<%$", "%>" ASP.NET/JBST extension + "<%", "%>" ASP code block / JSP scriptlet / PSP code block + + + + + tokens + + + + + + + + + + + Maintains scope chain for namespace prefix mappings + + + + + Adds a new scope to the chain + + + + + + Gets the last scope off the chain + + + + + Gets and removes the last scope off the chain + + + + + + Finds the namespace URI for a given prefix within the curren scope chain + + + + + + + Finds the prefix for a given namespace URI within the curren scope chain + + + + + + + Checks if the matching begin tag exists on the stack + + + + + + Resets the internal state of the scope chain. + + + + + Looks up the prefix for the given namespace + + + + null if namespace is empty and no default prefix found + + + + Represents a scope boundary within a prefix scope chain + + + + + Returns if this scope boundary contains a mapping for a particular prefix + + + if this scope boundary contains a mapping for a particular prefix + + + + Returns if this scope boundary contains a mapping for a particular namespace + + + if this scope boundary contains a mapping for a particular namespace + + + + Returns if this scope boundary contains a mapping for a particular prefix + setting the namespace URI if one was found. + + + the resolved namespace URI + if this scope boundary contains a mapping for a particular prefix + + + + Returns if this scope boundary contains a mapping for a particular prefix + setting the prefix if one was found. + + + the resolved prefix + if this scope boundary contains a mapping for a particular prefix + + + + Gets and sets the tagname associated with this scope boundary + + + + + Gets and sets mappings between prefix and namespace URIs + + + + + + + Provides lookup capabilities for providers + + + + + Parses HTTP headers for Media-Types + + HTTP Accept header + HTTP Content-Type header + sequence of Media-Types + + http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html + + + + + + + + + + + + Controls name resolution for IDataReader / IDataWriter using convention-based name mapping + + + Converts standard .NET PascalCase naming convention into the specified naming convention. + http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx + http://msdn.microsoft.com/en-us/library/141e06ef.aspx + http://msdn.microsoft.com/en-us/library/xzf533w0.aspx + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the serialized name for the member. + + + + + + + Splits a multi-word name assuming standard .NET PascalCase conventions. + + + + + http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx + http://msdn.microsoft.com/en-us/library/141e06ef.aspx + http://msdn.microsoft.com/en-us/library/xzf533w0.aspx + + + + + + Ctor + + + + + + + + Ctor + + + + + + + Represents a property or document name, and a corresponding namespace URI (or empty string). + Analogous to XML "expanded name": http://www.w3.org/TR/REC-xml-names/#dt-expname + + + Namespaces must be a URI, but local-name can be any non-null string. + It is up to formatters to determine how to properly represent names which are invalid for the format. + + + + + local-name + + + + + alias for the namespace + + + + + namespace + + + + + Determines if name should be treated like an attribute + + + + + Ctor + + a CLR Type used to generate the local-name + + This constructor implicitly delcares the namespace to be empty. + + + + + Ctor + + any string is a valid local-name + + This constructor implicitly delcares the namespace to be empty. + + + + + Ctor + + any string is a valid local-name + an absolute URI string, or null + thrown if is null + thrown if is an invalid absolute URI + + The namespace field follows XML recommendation of absolute URIs. + Relative URIs are officially deprecated for namespaces: http://www.w3.org/2000/09/xppa + + + + + Ctor + + any string is a valid local-name + an absolute URI string, or null + determines if name should be an attribute name + thrown if is null + thrown if is an invalid absolute URI + + The namespace field follows XML recommendation of absolute URIs. + Relative URIs are officially deprecated for namespaces: http://www.w3.org/2000/09/xppa + + + + + Gets the local-name for a Type + + + + + + + Gets the prefixed name or simply local-name if is not a fully qualified name + + true to generate a prefix if the prefix is empty but not the namespace + + + + + Gets the namespaced name or simply local-name if is not a fully qualified name + + + + + + Compares two values and returns an indication of their relative sort order. + + + + + Performs ordering according to XML Canonicalization document order http://www.w3.org/TR/xml-c14n#DocumentOrder + "An element's namespace nodes are sorted lexicographically by local name (the default namespace node, if one exists, has no local name and is therefore lexicographically least)." + "An element's attribute nodes are sorted lexicographically with namespace URI as the primary key and local name as the secondary key (an empty namespace URI is lexicographically least)." + + + + + Determines if this is an empty DataName + + + + + Indicates a graph cycle was detected during serialization + + + + + Indicates an error occurred during serialization + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Gets the type of cycle which caused the error + + + + + Graph cycles are detected with a reference tracking, any repeated reference results in a null value + + + + + Graph cycles are detected with a reference tracking, any repeated reference results in an error + + + + + Graph cycles are detected with a maximum depth count, exceeding depth results in an error + + + + + Detects graph cycles by tracking graph depth + + + + + Defines an interface for detecting graph cycles + + + + + Begins tracking of the reference + + + true if graph cycle was detected + + + + Ends tracking of the reference + + + true if tracking was successfully completed + + + + Ctor + + + + + + Increments the depth + + + true if MaxDepth has not been exceeded + + + + Increments the depth + + + + + + Detects cycles by detecting duplicates in the a set of object references + + + + + Adds a reference to the set + + + true if object already existed within set + + + + Removes a reference from the set + + + + + + Controls deserialization settings for IDataReader + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Gets and sets if ValueTypes can accept values of null + + + If this is true and a ValueType T is assigned the value of null, + it will receive the value of default(T). + Setting this to false, throws an exception if null is + specified for a ValueType member. + + + + + Gets and sets if should verify that stream is empty after deserialzing each object + + + Setting to true allows reading a JSON stream inside other structures (e.g. JavaScript) + + + + + Gets manager of name resolution for IDataReader + + + + + Gets the custom filters + + + + + Controls the serialization settings for IDataWriter + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Gets and sets what to do when graph cycles (repeated references) are encounted + + + + + Gets and sets the maximum nesting depth + + + Depth is a fast and easy safegaurd against detecting graph cycles but may produce false positives + + + + + Gets and sets if output will be formatted for human reading. + + + + + Gets and sets the string to use for indentation + + + + + Gets and sets the line terminator string + + + + + Gets manager of name resolution for IDataReader + + + + + Gets the custom filters + + + + + Indicates an error occurred during deserialization + + + + + Ctor + + + + + + + Ctor + + + + + + + + + Ctor + + + + + + + + Ctor + + + + + + + + Ctor + + + + + + + Helper method which converts the index into Line and Column numbers + + + + + + + + Gets the character column in the stream where the error occurred + + + + + Gets the character position in the stream where the error occurred + + + + + Gets the character line in the stream where the error occurred + + + + + Indicates an error occurred during token consumption + + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Gets the token in the sequence where the error occurred + + + + + Indicates an error occurred during type coercion + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Provides lookup capabilities for finding matching IDataReader + + + + + Provides lookup capabilities for finding matching IDataReader + + + + + Ctor + + inject with all possible readers + + + + Finds an IDataReader by content-type header + + + + + + + Provides lookup capabilities for finding an IDataWriter + + + + + Provides lookup capabilities for finding an IDataWriter + + + + + Ctor + + inject with all possible writers + + + + Controls name resolution for IDataReader / IDataWriter by using pluggable delegate callbacks + + + + + Gets and sets the implementation for ignoring properties + + + + + Gets and sets the implementation for ignoring fields + + + + + Gets and sets the implementation for ignoring properties by value + + + + + Gets and sets the implementation for naming members + + + + + Gets and sets the implementation for sorting members + + + + + Controls name resolution for IDataReader / IDataWriter by combining an ordered sequence of any other strategies + + + Each strategy is invoked in order, the first to respond wins. + + + + + Ctor + + ordered sequence of strategies + + + + Ctor + + ordered sequence of strategies + + + + Gets a value indicating if the property is to be serialized. + + + + true if any strategy specifies should be ignored + + + + Gets a value indicating if the field is to be serialized. + + + true if any strategy specifies should be ignored + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + true if any strategy specifies this should be ignored + + + + Gets the serialized name for the member. + + + + custom name if any strategy specifies one, otherwise null + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Controls name resolution for IDataReader / IDataWriter using DataContract attributes + + + http://msdn.microsoft.com/en-us/library/kd1dc9w5.aspx + + + + + CCtor + + + + + Gets a value indicating if the property is to be serialized. + + + + + + + + Gets a value indicating if the field is to be serialized. + + + + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + + + + + Gets the serialized name for the member. + + + + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + + + + + The original member info + + + + + The original member name + + + + + The member data name + + + + + The member type + + + + + The getter method + + + + + The setter method + + + + + The logic for determining if a value is ignored + + + + + Determines if map name is alternate (i.e. only used for deserialization) + + + + + Ctor + + MemberMap to clone + alternate name + + + + Ctor + + + + + + + + Ctor + + + + + + + + Ctor + + + + + Gets a sequence of the available factory arguments + + + + + Gets the factory associated with the given argument type + + + + + + + Cache of name resolution mappings for IDataReader / IDataWriter + + + + + Ctor + + + + + + Gets the serialized name of the class + + + + + + + Removes any cached member mappings. + + + + + Builds a mapping of member name to field/property + + + + + + Represents a single immutable token in an input sequence + + + + + The type of the token + + + + + The name of the token + + + + + The value of the token + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Ctor + + + + + + + Returns a string that represents the current token. + + + + + + Gets the value of the token as a string + + + + + + Converts a value to a string giving opportunity for IConvertible, IFormattable + + + + + + + Converts token to a token of a different type + + + token with same values and different type + + + + Type Coercion Utility + + + + + Ctor + + + + + + + Ctor + + + + + + + Instantiates a new instance of objectType. + + + objectType instance + + + + Instantiates a new instance of objectType. + + + objectType instance + + + + Helper method to set value of a member. + + + + + + + + + + Coerces the object value to Type + + + + + + + + Coerces the object value to Type of + + + + + + + + Populates the properties of an object with the dictionary values. + + + + + + + + Populates the properties of an object with the dictionary values. + + + + + + + + Coerces an sequence of items into an array of Type elementType + + + + + + + + Finds a suitable concrete class for common collection interface types + + + + + + + Allows specific IDictionary<string, TVal> to deserialize as TVal + + IDictionary<string, TVal> Type + TVal Type + + + + Returns a common type which can hold previous values and the new value + + + + + + + + Determines if type can be assigned a null value. + + + + + + + Gets the attribute T for the given value. + + + Attribute Type + true if defined + + + + Gets the attribute of Type for the given value. + + + true if defined + + + + Gets the attribute T for the given value. + + + Attribute Type + requested attribute or not if not defined + + + + Gets the attribute of Type for the given value. + + + requested attribute or not if not defined + + + + Character Utility + + + These are either simpler definitions of character classes (e.g. letter is [a-zA-Z]), + or they implement platform-agnositic checks (read: "Silverlight workarounds"). + + + + + Checks if string is null, empty or entirely made up of whitespace + + + + + Essentially the same as String.IsNullOrWhiteSpace from .NET 4.0 + with a simplfied view of whitespace. + + + + + Checks if character is line ending, tab or space + + + + + + + + + + + + + + Checks if character matches [A-Za-z] + + + + + + + Checks if character matches [0-9] + + + + + + + Checks if character matches [0-9A-Fa-f] + + + + + + + Gets a 4-bit number as a hex digit + + 0-15 + + + + + Formats a number as a hex digit + + + + + + + Converts the value of a UTF-16 encoded character or surrogate pair at a specified + position in a string into a Unicode code point. + + + + + + + + Converts the specified Unicode code point into a UTF-16 encoded string. + + + + + + + XML serializer + + + XML serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets a tokenizer for XML + + + + + + Gets the supported content type for the serialized data + + + + + Transforms markup tokens into Common Model tokens using an XML-data model + + + + + Ctor + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + + Ctor + + + + + Ctor + + + + + + Gets a token sequence from the string + + + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the XmlReader + + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + XML serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the formatter for XML + + + + + + + Gets the supported content type for the serialized data + + + + + Gets the supported file extension for the serialized data + + + + + Transforms Common Model tokens into markup tokens using an XML-data model + + + + + Ctor + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + Outputs XML text from an input stream of tokens + + + + + Ctor + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Formats the token sequence to the writer + + + + + + + Wraps an XmlWriter as a TextWriter + + + + + Ctor + + + + + + Gets the underlying XmlWriter + + + + + Controls name resolution for IDataReader / IDataWriter using attributes and conventions similar to XmlSerializer semantics + + + http://msdn.microsoft.com/en-us/library/83y7df3e.aspx + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute or has a property named XXXSpecified which determines visibility + + This is useful when default values need not be serialized. + Under these situations XmlSerializer ignores properties based upon value: + - DefaultValue: http://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute.aspx + - Specified Properies: http://msdn.microsoft.com/en-us/library/bb402199.aspx + - ShouldSerialize Methods: http://msdn.microsoft.com/en-us/library/53b8022e.aspx + + + + + Gets the serialized name for the member. + + + + + + + Sorts members to ensure proper document order where attributes precede all child elements. + + + + + Performs the first stage of XML Canonicalization document order http://www.w3.org/TR/xml-c14n#DocumentOrder + "An element's namespace and attribute nodes have a document order position greater than the element but less than any child node of the element." + + + + + Ctor + + + + + + Ctor + + + + + + Generates delegates for getting/setting properties and field and invoking constructors + + + + + Creates a field getter delegate for the specified property or field + + PropertyInfo or FieldInfo + GetterDelegate for property or field, null otherwise + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field setter delegate for the specified property or field + + PropertyInfo or FieldInfo + SetterDelegate for property or field, null otherwise + + + + Creates a property getter delegate for the specified property + + + GetterDelegate if property CanRead, otherwise null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a property setter delegate for the specified property + + + GetterDelegate if property CanWrite, otherwise null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field getter delegate for the specified field + + + GetterDelegate which returns field unless is enum in which will return enum value + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field setter delegate for the specified field + + + SetterDelegate unless field IsInitOnly then returns null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a proxy delegate accepting a target instance and corresponding arguments + + method to proxy + ProxyDelegate or null if cannot be invoked + + Note: use with caution this method will expose private and protected methods without safety checks. + + + + + Creates a default constructor delegate + + type to be created + FactoryDelegate or null if default constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a constructor delegate accepting specified arguments + + type to be created + constructor arguments type list + FactoryDelegate or null if constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a constructor delegate accepting specified arguments + + type to be created + constructor arguments type list + FactoryDelegate or null if constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Represents a query across a data source + + + + + + Ctor + + + + + + Ctor + + + + + + + Returns a string representation of the query + + + + + + Gets the query expression + + + + + Gets the query return type + + + + + Gets the underlying provider + + + + + Ctor + + + + + + + Ctor + + + + + + + Extends the query to all descendants + + + + + Extends the query to all descendants + + + + + Gets all items of the array + + + + + Gets the items of the array with indexes satisfying the + + + + + + Filters to only objects with a particular property name defined + + + + + + Filters to a lookup of only the properties which match the predicate + + + + + + Filters to only arrays + + + + + + Filters to only objects + + + + + + Filters to only simple values + + + + + + Boiler-plate implementation + + + + + + Ctor + + + + + Ctor + + + + + + + + + + + Searches for subsequences found by the expression and rehydrates into objects with the analyzer + + + + + Ctor + + + + + Ctor + + + + + + + Ctor + + + + + + diff --git a/packages/JsonFx.2.0.1106.2610/lib/sl35/JsonFx.dll b/packages/JsonFx.2.0.1106.2610/lib/sl35/JsonFx.dll new file mode 100644 index 0000000..5bf542a Binary files /dev/null and b/packages/JsonFx.2.0.1106.2610/lib/sl35/JsonFx.dll differ diff --git a/packages/JsonFx.2.0.1106.2610/lib/sl35/JsonFx.xml b/packages/JsonFx.2.0.1106.2610/lib/sl35/JsonFx.xml new file mode 100644 index 0000000..e0bf95e --- /dev/null +++ b/packages/JsonFx.2.0.1106.2610/lib/sl35/JsonFx.xml @@ -0,0 +1,4830 @@ + + + + JsonFx + + + + + JsonFx metadata + + + + + Ctor + + + + + + Outputs BSON bytes from an input stream of tokens + + + + + Outputs text from an input stream of JSON tokens + + token type + + + + Formats the token sequence to the output writer + + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the output writer + + + + + + + Emits a document (or array) to the binary stream + + + + number of bytes written + + + + Emits a single element to the binary stream + + + + + number of bytes written + + + + Emits a string value + + + + number of bytes written + + + + Emits a binary value + + + + number of bytes written + + + + Emits a code_w_s value + + + + number of bytes written + + + + Generates a sequence of tokens from BSON bytes + + + + + Generates a sequence of tokens from a sequence of characters + + token type + + + + Tokenizes the input sequence into tokens + + + + + + + Tokenizes the input sequence into tokens + + + + + + + Gets the current position of the underlying input character sequence + + + Tokenizers not tracking index should return -1. + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets a token sequence from the reader + + + + + + + Gets the current position of the underlying stream + + + + + BSON MD5 Datatype + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Converts MD5 to Guid + + + + + + + + Converts MD5 to Guid + + + + + + + Gets the hashcode of the underlying Guid + + + + + + BSON JavaScript Code With Scope Datatype + + + + + BSON JavaScript Code Datatype + + + + + Ctor + + + + + + Converts JavaScriptCode to string + + + + + + + + Converts JavaScriptCode to string + + + + + + + Gets the hashcode of the underlying string + + + + + + BSON Symbol Datatype + + + + + Ctor + + + + + + Converts Symbol to string + + + + + + + + Converts Symbol to string + + + + + + + Gets the hashcode of the underlying string + + + + + + BSON DBPointer Datatype (Deprecated) + + + + + Immutable BSON ObjectID Datatype + + + http://www.mongodb.org/display/DOCS/Object+IDs#ObjectIDs-TheBSONObjectIdDatatype + + + + + Ctor + + 12-byte object ID + + + + Ctor + + 4-byte seconds since Unit epoch + 3-byte machine ID + 2-byte process ID + 3-byte counter + + + + Converts an ObjectID to a hex string + + + + + + + Converts a hex string to an ObjectID + + + + + + + Converts an ObjectID to a byte array + + + + + + + Converts a byte array to an ObjectID + + + + + + + Gets the hashcode of the underlying string + + + + + + Gets the time associated with this ObjectID + + + + + Gets the machine id associated with this ObjectID + + + + + Gets the process id associated with this ObjectID + + + + + Gets the counter associated with this ObjectID + + + + + Generic binary holder + + + http://api.mongodb.org/java/2.0/org/bson/types/Binary.html + + + + + Ctor + + binary type code + byte date + + + + Converts an ObjectID to a hex string + + + + + + + Converts a hex string to an ObjectID + + + + + + + Converts an ObjectID to a byte array + + + + + + + Converts a byte array to an ObjectID + + + + + + + Gets the hashcode of the underlying string + + + + + + Gets a 4-bit number as a hex digit + + 0-15 + + + + + Gets the binary type code + + + + + Gets the binary type code + + + + + Gets the byte at the given index + + + + + Gets the length of the binary data + + + + + Designates a type as being able to format itself to raw BSON bytes + + + + + Designates a type as being able to format itself to raw bytes + + + + + Writes custom format to the output using either tokens or bytes + + + + total number of bytes written + + + + Determines the corresponding BSON element type + + + + + + Generalized delegate for invoking a constructor + + + + + + + Generalized delegate for invoking a method + + the instance object + the method parameters + + + + + Generalized delegate for getting a field or property value + + + + + + + Generalized delegate for setting a field or property value + + + + + + + Consumes a sequence of tokens to produce an object graph optionally coerced to a given type + + + + + Consumes a sequence of tokens to produce a sequence of objects, optionally coerced to a given type + + token type + + + + Parses the token sequence + + + + + + + Parses the token sequence, optionally coercing the result to Type targetType + + + optional type for coercion (null if not specified) + + + + + Parses the token sequence, coercing the result to Type TResult + + optional type for coercion (null if not specified) + + + + + + Parses the token stream coercing the result to TResult (type inferred from ) + + + + an example value used solely for Type inference + + + + + Ctor + + + + + + Parses the token stream coercing the result targetType + + + + + + + Parses the token stream coercing the result to targetType + + + + + + + + Parses the token stream coercing the result to TResult + + the result target type + + + + + + Parses the token stream coercing the result to TResult (inferred from ) + + + + an example value used solely for Type inference + + + + + Common Model Language grammar helper + + + Simplifies and guides syntax, and provides a set of reusable tokens to reduce redundant token instantiations + + + + + Marks the beginning of an array + + the local name of the array + ArrayBegin Token + + + + Marks the beginning of an array + + the local name of the array + the namespace of the document + ArrayBegin Token + + + + Marks the beginning of an array + + the name of the array + ArrayBegin Token + + + + Marks the beginning of an object + + the local name of the object + ObjectBegin Token + + + + Marks the beginning of an object + + the name of the object + ObjectBegin Token + + + + Marks the beginning of an object property + + the local name of the property + PropertyKey Token + + + + Marks the beginning of an object property + + the local name of the property + PropertyKey Token + + + + Marks the beginning of an object property + + the name of the property + PropertyKey Token + + + + A simple scalar value (typically serialized as a single primitive value) + + + Value Token + + + + Provides base implementation for standard deserializers + + + Provides base implementation for standard deserializers + + + This partial class adds LINQ capabilities to the reader. + + + + + Provides base implementation for standard deserializers + + + + + A common interface for data deserializers + + + + + Deserializes a single object from the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Deserializes a single object from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + + + + Deserializes a single object from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a potentially endless sequence of objects from a stream source + + + + + character stream => token stream => object stream + + + + + Gets the supported content type of the serialized data + + + + + Gets the settings used for deserialization + + + + + Ctor + + + + + + Deserializes the data from the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input reader + + + + Deserializes the data from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + + + + Deserializes the data from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a potentially endless sequence of objects from a stream source + + a streamed source of objects + a sequence of objects + + character stream => token stream => object stream + + + + + Gets the supported content type of the serialized data + + + + + Gets the settings used for deserialization + + + + + A common interface for querying data readers + + + + + Begins a query of the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Ctor + + + + + + Begins a query of the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Extension methods for selecting subsequences of sequences of tokens + + + + + Determines if the sequence represents a primitive + + + + + + + Determines if the sequence represents an object + + + + + + + Determines if the root object has any properties which satisfies the name + + + + true if any properties match the predicate + + + + Gets all properties of the root object + + + + all properties for the object + + + + Gets all properties of the root object + + + + all properties for the object + + + + Gets the properties of the root object which satisfies the + + + + matching properties for the root object + + + + Gets the properties of the root object which satisfies the + + + + matching properties for the root object + + + + Determines if the sequence represents an array + + + + + + + Gets all the items of the array + + + all items of the array + + + + Gets the items of the root array with indexes satisfying the + + + + items of the root array which statisfy the predicate + + + + ArrayItems iterator + + + + + + + + Gets all descendant values below the current root + + + + + + + Descendants iterator + + + + + + + Gets all descendant values below the current root, as well as the current root + + + + + + + DescendantsAndSelf iterator + + + + + + + Covers the sitation where a stream of sequences may be back to back + + + + + + + Splices out the sequence for the next complete value (object, array, primitive) + + + + + + + Splices out the sequence for the next complete value (object, array, primitive) + + + + + + + Skips over the next complete value (object, array, primitive) + + + + + + + Common Model Language tokens + + + + + + + + + + + + Generates a sequence of tokens from an object graph + + + + + Generates a sequence of tokens from an object graph + + token type + + + + Generates a sequence of tokens representing the value + + + + + + + Ctor + + + + + + Generates a sequence of tokens representing the value + + + + + + + Allows a mechanism for manipulating JSON serialization + + Defines the type this filter reads/writes + + + + Partially implements an IDataFilter + + + + + Allows a mechanism for manipulating serialization + + Defines the type of token stream this filter understands + Defines the type this filter reads/writes + + + + Allows a mechanism for manipulating serialization + + Defines the type of token stream this filter understands + + + + Allows a class to act as a factory for a type via input Token<T> sequence + + input tokens + + true if value was generated + + + + Allows a class to serialize a type as Token<T> sequence + + + + true if value was consumed + + + + Allows a class to act as a factory for a type via input Token<T> sequence + + input tokens + + true if value was generated + + + + Allows a class to serialize a type as Token<T> sequence + + + + true if value was consumed + + + + Defines a filter for JSON-style serialization of DateTime into ISO-8601 string + + + This is the format used by EcmaScript 5th edition Date.prototype.toJSON(...): + http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf + http://www.w3.org/TR/NOTE-datetime + http://en.wikipedia.org/wiki/ISO_8601 + + NOTE: This format limits expressing DateTime as either UTC or Unspecified. Local (i.e. Server Local) is converted to UTC. + + + + + Converts a ISO-8601 string to the corresponding DateTime representation + + ISO-8601 conformant date + UTC or Unspecified DateTime + true if parsing was successful + + + + Converts a DateTime to the corresponding ISO-8601 string representation + + + ISO-8601 conformant date + + + + Determines the precision of fractional seconds. + Defaults to EcmaScript precision of milliseconds. + + + + + Defines the precision of fractional seconds in ISO-8601 dates + + + + + Defines a filter for JSON-style serialization of DateTime into an ASP.NET Ajax Date string. + + + This is the format used by Microsoft ASP.NET Ajax: + http://weblogs.asp.net/bleroy/archive/2008/01/18/dates-and-json.aspx + + NOTE: This format is limited to expressing DateTime at the millisecond level as UTC only. + The WCF extension of adding a timezone is ignored as this returns UTC dates only. + + + + + Converts an ASP.NET Ajax date string to the corresponding DateTime representation + + ASP.NET Ajax date string + + true if parsing was successful + + + + Converts a DateTime to the corresponding ASP.NET Ajax date string representation + + + ASP.NET Ajax date string + + + + Provides base implementation for standard serializers + + + + + Provides base implementation of standard serializers + + + + + A common interface for data serializers + + + + + Serializes the data to the given output + + the output writer + the data to be serialized + + + + Serializes the data to the given output + + the data to be serialized + the serialized data + + + + Gets the content encoding for the serialized data + + + + + Gets the supported content types for the serialized data + + + + + Gets the supported file extensions for the serialized data + + + + + Gets the settings used for serialization + + + + + Ctor + + + + + + Serializes the data to the given output + + the data to be serialized + the output writer + + + + Serializes the data to the given output + + the data to be serialized + the serialized data + + + + Gets the walker for this DataWriter + + + + + + + Gets the formatter for this DataWriter + + + + + + + Gets the content encoding for the serialized data + + + + + Gets the supported content types for the serialized data + + + + + Gets the supported file extensions for the serialized data + + + + + Gets the settings used for serialization + + + + + Ctor + + + + + + Gets a walker for JSON + + + + + + + Gets the content encoding for the serialized data + + + + + Represents an ECMAScript identifier for serialization. + + + + + Designates a type as being able to format itself to raw text + + + + + Writes custom format to the output using either tokens or text + + + + + + + Ctor + + + + + Ctor + + + + + + Verifies is a valid EcmaScript identifier + + the identifier + identifier + + + + Verifies is a valid EcmaScript identifier + + the identifier + identifier + + + + Verifies is a valid EcmaScript variable expression + + the identifier + identifier + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + IdentifierName = + IdentifierStart | IdentifierName IdentifierPart + IdentifierStart = + Letter | '$' | '_' + IdentifierPart = + IdentifierStart | Digit + + + + + Trivial conversion method. Essentially performs a cast. + + + + + Supports conversion via System.Web.UI.PropertyConverter.ObjectFromString(Type, MemberInfo, string) + + + + + Implicit type conversion allows to be used directly as a String + + valid ECMAScript identifier + + + + + Implicit type conversion allows to be used directly with Strings + + valid ECMAScript identifier + + + + + Returns the identifier + + + + + + Compares identifiers + + + + + + + Returns the hash code for the identifier + + + + + + Gets the ECMAScript identifier represented by this instance + + + + + Formats data as full ECMAScript objects, rather than the limited set of JSON objects. + + + + + Outputs JSON text from an input stream of tokens + + + + + Outputs text from an input stream of JSON tokens + + token type + + + + Formats the token sequence to the output writer + + + + + + + Formats the token sequence as a string + + + + + + JSON serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the formatter for JSON + + + + + + + Gets the supported content type for the serialized data + + + + + Gets the supported file extension for the serialized data + + + + + Outputs JSON text from an input stream of tokens + + + + + Ctor + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Converts an object to its string representation + + + + + + + Converts an enum to its string representation + + + + + + + Splits a bitwise-OR'd set of enums into a list. + + the enum type + the combined value + list of flag enums + + from PseudoCode.EnumHelper + + + + + Determines if a numeric value cannot be represented as IEEE-754. + + + + + http://stackoverflow.com/questions/1601646 + + + + + Gets and sets if '<' should be encoded in strings + Useful for when emitting directly into page + + + + + Ctor + + + + Defaults to encoding < chars for improved embedding within script blocks + + + + + Emits a block of script ensuring that a namespace is declared + + the output writer + the namespace to ensure + list of namespaces already emitted + determines if should emit pretty-printed + if was a namespaced identifier + + + + Outputs a .NET Regex as an ECMAScript RegExp literal. + Defaults to global matching off. + + + + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + + + + Outputs a .NET Regex as an ECMAScript RegExp literal. + + + + + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + + + + Defines a strategy for filtering HTML tags/attributes/styles/literals + + + + + Filters tags, optionally allowing altering of tag + + tag name + if true tag should be rendered + + + + Filters attributes, optionally allowing altering of attribute value + + tag name + attribute name + attribute value + if true attribute should be rendered + + + + Filters styles, optionally allowing altering of style value + + tag name + style name + style value + if true style should be rendered + + + + Filters literals, optionally allowing replacement of literal value + + the literal value + if true should be rendered + + + + Provides a mechanism for filtering HTML streams based upon a tag taxonomy + + + + + Determines if is "void" (i.e. "empty" or "full") tag + + lowercase tag name + if is a void tag + + http://www.w3.org/TR/html5/semantics.html + http://www.w3.org/TR/html401/index/elements.html + http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#sec_5.2. + http://www.w3.org/TR/WD-html40-970917/index/elements.html + + + + + Determines if the tag is required to be closed + + lowercase tag name + if closing tag is optional + + http://www.w3.org/TR/html5/semantics.html + http://www.w3.org/TR/html401/index/elements.html + http://www.w3.org/TR/WD-html40-970917/index/elements.html + + + + + Categorizes the tag for heuristics about markup type + + lowercase tag name + the box type for a particular element + + http://www.w3.org/TR/html5/semantics.html + + + + + Defines a prioritized taxonomy of tags + + + The types are enumerated in ascending levels of risk for use in filtering HTML input + + + + + Literal text, no tags + + + + + Inline character level elements and text strings + + + Tags of this type typically do not disrupt the text flow + + + + + style elements + + + Tags of this type change the visual appearance of text + + + + + list elements + + + Tags of this type denote lists and typically change the text flow + + + + + Block-level elements + + + Tags of this type denote sections or change the text flow + + + + + Media elements + + + Tags of this type safely embed media content + + + + + Tabular elements + + + Tags of this type have a very specific structure and their own rendering model + + + + + Form elements + + + Tags of this type are used in the construction of forms for capturing user input + + + + + Script elements + + + Tags of this type represent a security risk to the containing document but must obey the browser security sandbox + + + + + Document elements + + + Tags of this type are used to construct the document itself + + + + + embedded elements + + + Tags of this type represent a large security risk to the containing document as plug-ins may circumvent the browser security sandbox + + + + + Unknown elements + + + + + Outputs markup text from an input stream of tokens + + + + + Ctor + + + + + + Resets the internal stack of elements + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Emits a valid XML local-name (i.e. encodes invalid chars including ':') + + + + + Explicitly escaping ':' to maintain compatibility with XML Namespaces. + From XML 1.0, 5th ed. http://www.w3.org/TR/xml/#sec-common-syn + Name = NameStartChar (NameChar)* + NameStartChar = ":" + | [A-Z] + | "_" + | [a-z] + | [#xC0-#xD6] + | [#xD8-#xF6] + | [#xF8-#x2FF] + | [#x370-#x37D] + | [#x37F-#x1FFF] + | [#x200C-#x200D] + | [#x2070-#x218F] + | [#x2C00-#x2FEF] + | [#x3001-#xD7FF] + | [#xF900-#xFDCF] + | [#xFDF0-#xFFFD] + | [#x10000-#xEFFFF] + NameChar = NameStartChar + | "-" + | "." + | [0-9] + | #xB7 + | [#x0300-#x036F] + | [#x203F-#x2040] + + + + + + Emits valid XML character data + + + + encodes all non-ASCII chars + + + + + Emits valid XML attribute character data + + + + encodes all non-ASCII chars + + + + Gets and sets a value indicating if should emit canonical form + + + http://www.w3.org/TR/xml-c14n + + + + + Gets and sets a value indicating how should emit empty attributes + + + + + Gets and sets a value indicating if should encode text chars above the ASCII range + + + This option can help when the output is being embedded within an unknown encoding + + + + + HTML-style empty attributes do not emit a quoted string + + + http://www.w3.org/TR/html5/syntax.html#attributes-0 + + + + + XHTML-style empty attributes repeat the attribute name as its value + + + http://www.w3.org/TR/xhtml-media-types/#C_10 + http://www.w3.org/TR/xhtml1/#C_10 + http://www.w3.org/TR/html5/the-xhtml-syntax.html + + + + + XML-style empty attributes emit an empty quoted string + + + http://www.w3.org/TR/xml/#sec-starttags + + + + + Generates a sequence of tokens from a generalized model of markup text (e.g. HTML, XML, JBST, ASPX/ASCX, ASP, JSP, PHP, etc.) + + + This generates a stream of tokens like StAX (Streaming API for XML) + Unlike XML, this follows a more permissive markup format with automatic recovery most similar to HTML5. + + + + + Generates a sequence of tokens from a sequence of characters + + token type + + + + Tokenizes the input sequence into tokens + + + + + + + Tokenizes the input sequence into tokens + + + + + + + Gets the current column of the underlying input character sequence + + + Tokenizers not tracking columns should return -1. + + + + + Gets the current line of the underlying input character sequence + + + Tokenizers not tracking lines should return -1. + + + + + Gets the current position of the underlying input character sequence + + + Tokenizers not tracking index should return -1. + + + + + Decodes HTML-style entities into special characters + + + the entity text + + TODO: validate against HTML5-style entities + http://www.w3.org/TR/html5/tokenization.html#consume-a-character-reference + + + + + Decodes most known named entities + + + + + + + Checks for element start char + + + + + http://www.w3.org/TR/xml/#sec-common-syn + + + + + Checks for element name char + + + + + http://www.w3.org/TR/xml/#sec-common-syn + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets and sets if should attempt to auto-balance mismatched tags. + + + + + Gets and sets if should unwrap comments inside . + + + For example, in HTML this would include "script" and "style" tags. + + + + + Gets and sets a set of tags which should not have their content parsed. + + + For example, in HTML this would include "script" and "style" tags. + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Ctor + + + + + Renders Common Model Tokens into a semantic HTML representation of the data structure + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + input token type + output token type + + + + Transforms the token sequence from to + + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + StringBuilder-like implementation built like List<char> + + + + + Ctor + + + + + Ctor + + + + + + Resets the buffer to an empty state + + + + + Appends a single char to the buffer + + + + + + + Appends a string value to the buffer + + + + + + + Copies the buffer value into a + + + + + + Gets the number of characters in the buffer + + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + Ctor + + + + + + + + Supports forward-only iteration over an input sequence of + + + + + Supports forward-only iteration over an input sequence of + + + + + Supports forward-only iteration over an input sequence + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered sequence chunk + + + + + + Determines if the sequence has completed. + + + + + Gets a value indicating if is currently capturing a sequence + + + + + Gets the number of items currently chunked + + + + + Factory method for generic streams + + + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Determines if the input sequence has reached the end + + + + + Ctor + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a list with ability to capture a subsequence + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered chunk + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Gets the number of characters currently chunked + + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a text input tracking line/column/position + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and writes the buffered text chunk into the provided StringBuilder + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Supports a simple iteration over a string tracking line/column/position + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Calculates index, line, and column statistics + + + + + Releases all resources used + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Gets the number of characters currently chunked + + + + + Gets a value indicating if the is currently chunking + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a TextReader tracking line/column/position + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Calculates index, line, and column statistics + + + + + + + Releases all resources used by the underlying reader + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Gets the number of characters currently chunked + + + + + Gets a value indicating if the is currently chunking + + + + + Determines if the input sequence has reached the end + + + + + Formal language of tokens and symbols for JSON + + + + + Designates a property or field to not be serialized. + + + + + Specifies the naming to use for a property or field when serializing + + + + + Ctor + + + + + Ctor + + + + + + Gets and sets the name to be used in serialization + + + + + JSON deserializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the supported content type of the serialized data + + + + + Generates a sequence of tokens from JSON text + + + + + Gets a token sequence from the scanner stream + + + + + + + Scans for the longest valid EcmaScript identifier + + identifier + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + IdentifierName = + IdentifierStart | IdentifierName IdentifierPart + IdentifierStart = + Letter | '$' | '_' + IdentifierPart = + IdentifierStart | Digit + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + It is an error for the next token to be a value delim + + + + + Forbidden but differentiates between empty array/object and just written + + + + + It is an error for the next token to NOT be a value delim + + + + + Specifies the name of the property which specifies if member should be serialized. + + + These properties can be marked private/protected/internal and it will still be recognized + + + + + Ctor + + the name of the property which controls serialization for this member + + + + Ctor + + the name of the property which controls serialization for this member + + + + Gets and sets the name of the property which + specifies if member should be serialized + + + + + Transforms markup tokens into Common Model tokens using the (lossless) JsonML model + + + JsonML Grammer: http://jsonml.org + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Determines how whitespace should be handled + + + + + Transforms Common Model tokens into markup tokens using the (lossless) JsonML model + + + JsonML Grammer: http://jsonml.org + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Controls name resolution for IDataReader / IDataWriter using JsonNameAttribute / JsonIgnoreAttribute / JsonPropertySpecifiedAttribute + + + This is the default strategy from JsonFx v1.0 + + + + + Controls name resolution for IDataReader / IDataWriter using plain old CLR object (POCO) names + + + + + Controls name resolution for IDataReader / IDataWriter + + + Provides an extensibility point to control member naming and visibility at a very granular level. + + + + + Gets a value indicating if the property is to be serialized. + + + + + + + + Gets a value indicating if the field is to be serialized. + + + + + + + Determines if the property or field should not be serialized. + + + + + + + + + Gets the serialized name for the member. + + + + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute + + This is useful when default values need not be serialized. + + + + + Gets the serialized name for the member. + + + + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute + + This is useful for excluding serialization of default values. + + + + + Gets the serialized name for the member. + + + + + + + Determines whitespace handling + + + + + Removes insignificant whitespace + + + + + Keep all whitespace + + + + + Condenses all whitespace to single spaces + + + + + Designates a type as being able to format itself to raw JSON text. + + + + + Ctor + + + + + Ctor + + + + + Gets and sets the starting delimiter + + + + + Gets and sets the ending delimiter + + + + + Gets and sets the context + + + + + Formal language of tokens and symbols for markup + + + + + Any of a number of unparsed tags which typically contain specialized processing instructions + + + The name of the token is the beginning and ending delimiters as a format string (not including the '<' or '>') + Includes the following types: + + "<!--", "-->" XML/HTML/SGML comment + "<!", ">" XML/SGML declaration (e.g. DOCTYPE or server-side includes) + + "<?=", "?>" PHP expression + "<?", "?>" PHP code block /XML processing instruction (e.g. the XML declaration) + + "<%--", "--%>" ASP/PSP/JSP-style code comment + "<%@", "%>" ASP/PSP/JSP directive + "<%=", "%>" ASP/PSP/JSP/JBST expression + "<%!", "%>" JSP/JBST declaration + "<%#", "%>" ASP.NET/JBST databind expression + "<%$", "%>" ASP.NET/JBST extension + "<%", "%>" ASP code block / JSP scriptlet / PSP code block + + + + + tokens + + + + + + + + + + + Maintains scope chain for namespace prefix mappings + + + + + Adds a new scope to the chain + + + + + + Gets the last scope off the chain + + + + + Gets and removes the last scope off the chain + + + + + + Finds the namespace URI for a given prefix within the curren scope chain + + + + + + + Finds the prefix for a given namespace URI within the curren scope chain + + + + + + + Checks if the matching begin tag exists on the stack + + + + + + Resets the internal state of the scope chain. + + + + + Looks up the prefix for the given namespace + + + + null if namespace is empty and no default prefix found + + + + Represents a scope boundary within a prefix scope chain + + + + + Returns if this scope boundary contains a mapping for a particular prefix + + + if this scope boundary contains a mapping for a particular prefix + + + + Returns if this scope boundary contains a mapping for a particular namespace + + + if this scope boundary contains a mapping for a particular namespace + + + + Returns if this scope boundary contains a mapping for a particular prefix + setting the namespace URI if one was found. + + + the resolved namespace URI + if this scope boundary contains a mapping for a particular prefix + + + + Returns if this scope boundary contains a mapping for a particular prefix + setting the prefix if one was found. + + + the resolved prefix + if this scope boundary contains a mapping for a particular prefix + + + + Gets and sets the tagname associated with this scope boundary + + + + + Gets and sets mappings between prefix and namespace URIs + + + + + + + Provides lookup capabilities for providers + + + + + Parses HTTP headers for Media-Types + + HTTP Accept header + HTTP Content-Type header + sequence of Media-Types + + http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html + + + + + + + + + + + + Controls name resolution for IDataReader / IDataWriter using convention-based name mapping + + + Converts standard .NET PascalCase naming convention into the specified naming convention. + http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx + http://msdn.microsoft.com/en-us/library/141e06ef.aspx + http://msdn.microsoft.com/en-us/library/xzf533w0.aspx + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the serialized name for the member. + + + + + + + Splits a multi-word name assuming standard .NET PascalCase conventions. + + + + + http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx + http://msdn.microsoft.com/en-us/library/141e06ef.aspx + http://msdn.microsoft.com/en-us/library/xzf533w0.aspx + + + + + + Ctor + + + + + + + + Ctor + + + + + + + Represents a property or document name, and a corresponding namespace URI (or empty string). + Analogous to XML "expanded name": http://www.w3.org/TR/REC-xml-names/#dt-expname + + + Namespaces must be a URI, but local-name can be any non-null string. + It is up to formatters to determine how to properly represent names which are invalid for the format. + + + + + local-name + + + + + alias for the namespace + + + + + namespace + + + + + Determines if name should be treated like an attribute + + + + + Ctor + + a CLR Type used to generate the local-name + + This constructor implicitly delcares the namespace to be empty. + + + + + Ctor + + any string is a valid local-name + + This constructor implicitly delcares the namespace to be empty. + + + + + Ctor + + any string is a valid local-name + an absolute URI string, or null + thrown if is null + thrown if is an invalid absolute URI + + The namespace field follows XML recommendation of absolute URIs. + Relative URIs are officially deprecated for namespaces: http://www.w3.org/2000/09/xppa + + + + + Ctor + + any string is a valid local-name + an absolute URI string, or null + determines if name should be an attribute name + thrown if is null + thrown if is an invalid absolute URI + + The namespace field follows XML recommendation of absolute URIs. + Relative URIs are officially deprecated for namespaces: http://www.w3.org/2000/09/xppa + + + + + Gets the local-name for a Type + + + + + + + Gets the prefixed name or simply local-name if is not a fully qualified name + + true to generate a prefix if the prefix is empty but not the namespace + + + + + Gets the namespaced name or simply local-name if is not a fully qualified name + + + + + + Compares two values and returns an indication of their relative sort order. + + + + + Performs ordering according to XML Canonicalization document order http://www.w3.org/TR/xml-c14n#DocumentOrder + "An element's namespace nodes are sorted lexicographically by local name (the default namespace node, if one exists, has no local name and is therefore lexicographically least)." + "An element's attribute nodes are sorted lexicographically with namespace URI as the primary key and local name as the secondary key (an empty namespace URI is lexicographically least)." + + + + + Determines if this is an empty DataName + + + + + Indicates a graph cycle was detected during serialization + + + + + Indicates an error occurred during serialization + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the type of cycle which caused the error + + + + + Graph cycles are detected with a reference tracking, any repeated reference results in a null value + + + + + Graph cycles are detected with a reference tracking, any repeated reference results in an error + + + + + Graph cycles are detected with a maximum depth count, exceeding depth results in an error + + + + + Detects graph cycles by tracking graph depth + + + + + Defines an interface for detecting graph cycles + + + + + Begins tracking of the reference + + + true if graph cycle was detected + + + + Ends tracking of the reference + + + true if tracking was successfully completed + + + + Ctor + + + + + + Increments the depth + + + true if MaxDepth has not been exceeded + + + + Increments the depth + + + + + + Detects cycles by detecting duplicates in the a set of object references + + + + + Adds a reference to the set + + + true if object already existed within set + + + + Removes a reference from the set + + + + + + Controls deserialization settings for IDataReader + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Gets and sets if ValueTypes can accept values of null + + + If this is true and a ValueType T is assigned the value of null, + it will receive the value of default(T). + Setting this to false, throws an exception if null is + specified for a ValueType member. + + + + + Gets and sets if should verify that stream is empty after deserialzing each object + + + Setting to true allows reading a JSON stream inside other structures (e.g. JavaScript) + + + + + Gets manager of name resolution for IDataReader + + + + + Gets the custom filters + + + + + Controls the serialization settings for IDataWriter + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Gets and sets what to do when graph cycles (repeated references) are encounted + + + + + Gets and sets the maximum nesting depth + + + Depth is a fast and easy safegaurd against detecting graph cycles but may produce false positives + + + + + Gets and sets if output will be formatted for human reading. + + + + + Gets and sets the string to use for indentation + + + + + Gets and sets the line terminator string + + + + + Gets manager of name resolution for IDataReader + + + + + Gets the custom filters + + + + + Indicates an error occurred during deserialization + + + + + Ctor + + + + + + + Ctor + + + + + + + + + Ctor + + + + + + + + Ctor + + + + + + + + Helper method which converts the index into Line and Column numbers + + + + + + + + Gets the character column in the stream where the error occurred + + + + + Gets the character position in the stream where the error occurred + + + + + Gets the character line in the stream where the error occurred + + + + + Indicates an error occurred during token consumption + + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the token in the sequence where the error occurred + + + + + Indicates an error occurred during type coercion + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Provides lookup capabilities for finding matching IDataReader + + + + + Provides lookup capabilities for finding matching IDataReader + + + + + Ctor + + inject with all possible readers + + + + Finds an IDataReader by content-type header + + + + + + + Provides lookup capabilities for finding an IDataWriter + + + + + Provides lookup capabilities for finding an IDataWriter + + + + + Ctor + + inject with all possible writers + + + + Controls name resolution for IDataReader / IDataWriter by using pluggable delegate callbacks + + + + + Gets and sets the implementation for ignoring properties + + + + + Gets and sets the implementation for ignoring fields + + + + + Gets and sets the implementation for ignoring properties by value + + + + + Gets and sets the implementation for naming members + + + + + Gets and sets the implementation for sorting members + + + + + Controls name resolution for IDataReader / IDataWriter by combining an ordered sequence of any other strategies + + + Each strategy is invoked in order, the first to respond wins. + + + + + Ctor + + ordered sequence of strategies + + + + Ctor + + ordered sequence of strategies + + + + Gets a value indicating if the property is to be serialized. + + + + true if any strategy specifies should be ignored + + + + Gets a value indicating if the field is to be serialized. + + + true if any strategy specifies should be ignored + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + true if any strategy specifies this should be ignored + + + + Gets the serialized name for the member. + + + + custom name if any strategy specifies one, otherwise null + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Controls name resolution for IDataReader / IDataWriter using DataContract attributes + + + http://msdn.microsoft.com/en-us/library/kd1dc9w5.aspx + + + + + CCtor + + + + + Gets a value indicating if the property is to be serialized. + + + + + + + + Gets a value indicating if the field is to be serialized. + + + + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + + + + + Gets the serialized name for the member. + + + + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + + + + + The original member info + + + + + The original member name + + + + + The member data name + + + + + The member type + + + + + The getter method + + + + + The setter method + + + + + The logic for determining if a value is ignored + + + + + Determines if map name is alternate (i.e. only used for deserialization) + + + + + Ctor + + MemberMap to clone + alternate name + + + + Ctor + + + + + + + + Ctor + + + + + + + + Ctor + + + + + Gets a sequence of the available factory arguments + + + + + Gets the factory associated with the given argument type + + + + + + + Cache of name resolution mappings for IDataReader / IDataWriter + + + + + Ctor + + + + + + Gets the serialized name of the class + + + + + + + Removes any cached member mappings. + + + + + Builds a mapping of member name to field/property + + + + + + Represents a single immutable token in an input sequence + + + + + The type of the token + + + + + The name of the token + + + + + The value of the token + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Ctor + + + + + + + Returns a string that represents the current token. + + + + + + Gets the value of the token as a string + + + + + + Converts a value to a string giving opportunity for IConvertible, IFormattable + + + + + + + Converts token to a token of a different type + + + token with same values and different type + + + + Type Coercion Utility + + + + + Ctor + + + + + + + Ctor + + + + + + + Instantiates a new instance of objectType. + + + objectType instance + + + + Instantiates a new instance of objectType. + + + objectType instance + + + + Helper method to set value of a member. + + + + + + + + + + Coerces the object value to Type + + + + + + + + Coerces the object value to Type of + + + + + + + + Populates the properties of an object with the dictionary values. + + + + + + + + Populates the properties of an object with the dictionary values. + + + + + + + + Coerces an sequence of items into an array of Type elementType + + + + + + + + Finds a suitable concrete class for common collection interface types + + + + + + + Allows specific IDictionary<string, TVal> to deserialize as TVal + + IDictionary<string, TVal> Type + TVal Type + + + + Returns a common type which can hold previous values and the new value + + + + + + + + Determines if type can be assigned a null value. + + + + + + + Gets the attribute T for the given value. + + + Attribute Type + true if defined + + + + Gets the attribute of Type for the given value. + + + true if defined + + + + Gets the attribute T for the given value. + + + Attribute Type + requested attribute or not if not defined + + + + Gets the attribute of Type for the given value. + + + requested attribute or not if not defined + + + + Character Utility + + + These are either simpler definitions of character classes (e.g. letter is [a-zA-Z]), + or they implement platform-agnositic checks (read: "Silverlight workarounds"). + + + + + Checks if string is null, empty or entirely made up of whitespace + + + + + Essentially the same as String.IsNullOrWhiteSpace from .NET 4.0 + with a simplfied view of whitespace. + + + + + Checks if character is line ending, tab or space + + + + + + + + + + + + + + Checks if character matches [A-Za-z] + + + + + + + Checks if character matches [0-9] + + + + + + + Checks if character matches [0-9A-Fa-f] + + + + + + + Gets a 4-bit number as a hex digit + + 0-15 + + + + + Formats a number as a hex digit + + + + + + + Converts the value of a UTF-16 encoded character or surrogate pair at a specified + position in a string into a Unicode code point. + + + + + + + + Converts the specified Unicode code point into a UTF-16 encoded string. + + + + + + + XML serializer + + + XML serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets a tokenizer for XML + + + + + + Gets the supported content type for the serialized data + + + + + Transforms markup tokens into Common Model tokens using an XML-data model + + + + + Ctor + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + + Ctor + + + + + Ctor + + + + + + Gets a token sequence from the string + + + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the XmlReader + + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + XML serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the formatter for XML + + + + + + + Gets the supported content type for the serialized data + + + + + Gets the supported file extension for the serialized data + + + + + Transforms Common Model tokens into markup tokens using an XML-data model + + + + + Ctor + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + Outputs XML text from an input stream of tokens + + + + + Ctor + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Formats the token sequence to the writer + + + + + + + Wraps an XmlWriter as a TextWriter + + + + + Ctor + + + + + + Gets the underlying XmlWriter + + + + + Controls name resolution for IDataReader / IDataWriter using attributes and conventions similar to XmlSerializer semantics + + + http://msdn.microsoft.com/en-us/library/83y7df3e.aspx + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute or has a property named XXXSpecified which determines visibility + + This is useful when default values need not be serialized. + Under these situations XmlSerializer ignores properties based upon value: + - DefaultValue: http://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute.aspx + - Specified Properies: http://msdn.microsoft.com/en-us/library/bb402199.aspx + - ShouldSerialize Methods: http://msdn.microsoft.com/en-us/library/53b8022e.aspx + + + + + Gets the serialized name for the member. + + + + + + + Sorts members to ensure proper document order where attributes precede all child elements. + + + + + Performs the first stage of XML Canonicalization document order http://www.w3.org/TR/xml-c14n#DocumentOrder + "An element's namespace and attribute nodes have a document order position greater than the element but less than any child node of the element." + + + + + Generates delegates for getting/setting properties and field and invoking constructors + + + + + Creates a field getter delegate for the specified property or field + + PropertyInfo or FieldInfo + GetterDelegate for property or field, null otherwise + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field setter delegate for the specified property or field + + PropertyInfo or FieldInfo + SetterDelegate for property or field, null otherwise + + + + Creates a property getter delegate for the specified property + + + GetterDelegate if property CanRead, otherwise null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a property setter delegate for the specified property + + + GetterDelegate if property CanWrite, otherwise null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field getter delegate for the specified field + + + GetterDelegate which returns field unless is enum in which will return enum value + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field setter delegate for the specified field + + + SetterDelegate unless field IsInitOnly then returns null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a proxy delegate accepting a target instance and corresponding arguments + + method to proxy + ProxyDelegate or null if cannot be invoked + + Note: use with caution this method will expose private and protected methods without safety checks. + + + + + Creates a default constructor delegate + + type to be created + FactoryDelegate or null if default constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a constructor delegate accepting specified arguments + + type to be created + constructor arguments type list + FactoryDelegate or null if constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a constructor delegate accepting specified arguments + + type to be created + constructor arguments type list + FactoryDelegate or null if constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Represents a query across a data source + + + + + + Ctor + + + + + + Ctor + + + + + + + Returns a string representation of the query + + + + + + Gets the query expression + + + + + Gets the query return type + + + + + Gets the underlying provider + + + + + Ctor + + + + + + + Ctor + + + + + + + Extends the query to all descendants + + + + + Extends the query to all descendants + + + + + Gets all items of the array + + + + + Gets the items of the array with indexes satisfying the + + + + + + Filters to only objects with a particular property name defined + + + + + + Filters to a lookup of only the properties which match the predicate + + + + + + Filters to only arrays + + + + + + Filters to only objects + + + + + + Filters to only simple values + + + + + + Boiler-plate implementation + + + + + + Ctor + + + + + Ctor + + + + + + + + + + + Searches for subsequences found by the expression and rehydrates into objects with the analyzer + + + + + Ctor + + + + + Ctor + + + + + + + Ctor + + + + + + diff --git a/packages/JsonFx.2.0.1106.2610/lib/sl40-wp/JsonFx.dll b/packages/JsonFx.2.0.1106.2610/lib/sl40-wp/JsonFx.dll new file mode 100644 index 0000000..4741fdf Binary files /dev/null and b/packages/JsonFx.2.0.1106.2610/lib/sl40-wp/JsonFx.dll differ diff --git a/packages/JsonFx.2.0.1106.2610/lib/sl40-wp/JsonFx.xml b/packages/JsonFx.2.0.1106.2610/lib/sl40-wp/JsonFx.xml new file mode 100644 index 0000000..b939353 --- /dev/null +++ b/packages/JsonFx.2.0.1106.2610/lib/sl40-wp/JsonFx.xml @@ -0,0 +1,4526 @@ + + + + JsonFx + + + + + JsonFx metadata + + + + + Ctor + + + + + + Outputs BSON bytes from an input stream of tokens + + + + + Outputs text from an input stream of JSON tokens + + token type + + + + Formats the token sequence to the output writer + + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the output writer + + + + + + + Emits a document (or array) to the binary stream + + + + number of bytes written + + + + Emits a single element to the binary stream + + + + + number of bytes written + + + + Emits a string value + + + + number of bytes written + + + + Emits a binary value + + + + number of bytes written + + + + Emits a code_w_s value + + + + number of bytes written + + + + Generates a sequence of tokens from BSON bytes + + + + + Generates a sequence of tokens from a sequence of characters + + token type + + + + Tokenizes the input sequence into tokens + + + + + + + Tokenizes the input sequence into tokens + + + + + + + Gets the current position of the underlying input character sequence + + + Tokenizers not tracking index should return -1. + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets a token sequence from the reader + + + + + + + Gets the current position of the underlying stream + + + + + BSON MD5 Datatype + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Converts MD5 to Guid + + + + + + + + Converts MD5 to Guid + + + + + + + Gets the hashcode of the underlying Guid + + + + + + BSON JavaScript Code With Scope Datatype + + + + + BSON JavaScript Code Datatype + + + + + Ctor + + + + + + Converts JavaScriptCode to string + + + + + + + + Converts JavaScriptCode to string + + + + + + + Gets the hashcode of the underlying string + + + + + + BSON Symbol Datatype + + + + + Ctor + + + + + + Converts Symbol to string + + + + + + + + Converts Symbol to string + + + + + + + Gets the hashcode of the underlying string + + + + + + BSON DBPointer Datatype (Deprecated) + + + + + Immutable BSON ObjectID Datatype + + + http://www.mongodb.org/display/DOCS/Object+IDs#ObjectIDs-TheBSONObjectIdDatatype + + + + + Ctor + + 12-byte object ID + + + + Ctor + + 4-byte seconds since Unit epoch + 3-byte machine ID + 2-byte process ID + 3-byte counter + + + + Converts an ObjectID to a hex string + + + + + + + Converts a hex string to an ObjectID + + + + + + + Converts an ObjectID to a byte array + + + + + + + Converts a byte array to an ObjectID + + + + + + + Gets the hashcode of the underlying string + + + + + + Gets the time associated with this ObjectID + + + + + Gets the machine id associated with this ObjectID + + + + + Gets the process id associated with this ObjectID + + + + + Gets the counter associated with this ObjectID + + + + + Generic binary holder + + + http://api.mongodb.org/java/2.0/org/bson/types/Binary.html + + + + + Ctor + + binary type code + byte date + + + + Converts an ObjectID to a hex string + + + + + + + Converts a hex string to an ObjectID + + + + + + + Converts an ObjectID to a byte array + + + + + + + Converts a byte array to an ObjectID + + + + + + + Gets the hashcode of the underlying string + + + + + + Gets a 4-bit number as a hex digit + + 0-15 + + + + + Gets the binary type code + + + + + Gets the binary type code + + + + + Gets the byte at the given index + + + + + Gets the length of the binary data + + + + + Designates a type as being able to format itself to raw BSON bytes + + + + + Designates a type as being able to format itself to raw bytes + + + + + Writes custom format to the output using either tokens or bytes + + + + total number of bytes written + + + + Determines the corresponding BSON element type + + + + + + Generalized delegate for invoking a constructor + + + + + + + Generalized delegate for invoking a method + + the instance object + the method parameters + + + + + Generalized delegate for getting a field or property value + + + + + + + Generalized delegate for setting a field or property value + + + + + + + Consumes a sequence of tokens to produce an object graph optionally coerced to a given type + + + + + Consumes a sequence of tokens to produce a sequence of objects, optionally coerced to a given type + + token type + + + + Parses the token sequence + + + + + + + Parses the token sequence, optionally coercing the result to Type targetType + + + optional type for coercion (null if not specified) + + + + + Parses the token sequence, coercing the result to Type TResult + + optional type for coercion (null if not specified) + + + + + + Parses the token stream coercing the result to TResult (type inferred from ) + + + + an example value used solely for Type inference + + + + + Ctor + + + + + + Parses the token stream coercing the result targetType + + + + + + + Parses the token stream coercing the result to targetType + + + + + + + + Parses the token stream coercing the result to TResult + + the result target type + + + + + + Parses the token stream coercing the result to TResult (inferred from ) + + + + an example value used solely for Type inference + + + + + Common Model Language grammar helper + + + Simplifies and guides syntax, and provides a set of reusable tokens to reduce redundant token instantiations + + + + + Marks the beginning of an array + + the local name of the array + ArrayBegin Token + + + + Marks the beginning of an array + + the local name of the array + the namespace of the document + ArrayBegin Token + + + + Marks the beginning of an array + + the name of the array + ArrayBegin Token + + + + Marks the beginning of an object + + the local name of the object + ObjectBegin Token + + + + Marks the beginning of an object + + the name of the object + ObjectBegin Token + + + + Marks the beginning of an object property + + the local name of the property + PropertyKey Token + + + + Marks the beginning of an object property + + the local name of the property + PropertyKey Token + + + + Marks the beginning of an object property + + the name of the property + PropertyKey Token + + + + A simple scalar value (typically serialized as a single primitive value) + + + Value Token + + + + Provides base implementation for standard deserializers + + + + + Provides base implementation for standard deserializers + + + + + A common interface for data deserializers + + + + + Deserializes a single object from the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Deserializes a single object from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + + + + Deserializes a single object from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a potentially endless sequence of objects from a stream source + + + + + character stream => token stream => object stream + + + + + Gets the supported content type of the serialized data + + + + + Gets the settings used for deserialization + + + + + Ctor + + + + + + Deserializes the data from the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input reader + + + + Deserializes the data from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + + + + Deserializes the data from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a potentially endless sequence of objects from a stream source + + a streamed source of objects + a sequence of objects + + character stream => token stream => object stream + + + + + Gets the supported content type of the serialized data + + + + + Gets the settings used for deserialization + + + + + Ctor + + + + + + Extension methods for selecting subsequences of sequences of tokens + + + + + Determines if the sequence represents a primitive + + + + + + + Determines if the sequence represents an object + + + + + + + Determines if the root object has any properties which satisfies the name + + + + true if any properties match the predicate + + + + Gets all properties of the root object + + + + all properties for the object + + + + Gets all properties of the root object + + + + all properties for the object + + + + Gets the properties of the root object which satisfies the + + + + matching properties for the root object + + + + Gets the properties of the root object which satisfies the + + + + matching properties for the root object + + + + Determines if the sequence represents an array + + + + + + + Gets all the items of the array + + + all items of the array + + + + Gets the items of the root array with indexes satisfying the + + + + items of the root array which statisfy the predicate + + + + ArrayItems iterator + + + + + + + + Gets all descendant values below the current root + + + + + + + Descendants iterator + + + + + + + Gets all descendant values below the current root, as well as the current root + + + + + + + DescendantsAndSelf iterator + + + + + + + Covers the sitation where a stream of sequences may be back to back + + + + + + + Splices out the sequence for the next complete value (object, array, primitive) + + + + + + + Splices out the sequence for the next complete value (object, array, primitive) + + + + + + + Skips over the next complete value (object, array, primitive) + + + + + + + Common Model Language tokens + + + + + + + + + + + + Generates a sequence of tokens from an object graph + + + + + Generates a sequence of tokens from an object graph + + token type + + + + Generates a sequence of tokens representing the value + + + + + + + Ctor + + + + + + Generates a sequence of tokens representing the value + + + + + + + Allows a mechanism for manipulating JSON serialization + + Defines the type this filter reads/writes + + + + Partially implements an IDataFilter + + + + + Allows a mechanism for manipulating serialization + + Defines the type of token stream this filter understands + Defines the type this filter reads/writes + + + + Allows a mechanism for manipulating serialization + + Defines the type of token stream this filter understands + + + + Allows a class to act as a factory for a type via input Token<T> sequence + + input tokens + + true if value was generated + + + + Allows a class to serialize a type as Token<T> sequence + + + + true if value was consumed + + + + Allows a class to act as a factory for a type via input Token<T> sequence + + input tokens + + true if value was generated + + + + Allows a class to serialize a type as Token<T> sequence + + + + true if value was consumed + + + + Defines a filter for JSON-style serialization of DateTime into ISO-8601 string + + + This is the format used by EcmaScript 5th edition Date.prototype.toJSON(...): + http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf + http://www.w3.org/TR/NOTE-datetime + http://en.wikipedia.org/wiki/ISO_8601 + + NOTE: This format limits expressing DateTime as either UTC or Unspecified. Local (i.e. Server Local) is converted to UTC. + + + + + Converts a ISO-8601 string to the corresponding DateTime representation + + ISO-8601 conformant date + UTC or Unspecified DateTime + true if parsing was successful + + + + Converts a DateTime to the corresponding ISO-8601 string representation + + + ISO-8601 conformant date + + + + Determines the precision of fractional seconds. + Defaults to EcmaScript precision of milliseconds. + + + + + Defines the precision of fractional seconds in ISO-8601 dates + + + + + Defines a filter for JSON-style serialization of DateTime into an ASP.NET Ajax Date string. + + + This is the format used by Microsoft ASP.NET Ajax: + http://weblogs.asp.net/bleroy/archive/2008/01/18/dates-and-json.aspx + + NOTE: This format is limited to expressing DateTime at the millisecond level as UTC only. + The WCF extension of adding a timezone is ignored as this returns UTC dates only. + + + + + Converts an ASP.NET Ajax date string to the corresponding DateTime representation + + ASP.NET Ajax date string + + true if parsing was successful + + + + Converts a DateTime to the corresponding ASP.NET Ajax date string representation + + + ASP.NET Ajax date string + + + + Provides base implementation for standard serializers + + + + + Provides base implementation of standard serializers + + + + + A common interface for data serializers + + + + + Serializes the data to the given output + + the output writer + the data to be serialized + + + + Serializes the data to the given output + + the data to be serialized + the serialized data + + + + Gets the content encoding for the serialized data + + + + + Gets the supported content types for the serialized data + + + + + Gets the supported file extensions for the serialized data + + + + + Gets the settings used for serialization + + + + + Ctor + + + + + + Serializes the data to the given output + + the data to be serialized + the output writer + + + + Serializes the data to the given output + + the data to be serialized + the serialized data + + + + Gets the walker for this DataWriter + + + + + + + Gets the formatter for this DataWriter + + + + + + + Gets the content encoding for the serialized data + + + + + Gets the supported content types for the serialized data + + + + + Gets the supported file extensions for the serialized data + + + + + Gets the settings used for serialization + + + + + Ctor + + + + + + Gets a walker for JSON + + + + + + + Gets the content encoding for the serialized data + + + + + Represents an ECMAScript identifier for serialization. + + + + + Designates a type as being able to format itself to raw text + + + + + Writes custom format to the output using either tokens or text + + + + + + + Ctor + + + + + Ctor + + + + + + Verifies is a valid EcmaScript identifier + + the identifier + identifier + + + + Verifies is a valid EcmaScript identifier + + the identifier + identifier + + + + Verifies is a valid EcmaScript variable expression + + the identifier + identifier + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + IdentifierName = + IdentifierStart | IdentifierName IdentifierPart + IdentifierStart = + Letter | '$' | '_' + IdentifierPart = + IdentifierStart | Digit + + + + + Trivial conversion method. Essentially performs a cast. + + + + + Supports conversion via System.Web.UI.PropertyConverter.ObjectFromString(Type, MemberInfo, string) + + + + + Implicit type conversion allows to be used directly as a String + + valid ECMAScript identifier + + + + + Implicit type conversion allows to be used directly with Strings + + valid ECMAScript identifier + + + + + Returns the identifier + + + + + + Compares identifiers + + + + + + + Returns the hash code for the identifier + + + + + + Gets the ECMAScript identifier represented by this instance + + + + + Formats data as full ECMAScript objects, rather than the limited set of JSON objects. + + + + + Outputs JSON text from an input stream of tokens + + + + + Outputs text from an input stream of JSON tokens + + token type + + + + Formats the token sequence to the output writer + + + + + + + Formats the token sequence as a string + + + + + + JSON serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the formatter for JSON + + + + + + + Gets the supported content type for the serialized data + + + + + Gets the supported file extension for the serialized data + + + + + Outputs JSON text from an input stream of tokens + + + + + Ctor + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Converts an object to its string representation + + + + + + + Converts an enum to its string representation + + + + + + + Splits a bitwise-OR'd set of enums into a list. + + the enum type + the combined value + list of flag enums + + from PseudoCode.EnumHelper + + + + + Determines if a numeric value cannot be represented as IEEE-754. + + + + + http://stackoverflow.com/questions/1601646 + + + + + Gets and sets if '<' should be encoded in strings + Useful for when emitting directly into page + + + + + Ctor + + + + Defaults to encoding < chars for improved embedding within script blocks + + + + + Emits a block of script ensuring that a namespace is declared + + the output writer + the namespace to ensure + list of namespaces already emitted + determines if should emit pretty-printed + if was a namespaced identifier + + + + Outputs a .NET Regex as an ECMAScript RegExp literal. + Defaults to global matching off. + + + + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + + + + Outputs a .NET Regex as an ECMAScript RegExp literal. + + + + + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + + + + Defines a strategy for filtering HTML tags/attributes/styles/literals + + + + + Filters tags, optionally allowing altering of tag + + tag name + if true tag should be rendered + + + + Filters attributes, optionally allowing altering of attribute value + + tag name + attribute name + attribute value + if true attribute should be rendered + + + + Filters styles, optionally allowing altering of style value + + tag name + style name + style value + if true style should be rendered + + + + Filters literals, optionally allowing replacement of literal value + + the literal value + if true should be rendered + + + + Provides a mechanism for filtering HTML streams based upon a tag taxonomy + + + + + Determines if is "void" (i.e. "empty" or "full") tag + + lowercase tag name + if is a void tag + + http://www.w3.org/TR/html5/semantics.html + http://www.w3.org/TR/html401/index/elements.html + http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#sec_5.2. + http://www.w3.org/TR/WD-html40-970917/index/elements.html + + + + + Determines if the tag is required to be closed + + lowercase tag name + if closing tag is optional + + http://www.w3.org/TR/html5/semantics.html + http://www.w3.org/TR/html401/index/elements.html + http://www.w3.org/TR/WD-html40-970917/index/elements.html + + + + + Categorizes the tag for heuristics about markup type + + lowercase tag name + the box type for a particular element + + http://www.w3.org/TR/html5/semantics.html + + + + + Defines a prioritized taxonomy of tags + + + The types are enumerated in ascending levels of risk for use in filtering HTML input + + + + + Literal text, no tags + + + + + Inline character level elements and text strings + + + Tags of this type typically do not disrupt the text flow + + + + + style elements + + + Tags of this type change the visual appearance of text + + + + + list elements + + + Tags of this type denote lists and typically change the text flow + + + + + Block-level elements + + + Tags of this type denote sections or change the text flow + + + + + Media elements + + + Tags of this type safely embed media content + + + + + Tabular elements + + + Tags of this type have a very specific structure and their own rendering model + + + + + Form elements + + + Tags of this type are used in the construction of forms for capturing user input + + + + + Script elements + + + Tags of this type represent a security risk to the containing document but must obey the browser security sandbox + + + + + Document elements + + + Tags of this type are used to construct the document itself + + + + + embedded elements + + + Tags of this type represent a large security risk to the containing document as plug-ins may circumvent the browser security sandbox + + + + + Unknown elements + + + + + Outputs markup text from an input stream of tokens + + + + + Ctor + + + + + + Resets the internal stack of elements + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Emits a valid XML local-name (i.e. encodes invalid chars including ':') + + + + + Explicitly escaping ':' to maintain compatibility with XML Namespaces. + From XML 1.0, 5th ed. http://www.w3.org/TR/xml/#sec-common-syn + Name = NameStartChar (NameChar)* + NameStartChar = ":" + | [A-Z] + | "_" + | [a-z] + | [#xC0-#xD6] + | [#xD8-#xF6] + | [#xF8-#x2FF] + | [#x370-#x37D] + | [#x37F-#x1FFF] + | [#x200C-#x200D] + | [#x2070-#x218F] + | [#x2C00-#x2FEF] + | [#x3001-#xD7FF] + | [#xF900-#xFDCF] + | [#xFDF0-#xFFFD] + | [#x10000-#xEFFFF] + NameChar = NameStartChar + | "-" + | "." + | [0-9] + | #xB7 + | [#x0300-#x036F] + | [#x203F-#x2040] + + + + + + Emits valid XML character data + + + + encodes all non-ASCII chars + + + + + Emits valid XML attribute character data + + + + encodes all non-ASCII chars + + + + Gets and sets a value indicating if should emit canonical form + + + http://www.w3.org/TR/xml-c14n + + + + + Gets and sets a value indicating how should emit empty attributes + + + + + Gets and sets a value indicating if should encode text chars above the ASCII range + + + This option can help when the output is being embedded within an unknown encoding + + + + + HTML-style empty attributes do not emit a quoted string + + + http://www.w3.org/TR/html5/syntax.html#attributes-0 + + + + + XHTML-style empty attributes repeat the attribute name as its value + + + http://www.w3.org/TR/xhtml-media-types/#C_10 + http://www.w3.org/TR/xhtml1/#C_10 + http://www.w3.org/TR/html5/the-xhtml-syntax.html + + + + + XML-style empty attributes emit an empty quoted string + + + http://www.w3.org/TR/xml/#sec-starttags + + + + + Generates a sequence of tokens from a generalized model of markup text (e.g. HTML, XML, JBST, ASPX/ASCX, ASP, JSP, PHP, etc.) + + + This generates a stream of tokens like StAX (Streaming API for XML) + Unlike XML, this follows a more permissive markup format with automatic recovery most similar to HTML5. + + + + + Generates a sequence of tokens from a sequence of characters + + token type + + + + Tokenizes the input sequence into tokens + + + + + + + Tokenizes the input sequence into tokens + + + + + + + Gets the current column of the underlying input character sequence + + + Tokenizers not tracking columns should return -1. + + + + + Gets the current line of the underlying input character sequence + + + Tokenizers not tracking lines should return -1. + + + + + Gets the current position of the underlying input character sequence + + + Tokenizers not tracking index should return -1. + + + + + Decodes HTML-style entities into special characters + + + the entity text + + TODO: validate against HTML5-style entities + http://www.w3.org/TR/html5/tokenization.html#consume-a-character-reference + + + + + Decodes most known named entities + + + + + + + Checks for element start char + + + + + http://www.w3.org/TR/xml/#sec-common-syn + + + + + Checks for element name char + + + + + http://www.w3.org/TR/xml/#sec-common-syn + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets and sets if should attempt to auto-balance mismatched tags. + + + + + Gets and sets if should unwrap comments inside . + + + For example, in HTML this would include "script" and "style" tags. + + + + + Gets and sets a set of tags which should not have their content parsed. + + + For example, in HTML this would include "script" and "style" tags. + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Ctor + + + + + Renders Common Model Tokens into a semantic HTML representation of the data structure + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + input token type + output token type + + + + Transforms the token sequence from to + + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + StringBuilder-like implementation built like List<char> + + + + + Ctor + + + + + Ctor + + + + + + Resets the buffer to an empty state + + + + + Appends a single char to the buffer + + + + + + + Appends a string value to the buffer + + + + + + + Copies the buffer value into a + + + + + + Gets the number of characters in the buffer + + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + Ctor + + + + + + + + Supports forward-only iteration over an input sequence of + + + + + Supports forward-only iteration over an input sequence of + + + + + Supports forward-only iteration over an input sequence + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered sequence chunk + + + + + + Determines if the sequence has completed. + + + + + Gets a value indicating if is currently capturing a sequence + + + + + Gets the number of items currently chunked + + + + + Factory method for generic streams + + + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Determines if the input sequence has reached the end + + + + + Ctor + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a list with ability to capture a subsequence + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered chunk + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Gets the number of characters currently chunked + + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a text input tracking line/column/position + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and writes the buffered text chunk into the provided StringBuilder + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Supports a simple iteration over a string tracking line/column/position + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Calculates index, line, and column statistics + + + + + Releases all resources used + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Gets the number of characters currently chunked + + + + + Gets a value indicating if the is currently chunking + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a TextReader tracking line/column/position + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Calculates index, line, and column statistics + + + + + + + Releases all resources used by the underlying reader + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Gets the number of characters currently chunked + + + + + Gets a value indicating if the is currently chunking + + + + + Determines if the input sequence has reached the end + + + + + Formal language of tokens and symbols for JSON + + + + + Designates a property or field to not be serialized. + + + + + Specifies the naming to use for a property or field when serializing + + + + + Ctor + + + + + Ctor + + + + + + Gets and sets the name to be used in serialization + + + + + JSON deserializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the supported content type of the serialized data + + + + + Generates a sequence of tokens from JSON text + + + + + Gets a token sequence from the scanner stream + + + + + + + Scans for the longest valid EcmaScript identifier + + identifier + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + IdentifierName = + IdentifierStart | IdentifierName IdentifierPart + IdentifierStart = + Letter | '$' | '_' + IdentifierPart = + IdentifierStart | Digit + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + It is an error for the next token to be a value delim + + + + + Forbidden but differentiates between empty array/object and just written + + + + + It is an error for the next token to NOT be a value delim + + + + + Specifies the name of the property which specifies if member should be serialized. + + + These properties can be marked private/protected/internal and it will still be recognized + + + + + Ctor + + the name of the property which controls serialization for this member + + + + Ctor + + the name of the property which controls serialization for this member + + + + Gets and sets the name of the property which + specifies if member should be serialized + + + + + Transforms markup tokens into Common Model tokens using the (lossless) JsonML model + + + JsonML Grammer: http://jsonml.org + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Determines how whitespace should be handled + + + + + Transforms Common Model tokens into markup tokens using the (lossless) JsonML model + + + JsonML Grammer: http://jsonml.org + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Controls name resolution for IDataReader / IDataWriter using JsonNameAttribute / JsonIgnoreAttribute / JsonPropertySpecifiedAttribute + + + This is the default strategy from JsonFx v1.0 + + + + + Controls name resolution for IDataReader / IDataWriter using plain old CLR object (POCO) names + + + + + Controls name resolution for IDataReader / IDataWriter + + + Provides an extensibility point to control member naming and visibility at a very granular level. + + + + + Gets a value indicating if the property is to be serialized. + + + + + + + + Gets a value indicating if the field is to be serialized. + + + + + + + Determines if the property or field should not be serialized. + + + + + + + + + Gets the serialized name for the member. + + + + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute + + This is useful when default values need not be serialized. + + + + + Gets the serialized name for the member. + + + + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute + + This is useful for excluding serialization of default values. + + + + + Gets the serialized name for the member. + + + + + + + Determines whitespace handling + + + + + Removes insignificant whitespace + + + + + Keep all whitespace + + + + + Condenses all whitespace to single spaces + + + + + Designates a type as being able to format itself to raw JSON text. + + + + + Ctor + + + + + Ctor + + + + + Gets and sets the starting delimiter + + + + + Gets and sets the ending delimiter + + + + + Gets and sets the context + + + + + Formal language of tokens and symbols for markup + + + + + Any of a number of unparsed tags which typically contain specialized processing instructions + + + The name of the token is the beginning and ending delimiters as a format string (not including the '<' or '>') + Includes the following types: + + "<!--", "-->" XML/HTML/SGML comment + "<!", ">" XML/SGML declaration (e.g. DOCTYPE or server-side includes) + + "<?=", "?>" PHP expression + "<?", "?>" PHP code block /XML processing instruction (e.g. the XML declaration) + + "<%--", "--%>" ASP/PSP/JSP-style code comment + "<%@", "%>" ASP/PSP/JSP directive + "<%=", "%>" ASP/PSP/JSP/JBST expression + "<%!", "%>" JSP/JBST declaration + "<%#", "%>" ASP.NET/JBST databind expression + "<%$", "%>" ASP.NET/JBST extension + "<%", "%>" ASP code block / JSP scriptlet / PSP code block + + + + + tokens + + + + + + + + + + + Maintains scope chain for namespace prefix mappings + + + + + Adds a new scope to the chain + + + + + + Gets the last scope off the chain + + + + + Gets and removes the last scope off the chain + + + + + + Finds the namespace URI for a given prefix within the curren scope chain + + + + + + + Finds the prefix for a given namespace URI within the curren scope chain + + + + + + + Checks if the matching begin tag exists on the stack + + + + + + Resets the internal state of the scope chain. + + + + + Looks up the prefix for the given namespace + + + + null if namespace is empty and no default prefix found + + + + Represents a scope boundary within a prefix scope chain + + + + + Returns if this scope boundary contains a mapping for a particular prefix + + + if this scope boundary contains a mapping for a particular prefix + + + + Returns if this scope boundary contains a mapping for a particular namespace + + + if this scope boundary contains a mapping for a particular namespace + + + + Returns if this scope boundary contains a mapping for a particular prefix + setting the namespace URI if one was found. + + + the resolved namespace URI + if this scope boundary contains a mapping for a particular prefix + + + + Returns if this scope boundary contains a mapping for a particular prefix + setting the prefix if one was found. + + + the resolved prefix + if this scope boundary contains a mapping for a particular prefix + + + + Gets and sets the tagname associated with this scope boundary + + + + + Gets and sets mappings between prefix and namespace URIs + + + + + + + Provides lookup capabilities for providers + + + + + Parses HTTP headers for Media-Types + + HTTP Accept header + HTTP Content-Type header + sequence of Media-Types + + http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html + + + + + + + + + + + + Controls name resolution for IDataReader / IDataWriter using convention-based name mapping + + + Converts standard .NET PascalCase naming convention into the specified naming convention. + http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx + http://msdn.microsoft.com/en-us/library/141e06ef.aspx + http://msdn.microsoft.com/en-us/library/xzf533w0.aspx + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the serialized name for the member. + + + + + + + Splits a multi-word name assuming standard .NET PascalCase conventions. + + + + + http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx + http://msdn.microsoft.com/en-us/library/141e06ef.aspx + http://msdn.microsoft.com/en-us/library/xzf533w0.aspx + + + + + + Ctor + + + + + + + + Ctor + + + + + + + Represents a property or document name, and a corresponding namespace URI (or empty string). + Analogous to XML "expanded name": http://www.w3.org/TR/REC-xml-names/#dt-expname + + + Namespaces must be a URI, but local-name can be any non-null string. + It is up to formatters to determine how to properly represent names which are invalid for the format. + + + + + local-name + + + + + alias for the namespace + + + + + namespace + + + + + Determines if name should be treated like an attribute + + + + + Ctor + + a CLR Type used to generate the local-name + + This constructor implicitly delcares the namespace to be empty. + + + + + Ctor + + any string is a valid local-name + + This constructor implicitly delcares the namespace to be empty. + + + + + Ctor + + any string is a valid local-name + an absolute URI string, or null + thrown if is null + thrown if is an invalid absolute URI + + The namespace field follows XML recommendation of absolute URIs. + Relative URIs are officially deprecated for namespaces: http://www.w3.org/2000/09/xppa + + + + + Ctor + + any string is a valid local-name + an absolute URI string, or null + determines if name should be an attribute name + thrown if is null + thrown if is an invalid absolute URI + + The namespace field follows XML recommendation of absolute URIs. + Relative URIs are officially deprecated for namespaces: http://www.w3.org/2000/09/xppa + + + + + Gets the local-name for a Type + + + + + + + Gets the prefixed name or simply local-name if is not a fully qualified name + + true to generate a prefix if the prefix is empty but not the namespace + + + + + Gets the namespaced name or simply local-name if is not a fully qualified name + + + + + + Compares two values and returns an indication of their relative sort order. + + + + + Performs ordering according to XML Canonicalization document order http://www.w3.org/TR/xml-c14n#DocumentOrder + "An element's namespace nodes are sorted lexicographically by local name (the default namespace node, if one exists, has no local name and is therefore lexicographically least)." + "An element's attribute nodes are sorted lexicographically with namespace URI as the primary key and local name as the secondary key (an empty namespace URI is lexicographically least)." + + + + + Determines if this is an empty DataName + + + + + Indicates a graph cycle was detected during serialization + + + + + Indicates an error occurred during serialization + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the type of cycle which caused the error + + + + + Graph cycles are detected with a reference tracking, any repeated reference results in a null value + + + + + Graph cycles are detected with a reference tracking, any repeated reference results in an error + + + + + Graph cycles are detected with a maximum depth count, exceeding depth results in an error + + + + + Detects graph cycles by tracking graph depth + + + + + Defines an interface for detecting graph cycles + + + + + Begins tracking of the reference + + + true if graph cycle was detected + + + + Ends tracking of the reference + + + true if tracking was successfully completed + + + + Ctor + + + + + + Increments the depth + + + true if MaxDepth has not been exceeded + + + + Increments the depth + + + + + + Detects cycles by detecting duplicates in the a set of object references + + + + + Adds a reference to the set + + + true if object already existed within set + + + + Removes a reference from the set + + + + + + Controls deserialization settings for IDataReader + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Gets and sets if ValueTypes can accept values of null + + + If this is true and a ValueType T is assigned the value of null, + it will receive the value of default(T). + Setting this to false, throws an exception if null is + specified for a ValueType member. + + + + + Gets and sets if should verify that stream is empty after deserialzing each object + + + Setting to true allows reading a JSON stream inside other structures (e.g. JavaScript) + + + + + Gets manager of name resolution for IDataReader + + + + + Gets the custom filters + + + + + Controls the serialization settings for IDataWriter + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Gets and sets what to do when graph cycles (repeated references) are encounted + + + + + Gets and sets the maximum nesting depth + + + Depth is a fast and easy safegaurd against detecting graph cycles but may produce false positives + + + + + Gets and sets if output will be formatted for human reading. + + + + + Gets and sets the string to use for indentation + + + + + Gets and sets the line terminator string + + + + + Gets manager of name resolution for IDataReader + + + + + Gets the custom filters + + + + + Indicates an error occurred during deserialization + + + + + Ctor + + + + + + + Ctor + + + + + + + + + Ctor + + + + + + + + Ctor + + + + + + + + Helper method which converts the index into Line and Column numbers + + + + + + + + Gets the character column in the stream where the error occurred + + + + + Gets the character position in the stream where the error occurred + + + + + Gets the character line in the stream where the error occurred + + + + + Indicates an error occurred during token consumption + + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the token in the sequence where the error occurred + + + + + Indicates an error occurred during type coercion + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Provides lookup capabilities for finding matching IDataReader + + + + + Provides lookup capabilities for finding matching IDataReader + + + + + Ctor + + inject with all possible readers + + + + Finds an IDataReader by content-type header + + + + + + + Provides lookup capabilities for finding an IDataWriter + + + + + Provides lookup capabilities for finding an IDataWriter + + + + + Ctor + + inject with all possible writers + + + + Controls name resolution for IDataReader / IDataWriter by using pluggable delegate callbacks + + + + + Gets and sets the implementation for ignoring properties + + + + + Gets and sets the implementation for ignoring fields + + + + + Gets and sets the implementation for ignoring properties by value + + + + + Gets and sets the implementation for naming members + + + + + Gets and sets the implementation for sorting members + + + + + Controls name resolution for IDataReader / IDataWriter by combining an ordered sequence of any other strategies + + + Each strategy is invoked in order, the first to respond wins. + + + + + Ctor + + ordered sequence of strategies + + + + Ctor + + ordered sequence of strategies + + + + Gets a value indicating if the property is to be serialized. + + + + true if any strategy specifies should be ignored + + + + Gets a value indicating if the field is to be serialized. + + + true if any strategy specifies should be ignored + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + true if any strategy specifies this should be ignored + + + + Gets the serialized name for the member. + + + + custom name if any strategy specifies one, otherwise null + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Controls name resolution for IDataReader / IDataWriter using DataContract attributes + + + http://msdn.microsoft.com/en-us/library/kd1dc9w5.aspx + + + + + CCtor + + + + + Gets a value indicating if the property is to be serialized. + + + + + + + + Gets a value indicating if the field is to be serialized. + + + + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + + + + + Gets the serialized name for the member. + + + + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + + + + + The original member info + + + + + The original member name + + + + + The member data name + + + + + The member type + + + + + The getter method + + + + + The setter method + + + + + The logic for determining if a value is ignored + + + + + Determines if map name is alternate (i.e. only used for deserialization) + + + + + Ctor + + MemberMap to clone + alternate name + + + + Ctor + + + + + + + + Ctor + + + + + + + + Ctor + + + + + Gets a sequence of the available factory arguments + + + + + Gets the factory associated with the given argument type + + + + + + + Cache of name resolution mappings for IDataReader / IDataWriter + + + + + Ctor + + + + + + Gets the serialized name of the class + + + + + + + Removes any cached member mappings. + + + + + Builds a mapping of member name to field/property + + + + + + Represents a single immutable token in an input sequence + + + + + The type of the token + + + + + The name of the token + + + + + The value of the token + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Ctor + + + + + + + Returns a string that represents the current token. + + + + + + Gets the value of the token as a string + + + + + + Converts a value to a string giving opportunity for IConvertible, IFormattable + + + + + + + Converts token to a token of a different type + + + token with same values and different type + + + + Type Coercion Utility + + + + + Ctor + + + + + + + Ctor + + + + + + + Instantiates a new instance of objectType. + + + objectType instance + + + + Instantiates a new instance of objectType. + + + objectType instance + + + + Helper method to set value of a member. + + + + + + + + + + Coerces the object value to Type + + + + + + + + Coerces the object value to Type of + + + + + + + + Populates the properties of an object with the dictionary values. + + + + + + + + Populates the properties of an object with the dictionary values. + + + + + + + + Coerces an sequence of items into an array of Type elementType + + + + + + + + Finds a suitable concrete class for common collection interface types + + + + + + + Allows specific IDictionary<string, TVal> to deserialize as TVal + + IDictionary<string, TVal> Type + TVal Type + + + + Returns a common type which can hold previous values and the new value + + + + + + + + Determines if type can be assigned a null value. + + + + + + + Gets the attribute T for the given value. + + + Attribute Type + true if defined + + + + Gets the attribute of Type for the given value. + + + true if defined + + + + Gets the attribute T for the given value. + + + Attribute Type + requested attribute or not if not defined + + + + Gets the attribute of Type for the given value. + + + requested attribute or not if not defined + + + + Character Utility + + + These are either simpler definitions of character classes (e.g. letter is [a-zA-Z]), + or they implement platform-agnositic checks (read: "Silverlight workarounds"). + + + + + Checks if string is null, empty or entirely made up of whitespace + + + + + Essentially the same as String.IsNullOrWhiteSpace from .NET 4.0 + with a simplfied view of whitespace. + + + + + Checks if character is line ending, tab or space + + + + + + + + + + + + + + Checks if character matches [A-Za-z] + + + + + + + Checks if character matches [0-9] + + + + + + + Checks if character matches [0-9A-Fa-f] + + + + + + + Gets a 4-bit number as a hex digit + + 0-15 + + + + + Formats a number as a hex digit + + + + + + + Converts the value of a UTF-16 encoded character or surrogate pair at a specified + position in a string into a Unicode code point. + + + + + + + + Converts the specified Unicode code point into a UTF-16 encoded string. + + + + + + + XML serializer + + + XML serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets a tokenizer for XML + + + + + + Gets the supported content type for the serialized data + + + + + Transforms markup tokens into Common Model tokens using an XML-data model + + + + + Ctor + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + + Ctor + + + + + Ctor + + + + + + Gets a token sequence from the string + + + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the XmlReader + + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + XML serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the formatter for XML + + + + + + + Gets the supported content type for the serialized data + + + + + Gets the supported file extension for the serialized data + + + + + Transforms Common Model tokens into markup tokens using an XML-data model + + + + + Ctor + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + Outputs XML text from an input stream of tokens + + + + + Ctor + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Formats the token sequence to the writer + + + + + + + Wraps an XmlWriter as a TextWriter + + + + + Ctor + + + + + + Gets the underlying XmlWriter + + + + + Controls name resolution for IDataReader / IDataWriter using attributes and conventions similar to XmlSerializer semantics + + + http://msdn.microsoft.com/en-us/library/83y7df3e.aspx + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute or has a property named XXXSpecified which determines visibility + + This is useful when default values need not be serialized. + Under these situations XmlSerializer ignores properties based upon value: + - DefaultValue: http://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute.aspx + - Specified Properies: http://msdn.microsoft.com/en-us/library/bb402199.aspx + - ShouldSerialize Methods: http://msdn.microsoft.com/en-us/library/53b8022e.aspx + + + + + Gets the serialized name for the member. + + + + + + + Sorts members to ensure proper document order where attributes precede all child elements. + + + + + Performs the first stage of XML Canonicalization document order http://www.w3.org/TR/xml-c14n#DocumentOrder + "An element's namespace and attribute nodes have a document order position greater than the element but less than any child node of the element." + + + + + Generates delegates for getting/setting properties and field and invoking constructors + + + + + Creates a field getter delegate for the specified property or field + + PropertyInfo or FieldInfo + GetterDelegate for property or field, null otherwise + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field setter delegate for the specified property or field + + PropertyInfo or FieldInfo + SetterDelegate for property or field, null otherwise + + + + Creates a property getter delegate for the specified property + + + GetterDelegate if property CanRead, otherwise null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a property setter delegate for the specified property + + + GetterDelegate if property CanWrite, otherwise null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field getter delegate for the specified field + + + GetterDelegate which returns field unless is enum in which will return enum value + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field setter delegate for the specified field + + + SetterDelegate unless field IsInitOnly then returns null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a proxy delegate accepting a target instance and corresponding arguments + + method to proxy + ProxyDelegate or null if cannot be invoked + + Note: use with caution this method will expose private and protected methods without safety checks. + + + + + Creates a default constructor delegate + + type to be created + FactoryDelegate or null if default constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a constructor delegate accepting specified arguments + + type to be created + constructor arguments type list + FactoryDelegate or null if constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a constructor delegate accepting specified arguments + + type to be created + constructor arguments type list + FactoryDelegate or null if constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + diff --git a/packages/JsonFx.2.0.1106.2610/lib/sl40/JsonFx.dll b/packages/JsonFx.2.0.1106.2610/lib/sl40/JsonFx.dll new file mode 100644 index 0000000..31ebc9d Binary files /dev/null and b/packages/JsonFx.2.0.1106.2610/lib/sl40/JsonFx.dll differ diff --git a/packages/JsonFx.2.0.1106.2610/lib/sl40/JsonFx.xml b/packages/JsonFx.2.0.1106.2610/lib/sl40/JsonFx.xml new file mode 100644 index 0000000..08dadc4 --- /dev/null +++ b/packages/JsonFx.2.0.1106.2610/lib/sl40/JsonFx.xml @@ -0,0 +1,4842 @@ + + + + JsonFx + + + + + JsonFx metadata + + + + + Ctor + + + + + + Outputs BSON bytes from an input stream of tokens + + + + + Outputs text from an input stream of JSON tokens + + token type + + + + Formats the token sequence to the output writer + + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the output writer + + + + + + + Emits a document (or array) to the binary stream + + + + number of bytes written + + + + Emits a single element to the binary stream + + + + + number of bytes written + + + + Emits a string value + + + + number of bytes written + + + + Emits a binary value + + + + number of bytes written + + + + Emits a code_w_s value + + + + number of bytes written + + + + Generates a sequence of tokens from BSON bytes + + + + + Generates a sequence of tokens from a sequence of characters + + token type + + + + Tokenizes the input sequence into tokens + + + + + + + Tokenizes the input sequence into tokens + + + + + + + Gets the current position of the underlying input character sequence + + + Tokenizers not tracking index should return -1. + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets a token sequence from the reader + + + + + + + Gets the current position of the underlying stream + + + + + BSON MD5 Datatype + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Converts MD5 to Guid + + + + + + + + Converts MD5 to Guid + + + + + + + Gets the hashcode of the underlying Guid + + + + + + BSON JavaScript Code With Scope Datatype + + + + + BSON JavaScript Code Datatype + + + + + Ctor + + + + + + Converts JavaScriptCode to string + + + + + + + + Converts JavaScriptCode to string + + + + + + + Gets the hashcode of the underlying string + + + + + + BSON Symbol Datatype + + + + + Ctor + + + + + + Converts Symbol to string + + + + + + + + Converts Symbol to string + + + + + + + Gets the hashcode of the underlying string + + + + + + BSON DBPointer Datatype (Deprecated) + + + + + Immutable BSON ObjectID Datatype + + + http://www.mongodb.org/display/DOCS/Object+IDs#ObjectIDs-TheBSONObjectIdDatatype + + + + + Ctor + + 12-byte object ID + + + + Ctor + + 4-byte seconds since Unit epoch + 3-byte machine ID + 2-byte process ID + 3-byte counter + + + + Converts an ObjectID to a hex string + + + + + + + Converts a hex string to an ObjectID + + + + + + + Converts an ObjectID to a byte array + + + + + + + Converts a byte array to an ObjectID + + + + + + + Gets the hashcode of the underlying string + + + + + + Gets the time associated with this ObjectID + + + + + Gets the machine id associated with this ObjectID + + + + + Gets the process id associated with this ObjectID + + + + + Gets the counter associated with this ObjectID + + + + + Generic binary holder + + + http://api.mongodb.org/java/2.0/org/bson/types/Binary.html + + + + + Ctor + + binary type code + byte date + + + + Converts an ObjectID to a hex string + + + + + + + Converts a hex string to an ObjectID + + + + + + + Converts an ObjectID to a byte array + + + + + + + Converts a byte array to an ObjectID + + + + + + + Gets the hashcode of the underlying string + + + + + + Gets a 4-bit number as a hex digit + + 0-15 + + + + + Gets the binary type code + + + + + Gets the binary type code + + + + + Gets the byte at the given index + + + + + Gets the length of the binary data + + + + + Designates a type as being able to format itself to raw BSON bytes + + + + + Designates a type as being able to format itself to raw bytes + + + + + Writes custom format to the output using either tokens or bytes + + + + total number of bytes written + + + + Determines the corresponding BSON element type + + + + + + Generalized delegate for invoking a constructor + + + + + + + Generalized delegate for invoking a method + + the instance object + the method parameters + + + + + Generalized delegate for getting a field or property value + + + + + + + Generalized delegate for setting a field or property value + + + + + + + Consumes a sequence of tokens to produce an object graph optionally coerced to a given type + + + + + Consumes a sequence of tokens to produce a sequence of objects, optionally coerced to a given type + + token type + + + + Parses the token sequence + + + + + + + Parses the token sequence, optionally coercing the result to Type targetType + + + optional type for coercion (null if not specified) + + + + + Parses the token sequence, coercing the result to Type TResult + + optional type for coercion (null if not specified) + + + + + + Parses the token stream coercing the result to TResult (type inferred from ) + + + + an example value used solely for Type inference + + + + + Ctor + + + + + + Parses the token stream coercing the result targetType + + + + + + + Parses the token stream coercing the result to targetType + + + + + + + + Parses the token stream coercing the result to TResult + + the result target type + + + + + + Parses the token stream coercing the result to TResult (inferred from ) + + + + an example value used solely for Type inference + + + + + Common Model Language grammar helper + + + Simplifies and guides syntax, and provides a set of reusable tokens to reduce redundant token instantiations + + + + + Marks the beginning of an array + + the local name of the array + ArrayBegin Token + + + + Marks the beginning of an array + + the local name of the array + the namespace of the document + ArrayBegin Token + + + + Marks the beginning of an array + + the name of the array + ArrayBegin Token + + + + Marks the beginning of an object + + the local name of the object + ObjectBegin Token + + + + Marks the beginning of an object + + the name of the object + ObjectBegin Token + + + + Marks the beginning of an object property + + the local name of the property + PropertyKey Token + + + + Marks the beginning of an object property + + the local name of the property + PropertyKey Token + + + + Marks the beginning of an object property + + the name of the property + PropertyKey Token + + + + A simple scalar value (typically serialized as a single primitive value) + + + Value Token + + + + Provides base implementation for standard deserializers + + + Provides base implementation for standard deserializers + + + This partial class adds LINQ capabilities to the reader. + + + + + Provides base implementation for standard deserializers + + + + + A common interface for data deserializers + + + + + Deserializes a single object from the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Deserializes a single object from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + + + + Deserializes a single object from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a potentially endless sequence of objects from a stream source + + + + + character stream => token stream => object stream + + + + + Gets the supported content type of the serialized data + + + + + Gets the settings used for deserialization + + + + + Ctor + + + + + + Deserializes the data from the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input reader + + + + Deserializes the data from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + + + + Deserializes the data from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a potentially endless sequence of objects from a stream source + + a streamed source of objects + a sequence of objects + + character stream => token stream => object stream + + + + + Gets the supported content type of the serialized data + + + + + Gets the settings used for deserialization + + + + + A common interface for querying data readers + + + + + Begins a query of the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Ctor + + + + + + Begins a query of the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Begins a query of the given input + + the input reader + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Begins a query of the given input + + the input text + + + + Begins a query of the given input + + the input text + the expected type of the serialized data + + + + Extension methods for selecting subsequences of sequences of tokens + + + + + Determines if the sequence represents a primitive + + + + + + + Determines if the sequence represents an object + + + + + + + Determines if the root object has any properties which satisfies the name + + + + true if any properties match the predicate + + + + Gets all properties of the root object + + + + all properties for the object + + + + Gets all properties of the root object + + + + all properties for the object + + + + Gets the properties of the root object which satisfies the + + + + matching properties for the root object + + + + Gets the properties of the root object which satisfies the + + + + matching properties for the root object + + + + Determines if the sequence represents an array + + + + + + + Gets all the items of the array + + + all items of the array + + + + Gets the items of the root array with indexes satisfying the + + + + items of the root array which statisfy the predicate + + + + ArrayItems iterator + + + + + + + + Gets all descendant values below the current root + + + + + + + Descendants iterator + + + + + + + Gets all descendant values below the current root, as well as the current root + + + + + + + DescendantsAndSelf iterator + + + + + + + Covers the sitation where a stream of sequences may be back to back + + + + + + + Splices out the sequence for the next complete value (object, array, primitive) + + + + + + + Splices out the sequence for the next complete value (object, array, primitive) + + + + + + + Skips over the next complete value (object, array, primitive) + + + + + + + Common Model Language tokens + + + + + + + + + + + + Generates a sequence of tokens from an object graph + + + + + Generates a sequence of tokens from an object graph + + token type + + + + Generates a sequence of tokens representing the value + + + + + + + Ctor + + + + + + Generates a sequence of tokens representing the value + + + + + + + Allows a mechanism for manipulating JSON serialization + + Defines the type this filter reads/writes + + + + Partially implements an IDataFilter + + + + + Allows a mechanism for manipulating serialization + + Defines the type of token stream this filter understands + Defines the type this filter reads/writes + + + + Allows a mechanism for manipulating serialization + + Defines the type of token stream this filter understands + + + + Allows a class to act as a factory for a type via input Token<T> sequence + + input tokens + + true if value was generated + + + + Allows a class to serialize a type as Token<T> sequence + + + + true if value was consumed + + + + Allows a class to act as a factory for a type via input Token<T> sequence + + input tokens + + true if value was generated + + + + Allows a class to serialize a type as Token<T> sequence + + + + true if value was consumed + + + + Defines a filter for JSON-style serialization of DateTime into ISO-8601 string + + + This is the format used by EcmaScript 5th edition Date.prototype.toJSON(...): + http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf + http://www.w3.org/TR/NOTE-datetime + http://en.wikipedia.org/wiki/ISO_8601 + + NOTE: This format limits expressing DateTime as either UTC or Unspecified. Local (i.e. Server Local) is converted to UTC. + + + + + Converts a ISO-8601 string to the corresponding DateTime representation + + ISO-8601 conformant date + UTC or Unspecified DateTime + true if parsing was successful + + + + Converts a DateTime to the corresponding ISO-8601 string representation + + + ISO-8601 conformant date + + + + Determines the precision of fractional seconds. + Defaults to EcmaScript precision of milliseconds. + + + + + Defines the precision of fractional seconds in ISO-8601 dates + + + + + Defines a filter for JSON-style serialization of DateTime into an ASP.NET Ajax Date string. + + + This is the format used by Microsoft ASP.NET Ajax: + http://weblogs.asp.net/bleroy/archive/2008/01/18/dates-and-json.aspx + + NOTE: This format is limited to expressing DateTime at the millisecond level as UTC only. + The WCF extension of adding a timezone is ignored as this returns UTC dates only. + + + + + Converts an ASP.NET Ajax date string to the corresponding DateTime representation + + ASP.NET Ajax date string + + true if parsing was successful + + + + Converts a DateTime to the corresponding ASP.NET Ajax date string representation + + + ASP.NET Ajax date string + + + + Provides base implementation for standard serializers + + + + + Provides base implementation of standard serializers + + + + + A common interface for data serializers + + + + + Serializes the data to the given output + + the output writer + the data to be serialized + + + + Serializes the data to the given output + + the data to be serialized + the serialized data + + + + Gets the content encoding for the serialized data + + + + + Gets the supported content types for the serialized data + + + + + Gets the supported file extensions for the serialized data + + + + + Gets the settings used for serialization + + + + + Ctor + + + + + + Serializes the data to the given output + + the data to be serialized + the output writer + + + + Serializes the data to the given output + + the data to be serialized + the serialized data + + + + Gets the walker for this DataWriter + + + + + + + Gets the formatter for this DataWriter + + + + + + + Gets the content encoding for the serialized data + + + + + Gets the supported content types for the serialized data + + + + + Gets the supported file extensions for the serialized data + + + + + Gets the settings used for serialization + + + + + Ctor + + + + + + Gets a walker for JSON + + + + + + + Gets the content encoding for the serialized data + + + + + Represents an ECMAScript identifier for serialization. + + + + + Designates a type as being able to format itself to raw text + + + + + Writes custom format to the output using either tokens or text + + + + + + + Ctor + + + + + Ctor + + + + + + Verifies is a valid EcmaScript identifier + + the identifier + identifier + + + + Verifies is a valid EcmaScript identifier + + the identifier + identifier + + + + Verifies is a valid EcmaScript variable expression + + the identifier + identifier + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + IdentifierName = + IdentifierStart | IdentifierName IdentifierPart + IdentifierStart = + Letter | '$' | '_' + IdentifierPart = + IdentifierStart | Digit + + + + + Trivial conversion method. Essentially performs a cast. + + + + + Supports conversion via System.Web.UI.PropertyConverter.ObjectFromString(Type, MemberInfo, string) + + + + + Implicit type conversion allows to be used directly as a String + + valid ECMAScript identifier + + + + + Implicit type conversion allows to be used directly with Strings + + valid ECMAScript identifier + + + + + Returns the identifier + + + + + + Compares identifiers + + + + + + + Returns the hash code for the identifier + + + + + + Gets the ECMAScript identifier represented by this instance + + + + + Formats data as full ECMAScript objects, rather than the limited set of JSON objects. + + + + + Outputs JSON text from an input stream of tokens + + + + + Outputs text from an input stream of JSON tokens + + token type + + + + Formats the token sequence to the output writer + + + + + + + Formats the token sequence as a string + + + + + + JSON serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the formatter for JSON + + + + + + + Gets the supported content type for the serialized data + + + + + Gets the supported file extension for the serialized data + + + + + Outputs JSON text from an input stream of tokens + + + + + Ctor + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Converts an object to its string representation + + + + + + + Converts an enum to its string representation + + + + + + + Splits a bitwise-OR'd set of enums into a list. + + the enum type + the combined value + list of flag enums + + from PseudoCode.EnumHelper + + + + + Determines if a numeric value cannot be represented as IEEE-754. + + + + + http://stackoverflow.com/questions/1601646 + + + + + Gets and sets if '<' should be encoded in strings + Useful for when emitting directly into page + + + + + Ctor + + + + Defaults to encoding < chars for improved embedding within script blocks + + + + + Emits a block of script ensuring that a namespace is declared + + the output writer + the namespace to ensure + list of namespaces already emitted + determines if should emit pretty-printed + if was a namespaced identifier + + + + Outputs a .NET Regex as an ECMAScript RegExp literal. + Defaults to global matching off. + + + + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + + + + Outputs a .NET Regex as an ECMAScript RegExp literal. + + + + + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + + + + Defines a strategy for filtering HTML tags/attributes/styles/literals + + + + + Filters tags, optionally allowing altering of tag + + tag name + if true tag should be rendered + + + + Filters attributes, optionally allowing altering of attribute value + + tag name + attribute name + attribute value + if true attribute should be rendered + + + + Filters styles, optionally allowing altering of style value + + tag name + style name + style value + if true style should be rendered + + + + Filters literals, optionally allowing replacement of literal value + + the literal value + if true should be rendered + + + + Provides a mechanism for filtering HTML streams based upon a tag taxonomy + + + + + Determines if is "void" (i.e. "empty" or "full") tag + + lowercase tag name + if is a void tag + + http://www.w3.org/TR/html5/semantics.html + http://www.w3.org/TR/html401/index/elements.html + http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#sec_5.2. + http://www.w3.org/TR/WD-html40-970917/index/elements.html + + + + + Determines if the tag is required to be closed + + lowercase tag name + if closing tag is optional + + http://www.w3.org/TR/html5/semantics.html + http://www.w3.org/TR/html401/index/elements.html + http://www.w3.org/TR/WD-html40-970917/index/elements.html + + + + + Categorizes the tag for heuristics about markup type + + lowercase tag name + the box type for a particular element + + http://www.w3.org/TR/html5/semantics.html + + + + + Defines a prioritized taxonomy of tags + + + The types are enumerated in ascending levels of risk for use in filtering HTML input + + + + + Literal text, no tags + + + + + Inline character level elements and text strings + + + Tags of this type typically do not disrupt the text flow + + + + + style elements + + + Tags of this type change the visual appearance of text + + + + + list elements + + + Tags of this type denote lists and typically change the text flow + + + + + Block-level elements + + + Tags of this type denote sections or change the text flow + + + + + Media elements + + + Tags of this type safely embed media content + + + + + Tabular elements + + + Tags of this type have a very specific structure and their own rendering model + + + + + Form elements + + + Tags of this type are used in the construction of forms for capturing user input + + + + + Script elements + + + Tags of this type represent a security risk to the containing document but must obey the browser security sandbox + + + + + Document elements + + + Tags of this type are used to construct the document itself + + + + + embedded elements + + + Tags of this type represent a large security risk to the containing document as plug-ins may circumvent the browser security sandbox + + + + + Unknown elements + + + + + Outputs markup text from an input stream of tokens + + + + + Ctor + + + + + + Resets the internal stack of elements + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Emits a valid XML local-name (i.e. encodes invalid chars including ':') + + + + + Explicitly escaping ':' to maintain compatibility with XML Namespaces. + From XML 1.0, 5th ed. http://www.w3.org/TR/xml/#sec-common-syn + Name = NameStartChar (NameChar)* + NameStartChar = ":" + | [A-Z] + | "_" + | [a-z] + | [#xC0-#xD6] + | [#xD8-#xF6] + | [#xF8-#x2FF] + | [#x370-#x37D] + | [#x37F-#x1FFF] + | [#x200C-#x200D] + | [#x2070-#x218F] + | [#x2C00-#x2FEF] + | [#x3001-#xD7FF] + | [#xF900-#xFDCF] + | [#xFDF0-#xFFFD] + | [#x10000-#xEFFFF] + NameChar = NameStartChar + | "-" + | "." + | [0-9] + | #xB7 + | [#x0300-#x036F] + | [#x203F-#x2040] + + + + + + Emits valid XML character data + + + + encodes all non-ASCII chars + + + + + Emits valid XML attribute character data + + + + encodes all non-ASCII chars + + + + Gets and sets a value indicating if should emit canonical form + + + http://www.w3.org/TR/xml-c14n + + + + + Gets and sets a value indicating how should emit empty attributes + + + + + Gets and sets a value indicating if should encode text chars above the ASCII range + + + This option can help when the output is being embedded within an unknown encoding + + + + + HTML-style empty attributes do not emit a quoted string + + + http://www.w3.org/TR/html5/syntax.html#attributes-0 + + + + + XHTML-style empty attributes repeat the attribute name as its value + + + http://www.w3.org/TR/xhtml-media-types/#C_10 + http://www.w3.org/TR/xhtml1/#C_10 + http://www.w3.org/TR/html5/the-xhtml-syntax.html + + + + + XML-style empty attributes emit an empty quoted string + + + http://www.w3.org/TR/xml/#sec-starttags + + + + + Generates a sequence of tokens from a generalized model of markup text (e.g. HTML, XML, JBST, ASPX/ASCX, ASP, JSP, PHP, etc.) + + + This generates a stream of tokens like StAX (Streaming API for XML) + Unlike XML, this follows a more permissive markup format with automatic recovery most similar to HTML5. + + + + + Generates a sequence of tokens from a sequence of characters + + token type + + + + Tokenizes the input sequence into tokens + + + + + + + Tokenizes the input sequence into tokens + + + + + + + Gets the current column of the underlying input character sequence + + + Tokenizers not tracking columns should return -1. + + + + + Gets the current line of the underlying input character sequence + + + Tokenizers not tracking lines should return -1. + + + + + Gets the current position of the underlying input character sequence + + + Tokenizers not tracking index should return -1. + + + + + Decodes HTML-style entities into special characters + + + the entity text + + TODO: validate against HTML5-style entities + http://www.w3.org/TR/html5/tokenization.html#consume-a-character-reference + + + + + Decodes most known named entities + + + + + + + Checks for element start char + + + + + http://www.w3.org/TR/xml/#sec-common-syn + + + + + Checks for element name char + + + + + http://www.w3.org/TR/xml/#sec-common-syn + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets and sets if should attempt to auto-balance mismatched tags. + + + + + Gets and sets if should unwrap comments inside . + + + For example, in HTML this would include "script" and "style" tags. + + + + + Gets and sets a set of tags which should not have their content parsed. + + + For example, in HTML this would include "script" and "style" tags. + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Ctor + + + + + Renders Common Model Tokens into a semantic HTML representation of the data structure + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + input token type + output token type + + + + Transforms the token sequence from to + + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + StringBuilder-like implementation built like List<char> + + + + + Ctor + + + + + Ctor + + + + + + Resets the buffer to an empty state + + + + + Appends a single char to the buffer + + + + + + + Appends a string value to the buffer + + + + + + + Copies the buffer value into a + + + + + + Gets the number of characters in the buffer + + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + Ctor + + + + + + + + Supports forward-only iteration over an input sequence of + + + + + Supports forward-only iteration over an input sequence of + + + + + Supports forward-only iteration over an input sequence + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered sequence chunk + + + + + + Determines if the sequence has completed. + + + + + Gets a value indicating if is currently capturing a sequence + + + + + Gets the number of items currently chunked + + + + + Factory method for generic streams + + + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Determines if the input sequence has reached the end + + + + + Ctor + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a list with ability to capture a subsequence + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered chunk + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Gets the number of characters currently chunked + + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a text input tracking line/column/position + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and writes the buffered text chunk into the provided StringBuilder + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Supports a simple iteration over a string tracking line/column/position + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Calculates index, line, and column statistics + + + + + Releases all resources used + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Gets the number of characters currently chunked + + + + + Gets a value indicating if the is currently chunking + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a TextReader tracking line/column/position + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Calculates index, line, and column statistics + + + + + + + Releases all resources used by the underlying reader + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Gets the number of characters currently chunked + + + + + Gets a value indicating if the is currently chunking + + + + + Determines if the input sequence has reached the end + + + + + Formal language of tokens and symbols for JSON + + + + + Designates a property or field to not be serialized. + + + + + Specifies the naming to use for a property or field when serializing + + + + + Ctor + + + + + Ctor + + + + + + Gets and sets the name to be used in serialization + + + + + JSON deserializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the supported content type of the serialized data + + + + + Generates a sequence of tokens from JSON text + + + + + Gets a token sequence from the scanner stream + + + + + + + Scans for the longest valid EcmaScript identifier + + identifier + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + IdentifierName = + IdentifierStart | IdentifierName IdentifierPart + IdentifierStart = + Letter | '$' | '_' + IdentifierPart = + IdentifierStart | Digit + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + It is an error for the next token to be a value delim + + + + + Forbidden but differentiates between empty array/object and just written + + + + + It is an error for the next token to NOT be a value delim + + + + + Specifies the name of the property which specifies if member should be serialized. + + + These properties can be marked private/protected/internal and it will still be recognized + + + + + Ctor + + the name of the property which controls serialization for this member + + + + Ctor + + the name of the property which controls serialization for this member + + + + Gets and sets the name of the property which + specifies if member should be serialized + + + + + Transforms markup tokens into Common Model tokens using the (lossless) JsonML model + + + JsonML Grammer: http://jsonml.org + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Determines how whitespace should be handled + + + + + Transforms Common Model tokens into markup tokens using the (lossless) JsonML model + + + JsonML Grammer: http://jsonml.org + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Controls name resolution for IDataReader / IDataWriter using JsonNameAttribute / JsonIgnoreAttribute / JsonPropertySpecifiedAttribute + + + This is the default strategy from JsonFx v1.0 + + + + + Controls name resolution for IDataReader / IDataWriter using plain old CLR object (POCO) names + + + + + Controls name resolution for IDataReader / IDataWriter + + + Provides an extensibility point to control member naming and visibility at a very granular level. + + + + + Gets a value indicating if the property is to be serialized. + + + + + + + + Gets a value indicating if the field is to be serialized. + + + + + + + Determines if the property or field should not be serialized. + + + + + + + + + Gets the serialized name for the member. + + + + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute + + This is useful when default values need not be serialized. + + + + + Gets the serialized name for the member. + + + + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute + + This is useful for excluding serialization of default values. + + + + + Gets the serialized name for the member. + + + + + + + Determines whitespace handling + + + + + Removes insignificant whitespace + + + + + Keep all whitespace + + + + + Condenses all whitespace to single spaces + + + + + Designates a type as being able to format itself to raw JSON text. + + + + + Ctor + + + + + Ctor + + + + + Gets and sets the starting delimiter + + + + + Gets and sets the ending delimiter + + + + + Gets and sets the context + + + + + Formal language of tokens and symbols for markup + + + + + Any of a number of unparsed tags which typically contain specialized processing instructions + + + The name of the token is the beginning and ending delimiters as a format string (not including the '<' or '>') + Includes the following types: + + "<!--", "-->" XML/HTML/SGML comment + "<!", ">" XML/SGML declaration (e.g. DOCTYPE or server-side includes) + + "<?=", "?>" PHP expression + "<?", "?>" PHP code block /XML processing instruction (e.g. the XML declaration) + + "<%--", "--%>" ASP/PSP/JSP-style code comment + "<%@", "%>" ASP/PSP/JSP directive + "<%=", "%>" ASP/PSP/JSP/JBST expression + "<%!", "%>" JSP/JBST declaration + "<%#", "%>" ASP.NET/JBST databind expression + "<%$", "%>" ASP.NET/JBST extension + "<%", "%>" ASP code block / JSP scriptlet / PSP code block + + + + + tokens + + + + + + + + + + + Maintains scope chain for namespace prefix mappings + + + + + Adds a new scope to the chain + + + + + + Gets the last scope off the chain + + + + + Gets and removes the last scope off the chain + + + + + + Finds the namespace URI for a given prefix within the curren scope chain + + + + + + + Finds the prefix for a given namespace URI within the curren scope chain + + + + + + + Checks if the matching begin tag exists on the stack + + + + + + Resets the internal state of the scope chain. + + + + + Looks up the prefix for the given namespace + + + + null if namespace is empty and no default prefix found + + + + Represents a scope boundary within a prefix scope chain + + + + + Returns if this scope boundary contains a mapping for a particular prefix + + + if this scope boundary contains a mapping for a particular prefix + + + + Returns if this scope boundary contains a mapping for a particular namespace + + + if this scope boundary contains a mapping for a particular namespace + + + + Returns if this scope boundary contains a mapping for a particular prefix + setting the namespace URI if one was found. + + + the resolved namespace URI + if this scope boundary contains a mapping for a particular prefix + + + + Returns if this scope boundary contains a mapping for a particular prefix + setting the prefix if one was found. + + + the resolved prefix + if this scope boundary contains a mapping for a particular prefix + + + + Gets and sets the tagname associated with this scope boundary + + + + + Gets and sets mappings between prefix and namespace URIs + + + + + + + Provides lookup capabilities for providers + + + + + Parses HTTP headers for Media-Types + + HTTP Accept header + HTTP Content-Type header + sequence of Media-Types + + http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html + + + + + + + + + + + + Controls name resolution for IDataReader / IDataWriter using convention-based name mapping + + + Converts standard .NET PascalCase naming convention into the specified naming convention. + http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx + http://msdn.microsoft.com/en-us/library/141e06ef.aspx + http://msdn.microsoft.com/en-us/library/xzf533w0.aspx + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the serialized name for the member. + + + + + + + Splits a multi-word name assuming standard .NET PascalCase conventions. + + + + + http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx + http://msdn.microsoft.com/en-us/library/141e06ef.aspx + http://msdn.microsoft.com/en-us/library/xzf533w0.aspx + + + + + + Ctor + + + + + + + + Ctor + + + + + + + Represents a property or document name, and a corresponding namespace URI (or empty string). + Analogous to XML "expanded name": http://www.w3.org/TR/REC-xml-names/#dt-expname + + + Namespaces must be a URI, but local-name can be any non-null string. + It is up to formatters to determine how to properly represent names which are invalid for the format. + + + + + local-name + + + + + alias for the namespace + + + + + namespace + + + + + Determines if name should be treated like an attribute + + + + + Ctor + + a CLR Type used to generate the local-name + + This constructor implicitly delcares the namespace to be empty. + + + + + Ctor + + any string is a valid local-name + + This constructor implicitly delcares the namespace to be empty. + + + + + Ctor + + any string is a valid local-name + an absolute URI string, or null + thrown if is null + thrown if is an invalid absolute URI + + The namespace field follows XML recommendation of absolute URIs. + Relative URIs are officially deprecated for namespaces: http://www.w3.org/2000/09/xppa + + + + + Ctor + + any string is a valid local-name + an absolute URI string, or null + determines if name should be an attribute name + thrown if is null + thrown if is an invalid absolute URI + + The namespace field follows XML recommendation of absolute URIs. + Relative URIs are officially deprecated for namespaces: http://www.w3.org/2000/09/xppa + + + + + Gets the local-name for a Type + + + + + + + Gets the prefixed name or simply local-name if is not a fully qualified name + + true to generate a prefix if the prefix is empty but not the namespace + + + + + Gets the namespaced name or simply local-name if is not a fully qualified name + + + + + + Compares two values and returns an indication of their relative sort order. + + + + + Performs ordering according to XML Canonicalization document order http://www.w3.org/TR/xml-c14n#DocumentOrder + "An element's namespace nodes are sorted lexicographically by local name (the default namespace node, if one exists, has no local name and is therefore lexicographically least)." + "An element's attribute nodes are sorted lexicographically with namespace URI as the primary key and local name as the secondary key (an empty namespace URI is lexicographically least)." + + + + + Determines if this is an empty DataName + + + + + Indicates a graph cycle was detected during serialization + + + + + Indicates an error occurred during serialization + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the type of cycle which caused the error + + + + + Graph cycles are detected with a reference tracking, any repeated reference results in a null value + + + + + Graph cycles are detected with a reference tracking, any repeated reference results in an error + + + + + Graph cycles are detected with a maximum depth count, exceeding depth results in an error + + + + + Detects graph cycles by tracking graph depth + + + + + Defines an interface for detecting graph cycles + + + + + Begins tracking of the reference + + + true if graph cycle was detected + + + + Ends tracking of the reference + + + true if tracking was successfully completed + + + + Ctor + + + + + + Increments the depth + + + true if MaxDepth has not been exceeded + + + + Increments the depth + + + + + + Detects cycles by detecting duplicates in the a set of object references + + + + + Adds a reference to the set + + + true if object already existed within set + + + + Removes a reference from the set + + + + + + Controls deserialization settings for IDataReader + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Gets and sets if ValueTypes can accept values of null + + + If this is true and a ValueType T is assigned the value of null, + it will receive the value of default(T). + Setting this to false, throws an exception if null is + specified for a ValueType member. + + + + + Gets and sets if should verify that stream is empty after deserialzing each object + + + Setting to true allows reading a JSON stream inside other structures (e.g. JavaScript) + + + + + Gets manager of name resolution for IDataReader + + + + + Gets the custom filters + + + + + Controls the serialization settings for IDataWriter + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Gets and sets what to do when graph cycles (repeated references) are encounted + + + + + Gets and sets the maximum nesting depth + + + Depth is a fast and easy safegaurd against detecting graph cycles but may produce false positives + + + + + Gets and sets if output will be formatted for human reading. + + + + + Gets and sets the string to use for indentation + + + + + Gets and sets the line terminator string + + + + + Gets manager of name resolution for IDataReader + + + + + Gets the custom filters + + + + + Indicates an error occurred during deserialization + + + + + Ctor + + + + + + + Ctor + + + + + + + + + Ctor + + + + + + + + Ctor + + + + + + + + Helper method which converts the index into Line and Column numbers + + + + + + + + Gets the character column in the stream where the error occurred + + + + + Gets the character position in the stream where the error occurred + + + + + Gets the character line in the stream where the error occurred + + + + + Indicates an error occurred during token consumption + + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the token in the sequence where the error occurred + + + + + Indicates an error occurred during type coercion + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Provides lookup capabilities for finding matching IDataReader + + + + + Provides lookup capabilities for finding matching IDataReader + + + + + Ctor + + inject with all possible readers + + + + Finds an IDataReader by content-type header + + + + + + + Provides lookup capabilities for finding an IDataWriter + + + + + Provides lookup capabilities for finding an IDataWriter + + + + + Ctor + + inject with all possible writers + + + + Controls name resolution for IDataReader / IDataWriter by using pluggable delegate callbacks + + + + + Gets and sets the implementation for ignoring properties + + + + + Gets and sets the implementation for ignoring fields + + + + + Gets and sets the implementation for ignoring properties by value + + + + + Gets and sets the implementation for naming members + + + + + Gets and sets the implementation for sorting members + + + + + Controls name resolution for IDataReader / IDataWriter by combining an ordered sequence of any other strategies + + + Each strategy is invoked in order, the first to respond wins. + + + + + Ctor + + ordered sequence of strategies + + + + Ctor + + ordered sequence of strategies + + + + Gets a value indicating if the property is to be serialized. + + + + true if any strategy specifies should be ignored + + + + Gets a value indicating if the field is to be serialized. + + + true if any strategy specifies should be ignored + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + true if any strategy specifies this should be ignored + + + + Gets the serialized name for the member. + + + + custom name if any strategy specifies one, otherwise null + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Controls name resolution for IDataReader / IDataWriter using DataContract attributes + + + http://msdn.microsoft.com/en-us/library/kd1dc9w5.aspx + + + + + CCtor + + + + + Gets a value indicating if the property is to be serialized. + + + + + + + + Gets a value indicating if the field is to be serialized. + + + + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + + + + + Gets the serialized name for the member. + + + + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + + + + + The original member info + + + + + The original member name + + + + + The member data name + + + + + The member type + + + + + The getter method + + + + + The setter method + + + + + The logic for determining if a value is ignored + + + + + Determines if map name is alternate (i.e. only used for deserialization) + + + + + Ctor + + MemberMap to clone + alternate name + + + + Ctor + + + + + + + + Ctor + + + + + + + + Ctor + + + + + Gets a sequence of the available factory arguments + + + + + Gets the factory associated with the given argument type + + + + + + + Cache of name resolution mappings for IDataReader / IDataWriter + + + + + Ctor + + + + + + Gets the serialized name of the class + + + + + + + Removes any cached member mappings. + + + + + Builds a mapping of member name to field/property + + + + + + Represents a single immutable token in an input sequence + + + + + The type of the token + + + + + The name of the token + + + + + The value of the token + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Ctor + + + + + + + Returns a string that represents the current token. + + + + + + Gets the value of the token as a string + + + + + + Converts a value to a string giving opportunity for IConvertible, IFormattable + + + + + + + Converts token to a token of a different type + + + token with same values and different type + + + + Type Coercion Utility + + + + + Ctor + + + + + + + Ctor + + + + + + + Instantiates a new instance of objectType. + + + objectType instance + + + + Instantiates a new instance of objectType. + + + objectType instance + + + + Helper method to set value of a member. + + + + + + + + + + Coerces the object value to Type + + + + + + + + Coerces the object value to Type of + + + + + + + + Populates the properties of an object with the dictionary values. + + + + + + + + Populates the properties of an object with the dictionary values. + + + + + + + + Coerces an sequence of items into an array of Type elementType + + + + + + + + Finds a suitable concrete class for common collection interface types + + + + + + + Allows specific IDictionary<string, TVal> to deserialize as TVal + + IDictionary<string, TVal> Type + TVal Type + + + + Returns a common type which can hold previous values and the new value + + + + + + + + Determines if type can be assigned a null value. + + + + + + + Gets the attribute T for the given value. + + + Attribute Type + true if defined + + + + Gets the attribute of Type for the given value. + + + true if defined + + + + Gets the attribute T for the given value. + + + Attribute Type + requested attribute or not if not defined + + + + Gets the attribute of Type for the given value. + + + requested attribute or not if not defined + + + + Character Utility + + + These are either simpler definitions of character classes (e.g. letter is [a-zA-Z]), + or they implement platform-agnositic checks (read: "Silverlight workarounds"). + + + + + Checks if string is null, empty or entirely made up of whitespace + + + + + Essentially the same as String.IsNullOrWhiteSpace from .NET 4.0 + with a simplfied view of whitespace. + + + + + Checks if character is line ending, tab or space + + + + + + + + + + + + + + Checks if character matches [A-Za-z] + + + + + + + Checks if character matches [0-9] + + + + + + + Checks if character matches [0-9A-Fa-f] + + + + + + + Gets a 4-bit number as a hex digit + + 0-15 + + + + + Formats a number as a hex digit + + + + + + + Converts the value of a UTF-16 encoded character or surrogate pair at a specified + position in a string into a Unicode code point. + + + + + + + + Converts the specified Unicode code point into a UTF-16 encoded string. + + + + + + + XML serializer + + + XML serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets a tokenizer for XML + + + + + + Gets the supported content type for the serialized data + + + + + Transforms markup tokens into Common Model tokens using an XML-data model + + + + + Ctor + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + + Ctor + + + + + Ctor + + + + + + Gets a token sequence from the string + + + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the XmlReader + + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + XML serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the formatter for XML + + + + + + + Gets the supported content type for the serialized data + + + + + Gets the supported file extension for the serialized data + + + + + Transforms Common Model tokens into markup tokens using an XML-data model + + + + + Ctor + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + Outputs XML text from an input stream of tokens + + + + + Ctor + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Formats the token sequence to the writer + + + + + + + Wraps an XmlWriter as a TextWriter + + + + + Ctor + + + + + + Gets the underlying XmlWriter + + + + + Controls name resolution for IDataReader / IDataWriter using attributes and conventions similar to XmlSerializer semantics + + + http://msdn.microsoft.com/en-us/library/83y7df3e.aspx + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute or has a property named XXXSpecified which determines visibility + + This is useful when default values need not be serialized. + Under these situations XmlSerializer ignores properties based upon value: + - DefaultValue: http://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute.aspx + - Specified Properies: http://msdn.microsoft.com/en-us/library/bb402199.aspx + - ShouldSerialize Methods: http://msdn.microsoft.com/en-us/library/53b8022e.aspx + + + + + Gets the serialized name for the member. + + + + + + + Sorts members to ensure proper document order where attributes precede all child elements. + + + + + Performs the first stage of XML Canonicalization document order http://www.w3.org/TR/xml-c14n#DocumentOrder + "An element's namespace and attribute nodes have a document order position greater than the element but less than any child node of the element." + + + + + Ctor + + + + + + Ctor + + + + + + Generates delegates for getting/setting properties and field and invoking constructors + + + + + Creates a field getter delegate for the specified property or field + + PropertyInfo or FieldInfo + GetterDelegate for property or field, null otherwise + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field setter delegate for the specified property or field + + PropertyInfo or FieldInfo + SetterDelegate for property or field, null otherwise + + + + Creates a property getter delegate for the specified property + + + GetterDelegate if property CanRead, otherwise null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a property setter delegate for the specified property + + + GetterDelegate if property CanWrite, otherwise null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field getter delegate for the specified field + + + GetterDelegate which returns field unless is enum in which will return enum value + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field setter delegate for the specified field + + + SetterDelegate unless field IsInitOnly then returns null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a proxy delegate accepting a target instance and corresponding arguments + + method to proxy + ProxyDelegate or null if cannot be invoked + + Note: use with caution this method will expose private and protected methods without safety checks. + + + + + Creates a default constructor delegate + + type to be created + FactoryDelegate or null if default constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a constructor delegate accepting specified arguments + + type to be created + constructor arguments type list + FactoryDelegate or null if constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a constructor delegate accepting specified arguments + + type to be created + constructor arguments type list + FactoryDelegate or null if constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Represents a query across a data source + + + + + + Ctor + + + + + + Ctor + + + + + + + Returns a string representation of the query + + + + + + Gets the query expression + + + + + Gets the query return type + + + + + Gets the underlying provider + + + + + Ctor + + + + + + + Ctor + + + + + + + Extends the query to all descendants + + + + + Extends the query to all descendants + + + + + Gets all items of the array + + + + + Gets the items of the array with indexes satisfying the + + + + + + Filters to only objects with a particular property name defined + + + + + + Filters to a lookup of only the properties which match the predicate + + + + + + Filters to only arrays + + + + + + Filters to only objects + + + + + + Filters to only simple values + + + + + + Boiler-plate implementation + + + + + + Ctor + + + + + Ctor + + + + + + + + + + + Searches for subsequences found by the expression and rehydrates into objects with the analyzer + + + + + Ctor + + + + + Ctor + + + + + + + Ctor + + + + + + diff --git a/packages/JsonFx.2.0.1106.2610/lib/wp40/JsonFx.dll b/packages/JsonFx.2.0.1106.2610/lib/wp40/JsonFx.dll new file mode 100644 index 0000000..dec53f2 Binary files /dev/null and b/packages/JsonFx.2.0.1106.2610/lib/wp40/JsonFx.dll differ diff --git a/packages/JsonFx.2.0.1106.2610/lib/wp40/JsonFx.xml b/packages/JsonFx.2.0.1106.2610/lib/wp40/JsonFx.xml new file mode 100644 index 0000000..b939353 --- /dev/null +++ b/packages/JsonFx.2.0.1106.2610/lib/wp40/JsonFx.xml @@ -0,0 +1,4526 @@ + + + + JsonFx + + + + + JsonFx metadata + + + + + Ctor + + + + + + Outputs BSON bytes from an input stream of tokens + + + + + Outputs text from an input stream of JSON tokens + + token type + + + + Formats the token sequence to the output writer + + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the output writer + + + + + + + Emits a document (or array) to the binary stream + + + + number of bytes written + + + + Emits a single element to the binary stream + + + + + number of bytes written + + + + Emits a string value + + + + number of bytes written + + + + Emits a binary value + + + + number of bytes written + + + + Emits a code_w_s value + + + + number of bytes written + + + + Generates a sequence of tokens from BSON bytes + + + + + Generates a sequence of tokens from a sequence of characters + + token type + + + + Tokenizes the input sequence into tokens + + + + + + + Tokenizes the input sequence into tokens + + + + + + + Gets the current position of the underlying input character sequence + + + Tokenizers not tracking index should return -1. + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets a token sequence from the reader + + + + + + + Gets the current position of the underlying stream + + + + + BSON MD5 Datatype + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Converts MD5 to Guid + + + + + + + + Converts MD5 to Guid + + + + + + + Gets the hashcode of the underlying Guid + + + + + + BSON JavaScript Code With Scope Datatype + + + + + BSON JavaScript Code Datatype + + + + + Ctor + + + + + + Converts JavaScriptCode to string + + + + + + + + Converts JavaScriptCode to string + + + + + + + Gets the hashcode of the underlying string + + + + + + BSON Symbol Datatype + + + + + Ctor + + + + + + Converts Symbol to string + + + + + + + + Converts Symbol to string + + + + + + + Gets the hashcode of the underlying string + + + + + + BSON DBPointer Datatype (Deprecated) + + + + + Immutable BSON ObjectID Datatype + + + http://www.mongodb.org/display/DOCS/Object+IDs#ObjectIDs-TheBSONObjectIdDatatype + + + + + Ctor + + 12-byte object ID + + + + Ctor + + 4-byte seconds since Unit epoch + 3-byte machine ID + 2-byte process ID + 3-byte counter + + + + Converts an ObjectID to a hex string + + + + + + + Converts a hex string to an ObjectID + + + + + + + Converts an ObjectID to a byte array + + + + + + + Converts a byte array to an ObjectID + + + + + + + Gets the hashcode of the underlying string + + + + + + Gets the time associated with this ObjectID + + + + + Gets the machine id associated with this ObjectID + + + + + Gets the process id associated with this ObjectID + + + + + Gets the counter associated with this ObjectID + + + + + Generic binary holder + + + http://api.mongodb.org/java/2.0/org/bson/types/Binary.html + + + + + Ctor + + binary type code + byte date + + + + Converts an ObjectID to a hex string + + + + + + + Converts a hex string to an ObjectID + + + + + + + Converts an ObjectID to a byte array + + + + + + + Converts a byte array to an ObjectID + + + + + + + Gets the hashcode of the underlying string + + + + + + Gets a 4-bit number as a hex digit + + 0-15 + + + + + Gets the binary type code + + + + + Gets the binary type code + + + + + Gets the byte at the given index + + + + + Gets the length of the binary data + + + + + Designates a type as being able to format itself to raw BSON bytes + + + + + Designates a type as being able to format itself to raw bytes + + + + + Writes custom format to the output using either tokens or bytes + + + + total number of bytes written + + + + Determines the corresponding BSON element type + + + + + + Generalized delegate for invoking a constructor + + + + + + + Generalized delegate for invoking a method + + the instance object + the method parameters + + + + + Generalized delegate for getting a field or property value + + + + + + + Generalized delegate for setting a field or property value + + + + + + + Consumes a sequence of tokens to produce an object graph optionally coerced to a given type + + + + + Consumes a sequence of tokens to produce a sequence of objects, optionally coerced to a given type + + token type + + + + Parses the token sequence + + + + + + + Parses the token sequence, optionally coercing the result to Type targetType + + + optional type for coercion (null if not specified) + + + + + Parses the token sequence, coercing the result to Type TResult + + optional type for coercion (null if not specified) + + + + + + Parses the token stream coercing the result to TResult (type inferred from ) + + + + an example value used solely for Type inference + + + + + Ctor + + + + + + Parses the token stream coercing the result targetType + + + + + + + Parses the token stream coercing the result to targetType + + + + + + + + Parses the token stream coercing the result to TResult + + the result target type + + + + + + Parses the token stream coercing the result to TResult (inferred from ) + + + + an example value used solely for Type inference + + + + + Common Model Language grammar helper + + + Simplifies and guides syntax, and provides a set of reusable tokens to reduce redundant token instantiations + + + + + Marks the beginning of an array + + the local name of the array + ArrayBegin Token + + + + Marks the beginning of an array + + the local name of the array + the namespace of the document + ArrayBegin Token + + + + Marks the beginning of an array + + the name of the array + ArrayBegin Token + + + + Marks the beginning of an object + + the local name of the object + ObjectBegin Token + + + + Marks the beginning of an object + + the name of the object + ObjectBegin Token + + + + Marks the beginning of an object property + + the local name of the property + PropertyKey Token + + + + Marks the beginning of an object property + + the local name of the property + PropertyKey Token + + + + Marks the beginning of an object property + + the name of the property + PropertyKey Token + + + + A simple scalar value (typically serialized as a single primitive value) + + + Value Token + + + + Provides base implementation for standard deserializers + + + + + Provides base implementation for standard deserializers + + + + + A common interface for data deserializers + + + + + Deserializes a single object from the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input reader + the expected type of the serialized data + + + + Serializes the data to the given output + + the input reader + + + + Deserializes a single object from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a single object from the given input + + the input text + + + + Deserializes a single object from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a potentially endless sequence of objects from a stream source + + + + + character stream => token stream => object stream + + + + + Gets the supported content type of the serialized data + + + + + Gets the settings used for deserialization + + + + + Ctor + + + + + + Deserializes the data from the given input + + the input reader + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input reader + + + + Deserializes the data from the given input + + the input reader + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + a value used to trigger Type inference for (e.g. for deserializing anonymous objects) + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + the expected type of the serialized data + + + + Deserializes the data from the given input + + the input text + + + + Deserializes the data from the given input + + the input text + the expected type of the serialized data + + + + Deserializes a potentially endless sequence of objects from a stream source + + a streamed source of objects + a sequence of objects + + character stream => token stream => object stream + + + + + Gets the supported content type of the serialized data + + + + + Gets the settings used for deserialization + + + + + Ctor + + + + + + Extension methods for selecting subsequences of sequences of tokens + + + + + Determines if the sequence represents a primitive + + + + + + + Determines if the sequence represents an object + + + + + + + Determines if the root object has any properties which satisfies the name + + + + true if any properties match the predicate + + + + Gets all properties of the root object + + + + all properties for the object + + + + Gets all properties of the root object + + + + all properties for the object + + + + Gets the properties of the root object which satisfies the + + + + matching properties for the root object + + + + Gets the properties of the root object which satisfies the + + + + matching properties for the root object + + + + Determines if the sequence represents an array + + + + + + + Gets all the items of the array + + + all items of the array + + + + Gets the items of the root array with indexes satisfying the + + + + items of the root array which statisfy the predicate + + + + ArrayItems iterator + + + + + + + + Gets all descendant values below the current root + + + + + + + Descendants iterator + + + + + + + Gets all descendant values below the current root, as well as the current root + + + + + + + DescendantsAndSelf iterator + + + + + + + Covers the sitation where a stream of sequences may be back to back + + + + + + + Splices out the sequence for the next complete value (object, array, primitive) + + + + + + + Splices out the sequence for the next complete value (object, array, primitive) + + + + + + + Skips over the next complete value (object, array, primitive) + + + + + + + Common Model Language tokens + + + + + + + + + + + + Generates a sequence of tokens from an object graph + + + + + Generates a sequence of tokens from an object graph + + token type + + + + Generates a sequence of tokens representing the value + + + + + + + Ctor + + + + + + Generates a sequence of tokens representing the value + + + + + + + Allows a mechanism for manipulating JSON serialization + + Defines the type this filter reads/writes + + + + Partially implements an IDataFilter + + + + + Allows a mechanism for manipulating serialization + + Defines the type of token stream this filter understands + Defines the type this filter reads/writes + + + + Allows a mechanism for manipulating serialization + + Defines the type of token stream this filter understands + + + + Allows a class to act as a factory for a type via input Token<T> sequence + + input tokens + + true if value was generated + + + + Allows a class to serialize a type as Token<T> sequence + + + + true if value was consumed + + + + Allows a class to act as a factory for a type via input Token<T> sequence + + input tokens + + true if value was generated + + + + Allows a class to serialize a type as Token<T> sequence + + + + true if value was consumed + + + + Defines a filter for JSON-style serialization of DateTime into ISO-8601 string + + + This is the format used by EcmaScript 5th edition Date.prototype.toJSON(...): + http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf + http://www.w3.org/TR/NOTE-datetime + http://en.wikipedia.org/wiki/ISO_8601 + + NOTE: This format limits expressing DateTime as either UTC or Unspecified. Local (i.e. Server Local) is converted to UTC. + + + + + Converts a ISO-8601 string to the corresponding DateTime representation + + ISO-8601 conformant date + UTC or Unspecified DateTime + true if parsing was successful + + + + Converts a DateTime to the corresponding ISO-8601 string representation + + + ISO-8601 conformant date + + + + Determines the precision of fractional seconds. + Defaults to EcmaScript precision of milliseconds. + + + + + Defines the precision of fractional seconds in ISO-8601 dates + + + + + Defines a filter for JSON-style serialization of DateTime into an ASP.NET Ajax Date string. + + + This is the format used by Microsoft ASP.NET Ajax: + http://weblogs.asp.net/bleroy/archive/2008/01/18/dates-and-json.aspx + + NOTE: This format is limited to expressing DateTime at the millisecond level as UTC only. + The WCF extension of adding a timezone is ignored as this returns UTC dates only. + + + + + Converts an ASP.NET Ajax date string to the corresponding DateTime representation + + ASP.NET Ajax date string + + true if parsing was successful + + + + Converts a DateTime to the corresponding ASP.NET Ajax date string representation + + + ASP.NET Ajax date string + + + + Provides base implementation for standard serializers + + + + + Provides base implementation of standard serializers + + + + + A common interface for data serializers + + + + + Serializes the data to the given output + + the output writer + the data to be serialized + + + + Serializes the data to the given output + + the data to be serialized + the serialized data + + + + Gets the content encoding for the serialized data + + + + + Gets the supported content types for the serialized data + + + + + Gets the supported file extensions for the serialized data + + + + + Gets the settings used for serialization + + + + + Ctor + + + + + + Serializes the data to the given output + + the data to be serialized + the output writer + + + + Serializes the data to the given output + + the data to be serialized + the serialized data + + + + Gets the walker for this DataWriter + + + + + + + Gets the formatter for this DataWriter + + + + + + + Gets the content encoding for the serialized data + + + + + Gets the supported content types for the serialized data + + + + + Gets the supported file extensions for the serialized data + + + + + Gets the settings used for serialization + + + + + Ctor + + + + + + Gets a walker for JSON + + + + + + + Gets the content encoding for the serialized data + + + + + Represents an ECMAScript identifier for serialization. + + + + + Designates a type as being able to format itself to raw text + + + + + Writes custom format to the output using either tokens or text + + + + + + + Ctor + + + + + Ctor + + + + + + Verifies is a valid EcmaScript identifier + + the identifier + identifier + + + + Verifies is a valid EcmaScript identifier + + the identifier + identifier + + + + Verifies is a valid EcmaScript variable expression + + the identifier + identifier + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + IdentifierName = + IdentifierStart | IdentifierName IdentifierPart + IdentifierStart = + Letter | '$' | '_' + IdentifierPart = + IdentifierStart | Digit + + + + + Trivial conversion method. Essentially performs a cast. + + + + + Supports conversion via System.Web.UI.PropertyConverter.ObjectFromString(Type, MemberInfo, string) + + + + + Implicit type conversion allows to be used directly as a String + + valid ECMAScript identifier + + + + + Implicit type conversion allows to be used directly with Strings + + valid ECMAScript identifier + + + + + Returns the identifier + + + + + + Compares identifiers + + + + + + + Returns the hash code for the identifier + + + + + + Gets the ECMAScript identifier represented by this instance + + + + + Formats data as full ECMAScript objects, rather than the limited set of JSON objects. + + + + + Outputs JSON text from an input stream of tokens + + + + + Outputs text from an input stream of JSON tokens + + token type + + + + Formats the token sequence to the output writer + + + + + + + Formats the token sequence as a string + + + + + + JSON serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the formatter for JSON + + + + + + + Gets the supported content type for the serialized data + + + + + Gets the supported file extension for the serialized data + + + + + Outputs JSON text from an input stream of tokens + + + + + Ctor + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Converts an object to its string representation + + + + + + + Converts an enum to its string representation + + + + + + + Splits a bitwise-OR'd set of enums into a list. + + the enum type + the combined value + list of flag enums + + from PseudoCode.EnumHelper + + + + + Determines if a numeric value cannot be represented as IEEE-754. + + + + + http://stackoverflow.com/questions/1601646 + + + + + Gets and sets if '<' should be encoded in strings + Useful for when emitting directly into page + + + + + Ctor + + + + Defaults to encoding < chars for improved embedding within script blocks + + + + + Emits a block of script ensuring that a namespace is declared + + the output writer + the namespace to ensure + list of namespaces already emitted + determines if should emit pretty-printed + if was a namespaced identifier + + + + Outputs a .NET Regex as an ECMAScript RegExp literal. + Defaults to global matching off. + + + + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + + + + Outputs a .NET Regex as an ECMAScript RegExp literal. + + + + + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + + + + Defines a strategy for filtering HTML tags/attributes/styles/literals + + + + + Filters tags, optionally allowing altering of tag + + tag name + if true tag should be rendered + + + + Filters attributes, optionally allowing altering of attribute value + + tag name + attribute name + attribute value + if true attribute should be rendered + + + + Filters styles, optionally allowing altering of style value + + tag name + style name + style value + if true style should be rendered + + + + Filters literals, optionally allowing replacement of literal value + + the literal value + if true should be rendered + + + + Provides a mechanism for filtering HTML streams based upon a tag taxonomy + + + + + Determines if is "void" (i.e. "empty" or "full") tag + + lowercase tag name + if is a void tag + + http://www.w3.org/TR/html5/semantics.html + http://www.w3.org/TR/html401/index/elements.html + http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#sec_5.2. + http://www.w3.org/TR/WD-html40-970917/index/elements.html + + + + + Determines if the tag is required to be closed + + lowercase tag name + if closing tag is optional + + http://www.w3.org/TR/html5/semantics.html + http://www.w3.org/TR/html401/index/elements.html + http://www.w3.org/TR/WD-html40-970917/index/elements.html + + + + + Categorizes the tag for heuristics about markup type + + lowercase tag name + the box type for a particular element + + http://www.w3.org/TR/html5/semantics.html + + + + + Defines a prioritized taxonomy of tags + + + The types are enumerated in ascending levels of risk for use in filtering HTML input + + + + + Literal text, no tags + + + + + Inline character level elements and text strings + + + Tags of this type typically do not disrupt the text flow + + + + + style elements + + + Tags of this type change the visual appearance of text + + + + + list elements + + + Tags of this type denote lists and typically change the text flow + + + + + Block-level elements + + + Tags of this type denote sections or change the text flow + + + + + Media elements + + + Tags of this type safely embed media content + + + + + Tabular elements + + + Tags of this type have a very specific structure and their own rendering model + + + + + Form elements + + + Tags of this type are used in the construction of forms for capturing user input + + + + + Script elements + + + Tags of this type represent a security risk to the containing document but must obey the browser security sandbox + + + + + Document elements + + + Tags of this type are used to construct the document itself + + + + + embedded elements + + + Tags of this type represent a large security risk to the containing document as plug-ins may circumvent the browser security sandbox + + + + + Unknown elements + + + + + Outputs markup text from an input stream of tokens + + + + + Ctor + + + + + + Resets the internal stack of elements + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Emits a valid XML local-name (i.e. encodes invalid chars including ':') + + + + + Explicitly escaping ':' to maintain compatibility with XML Namespaces. + From XML 1.0, 5th ed. http://www.w3.org/TR/xml/#sec-common-syn + Name = NameStartChar (NameChar)* + NameStartChar = ":" + | [A-Z] + | "_" + | [a-z] + | [#xC0-#xD6] + | [#xD8-#xF6] + | [#xF8-#x2FF] + | [#x370-#x37D] + | [#x37F-#x1FFF] + | [#x200C-#x200D] + | [#x2070-#x218F] + | [#x2C00-#x2FEF] + | [#x3001-#xD7FF] + | [#xF900-#xFDCF] + | [#xFDF0-#xFFFD] + | [#x10000-#xEFFFF] + NameChar = NameStartChar + | "-" + | "." + | [0-9] + | #xB7 + | [#x0300-#x036F] + | [#x203F-#x2040] + + + + + + Emits valid XML character data + + + + encodes all non-ASCII chars + + + + + Emits valid XML attribute character data + + + + encodes all non-ASCII chars + + + + Gets and sets a value indicating if should emit canonical form + + + http://www.w3.org/TR/xml-c14n + + + + + Gets and sets a value indicating how should emit empty attributes + + + + + Gets and sets a value indicating if should encode text chars above the ASCII range + + + This option can help when the output is being embedded within an unknown encoding + + + + + HTML-style empty attributes do not emit a quoted string + + + http://www.w3.org/TR/html5/syntax.html#attributes-0 + + + + + XHTML-style empty attributes repeat the attribute name as its value + + + http://www.w3.org/TR/xhtml-media-types/#C_10 + http://www.w3.org/TR/xhtml1/#C_10 + http://www.w3.org/TR/html5/the-xhtml-syntax.html + + + + + XML-style empty attributes emit an empty quoted string + + + http://www.w3.org/TR/xml/#sec-starttags + + + + + Generates a sequence of tokens from a generalized model of markup text (e.g. HTML, XML, JBST, ASPX/ASCX, ASP, JSP, PHP, etc.) + + + This generates a stream of tokens like StAX (Streaming API for XML) + Unlike XML, this follows a more permissive markup format with automatic recovery most similar to HTML5. + + + + + Generates a sequence of tokens from a sequence of characters + + token type + + + + Tokenizes the input sequence into tokens + + + + + + + Tokenizes the input sequence into tokens + + + + + + + Gets the current column of the underlying input character sequence + + + Tokenizers not tracking columns should return -1. + + + + + Gets the current line of the underlying input character sequence + + + Tokenizers not tracking lines should return -1. + + + + + Gets the current position of the underlying input character sequence + + + Tokenizers not tracking index should return -1. + + + + + Decodes HTML-style entities into special characters + + + the entity text + + TODO: validate against HTML5-style entities + http://www.w3.org/TR/html5/tokenization.html#consume-a-character-reference + + + + + Decodes most known named entities + + + + + + + Checks for element start char + + + + + http://www.w3.org/TR/xml/#sec-common-syn + + + + + Checks for element name char + + + + + http://www.w3.org/TR/xml/#sec-common-syn + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets and sets if should attempt to auto-balance mismatched tags. + + + + + Gets and sets if should unwrap comments inside . + + + For example, in HTML this would include "script" and "style" tags. + + + + + Gets and sets a set of tags which should not have their content parsed. + + + For example, in HTML this would include "script" and "style" tags. + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Ctor + + + + + Renders Common Model Tokens into a semantic HTML representation of the data structure + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + input token type + output token type + + + + Transforms the token sequence from to + + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + StringBuilder-like implementation built like List<char> + + + + + Ctor + + + + + Ctor + + + + + + Resets the buffer to an empty state + + + + + Appends a single char to the buffer + + + + + + + Appends a string value to the buffer + + + + + + + Copies the buffer value into a + + + + + + Gets the number of characters in the buffer + + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + Ctor + + + + + + + + Supports forward-only iteration over an input sequence of + + + + + Supports forward-only iteration over an input sequence of + + + + + Supports forward-only iteration over an input sequence + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered sequence chunk + + + + + + Determines if the sequence has completed. + + + + + Gets a value indicating if is currently capturing a sequence + + + + + Gets the number of items currently chunked + + + + + Factory method for generic streams + + + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Determines if the input sequence has reached the end + + + + + Ctor + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a list with ability to capture a subsequence + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered chunk + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Gets the number of characters currently chunked + + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a text input tracking line/column/position + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and writes the buffered text chunk into the provided StringBuilder + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Supports a simple iteration over a string tracking line/column/position + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Calculates index, line, and column statistics + + + + + Releases all resources used + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Gets the number of characters currently chunked + + + + + Gets a value indicating if the is currently chunking + + + + + Determines if the input sequence has reached the end + + + + + Supports a simple iteration over a TextReader tracking line/column/position + + + + + Ctor + + + + + + Begins chunking at the current index + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + + Ends chunking at the current index and returns the buffered text chunk + + + + + Returns but does not remove the item at the front of the sequence. + + + + + + Returns and removes the item at the front of the sequence. + + + + + + Deferred execution of iterator + + + + + Calculates index, line, and column statistics + + + + + + + Releases all resources used by the underlying reader + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + Gets the number of characters currently chunked + + + + + Gets a value indicating if the is currently chunking + + + + + Determines if the input sequence has reached the end + + + + + Formal language of tokens and symbols for JSON + + + + + Designates a property or field to not be serialized. + + + + + Specifies the naming to use for a property or field when serializing + + + + + Ctor + + + + + Ctor + + + + + + Gets and sets the name to be used in serialization + + + + + JSON deserializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the supported content type of the serialized data + + + + + Generates a sequence of tokens from JSON text + + + + + Gets a token sequence from the scanner stream + + + + + + + Scans for the longest valid EcmaScript identifier + + identifier + + http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + + IdentifierName = + IdentifierStart | IdentifierName IdentifierPart + IdentifierStart = + Letter | '$' | '_' + IdentifierPart = + IdentifierStart | Digit + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the string + + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + It is an error for the next token to be a value delim + + + + + Forbidden but differentiates between empty array/object and just written + + + + + It is an error for the next token to NOT be a value delim + + + + + Specifies the name of the property which specifies if member should be serialized. + + + These properties can be marked private/protected/internal and it will still be recognized + + + + + Ctor + + the name of the property which controls serialization for this member + + + + Ctor + + the name of the property which controls serialization for this member + + + + Gets and sets the name of the property which + specifies if member should be serialized + + + + + Transforms markup tokens into Common Model tokens using the (lossless) JsonML model + + + JsonML Grammer: http://jsonml.org + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Determines how whitespace should be handled + + + + + Transforms Common Model tokens into markup tokens using the (lossless) JsonML model + + + JsonML Grammer: http://jsonml.org + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Controls name resolution for IDataReader / IDataWriter using JsonNameAttribute / JsonIgnoreAttribute / JsonPropertySpecifiedAttribute + + + This is the default strategy from JsonFx v1.0 + + + + + Controls name resolution for IDataReader / IDataWriter using plain old CLR object (POCO) names + + + + + Controls name resolution for IDataReader / IDataWriter + + + Provides an extensibility point to control member naming and visibility at a very granular level. + + + + + Gets a value indicating if the property is to be serialized. + + + + + + + + Gets a value indicating if the field is to be serialized. + + + + + + + Determines if the property or field should not be serialized. + + + + + + + + + Gets the serialized name for the member. + + + + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute + + This is useful when default values need not be serialized. + + + + + Gets the serialized name for the member. + + + + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute + + This is useful for excluding serialization of default values. + + + + + Gets the serialized name for the member. + + + + + + + Determines whitespace handling + + + + + Removes insignificant whitespace + + + + + Keep all whitespace + + + + + Condenses all whitespace to single spaces + + + + + Designates a type as being able to format itself to raw JSON text. + + + + + Ctor + + + + + Ctor + + + + + Gets and sets the starting delimiter + + + + + Gets and sets the ending delimiter + + + + + Gets and sets the context + + + + + Formal language of tokens and symbols for markup + + + + + Any of a number of unparsed tags which typically contain specialized processing instructions + + + The name of the token is the beginning and ending delimiters as a format string (not including the '<' or '>') + Includes the following types: + + "<!--", "-->" XML/HTML/SGML comment + "<!", ">" XML/SGML declaration (e.g. DOCTYPE or server-side includes) + + "<?=", "?>" PHP expression + "<?", "?>" PHP code block /XML processing instruction (e.g. the XML declaration) + + "<%--", "--%>" ASP/PSP/JSP-style code comment + "<%@", "%>" ASP/PSP/JSP directive + "<%=", "%>" ASP/PSP/JSP/JBST expression + "<%!", "%>" JSP/JBST declaration + "<%#", "%>" ASP.NET/JBST databind expression + "<%$", "%>" ASP.NET/JBST extension + "<%", "%>" ASP code block / JSP scriptlet / PSP code block + + + + + tokens + + + + + + + + + + + Maintains scope chain for namespace prefix mappings + + + + + Adds a new scope to the chain + + + + + + Gets the last scope off the chain + + + + + Gets and removes the last scope off the chain + + + + + + Finds the namespace URI for a given prefix within the curren scope chain + + + + + + + Finds the prefix for a given namespace URI within the curren scope chain + + + + + + + Checks if the matching begin tag exists on the stack + + + + + + Resets the internal state of the scope chain. + + + + + Looks up the prefix for the given namespace + + + + null if namespace is empty and no default prefix found + + + + Represents a scope boundary within a prefix scope chain + + + + + Returns if this scope boundary contains a mapping for a particular prefix + + + if this scope boundary contains a mapping for a particular prefix + + + + Returns if this scope boundary contains a mapping for a particular namespace + + + if this scope boundary contains a mapping for a particular namespace + + + + Returns if this scope boundary contains a mapping for a particular prefix + setting the namespace URI if one was found. + + + the resolved namespace URI + if this scope boundary contains a mapping for a particular prefix + + + + Returns if this scope boundary contains a mapping for a particular prefix + setting the prefix if one was found. + + + the resolved prefix + if this scope boundary contains a mapping for a particular prefix + + + + Gets and sets the tagname associated with this scope boundary + + + + + Gets and sets mappings between prefix and namespace URIs + + + + + + + Provides lookup capabilities for providers + + + + + Parses HTTP headers for Media-Types + + HTTP Accept header + HTTP Content-Type header + sequence of Media-Types + + http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html + + + + + + + + + + + + Controls name resolution for IDataReader / IDataWriter using convention-based name mapping + + + Converts standard .NET PascalCase naming convention into the specified naming convention. + http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx + http://msdn.microsoft.com/en-us/library/141e06ef.aspx + http://msdn.microsoft.com/en-us/library/xzf533w0.aspx + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the serialized name for the member. + + + + + + + Splits a multi-word name assuming standard .NET PascalCase conventions. + + + + + http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx + http://msdn.microsoft.com/en-us/library/141e06ef.aspx + http://msdn.microsoft.com/en-us/library/xzf533w0.aspx + + + + + + Ctor + + + + + + + + Ctor + + + + + + + Represents a property or document name, and a corresponding namespace URI (or empty string). + Analogous to XML "expanded name": http://www.w3.org/TR/REC-xml-names/#dt-expname + + + Namespaces must be a URI, but local-name can be any non-null string. + It is up to formatters to determine how to properly represent names which are invalid for the format. + + + + + local-name + + + + + alias for the namespace + + + + + namespace + + + + + Determines if name should be treated like an attribute + + + + + Ctor + + a CLR Type used to generate the local-name + + This constructor implicitly delcares the namespace to be empty. + + + + + Ctor + + any string is a valid local-name + + This constructor implicitly delcares the namespace to be empty. + + + + + Ctor + + any string is a valid local-name + an absolute URI string, or null + thrown if is null + thrown if is an invalid absolute URI + + The namespace field follows XML recommendation of absolute URIs. + Relative URIs are officially deprecated for namespaces: http://www.w3.org/2000/09/xppa + + + + + Ctor + + any string is a valid local-name + an absolute URI string, or null + determines if name should be an attribute name + thrown if is null + thrown if is an invalid absolute URI + + The namespace field follows XML recommendation of absolute URIs. + Relative URIs are officially deprecated for namespaces: http://www.w3.org/2000/09/xppa + + + + + Gets the local-name for a Type + + + + + + + Gets the prefixed name or simply local-name if is not a fully qualified name + + true to generate a prefix if the prefix is empty but not the namespace + + + + + Gets the namespaced name or simply local-name if is not a fully qualified name + + + + + + Compares two values and returns an indication of their relative sort order. + + + + + Performs ordering according to XML Canonicalization document order http://www.w3.org/TR/xml-c14n#DocumentOrder + "An element's namespace nodes are sorted lexicographically by local name (the default namespace node, if one exists, has no local name and is therefore lexicographically least)." + "An element's attribute nodes are sorted lexicographically with namespace URI as the primary key and local name as the secondary key (an empty namespace URI is lexicographically least)." + + + + + Determines if this is an empty DataName + + + + + Indicates a graph cycle was detected during serialization + + + + + Indicates an error occurred during serialization + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the type of cycle which caused the error + + + + + Graph cycles are detected with a reference tracking, any repeated reference results in a null value + + + + + Graph cycles are detected with a reference tracking, any repeated reference results in an error + + + + + Graph cycles are detected with a maximum depth count, exceeding depth results in an error + + + + + Detects graph cycles by tracking graph depth + + + + + Defines an interface for detecting graph cycles + + + + + Begins tracking of the reference + + + true if graph cycle was detected + + + + Ends tracking of the reference + + + true if tracking was successfully completed + + + + Ctor + + + + + + Increments the depth + + + true if MaxDepth has not been exceeded + + + + Increments the depth + + + + + + Detects cycles by detecting duplicates in the a set of object references + + + + + Adds a reference to the set + + + true if object already existed within set + + + + Removes a reference from the set + + + + + + Controls deserialization settings for IDataReader + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Gets and sets if ValueTypes can accept values of null + + + If this is true and a ValueType T is assigned the value of null, + it will receive the value of default(T). + Setting this to false, throws an exception if null is + specified for a ValueType member. + + + + + Gets and sets if should verify that stream is empty after deserialzing each object + + + Setting to true allows reading a JSON stream inside other structures (e.g. JavaScript) + + + + + Gets manager of name resolution for IDataReader + + + + + Gets the custom filters + + + + + Controls the serialization settings for IDataWriter + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Ctor + + + + + + Gets and sets what to do when graph cycles (repeated references) are encounted + + + + + Gets and sets the maximum nesting depth + + + Depth is a fast and easy safegaurd against detecting graph cycles but may produce false positives + + + + + Gets and sets if output will be formatted for human reading. + + + + + Gets and sets the string to use for indentation + + + + + Gets and sets the line terminator string + + + + + Gets manager of name resolution for IDataReader + + + + + Gets the custom filters + + + + + Indicates an error occurred during deserialization + + + + + Ctor + + + + + + + Ctor + + + + + + + + + Ctor + + + + + + + + Ctor + + + + + + + + Helper method which converts the index into Line and Column numbers + + + + + + + + Gets the character column in the stream where the error occurred + + + + + Gets the character position in the stream where the error occurred + + + + + Gets the character line in the stream where the error occurred + + + + + Indicates an error occurred during token consumption + + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the token in the sequence where the error occurred + + + + + Indicates an error occurred during type coercion + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Provides lookup capabilities for finding matching IDataReader + + + + + Provides lookup capabilities for finding matching IDataReader + + + + + Ctor + + inject with all possible readers + + + + Finds an IDataReader by content-type header + + + + + + + Provides lookup capabilities for finding an IDataWriter + + + + + Provides lookup capabilities for finding an IDataWriter + + + + + Ctor + + inject with all possible writers + + + + Controls name resolution for IDataReader / IDataWriter by using pluggable delegate callbacks + + + + + Gets and sets the implementation for ignoring properties + + + + + Gets and sets the implementation for ignoring fields + + + + + Gets and sets the implementation for ignoring properties by value + + + + + Gets and sets the implementation for naming members + + + + + Gets and sets the implementation for sorting members + + + + + Controls name resolution for IDataReader / IDataWriter by combining an ordered sequence of any other strategies + + + Each strategy is invoked in order, the first to respond wins. + + + + + Ctor + + ordered sequence of strategies + + + + Ctor + + ordered sequence of strategies + + + + Gets a value indicating if the property is to be serialized. + + + + true if any strategy specifies should be ignored + + + + Gets a value indicating if the field is to be serialized. + + + true if any strategy specifies should be ignored + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + true if any strategy specifies this should be ignored + + + + Gets the serialized name for the member. + + + + custom name if any strategy specifies one, otherwise null + + + + Allows a strategy to perform a custom sort order to outputted members + + + + + A common usage is to ensure that Attributes sort first + + + + + Controls name resolution for IDataReader / IDataWriter using DataContract attributes + + + http://msdn.microsoft.com/en-us/library/kd1dc9w5.aspx + + + + + CCtor + + + + + Gets a value indicating if the property is to be serialized. + + + + + + + + Gets a value indicating if the field is to be serialized. + + + + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + + + + + Gets the serialized name for the member. + + + + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + + + + + The original member info + + + + + The original member name + + + + + The member data name + + + + + The member type + + + + + The getter method + + + + + The setter method + + + + + The logic for determining if a value is ignored + + + + + Determines if map name is alternate (i.e. only used for deserialization) + + + + + Ctor + + MemberMap to clone + alternate name + + + + Ctor + + + + + + + + Ctor + + + + + + + + Ctor + + + + + Gets a sequence of the available factory arguments + + + + + Gets the factory associated with the given argument type + + + + + + + Cache of name resolution mappings for IDataReader / IDataWriter + + + + + Ctor + + + + + + Gets the serialized name of the class + + + + + + + Removes any cached member mappings. + + + + + Builds a mapping of member name to field/property + + + + + + Represents a single immutable token in an input sequence + + + + + The type of the token + + + + + The name of the token + + + + + The value of the token + + + + + Ctor + + + + + + Ctor + + + + + + + Ctor + + + + + + + Ctor + + + + + + + Returns a string that represents the current token. + + + + + + Gets the value of the token as a string + + + + + + Converts a value to a string giving opportunity for IConvertible, IFormattable + + + + + + + Converts token to a token of a different type + + + token with same values and different type + + + + Type Coercion Utility + + + + + Ctor + + + + + + + Ctor + + + + + + + Instantiates a new instance of objectType. + + + objectType instance + + + + Instantiates a new instance of objectType. + + + objectType instance + + + + Helper method to set value of a member. + + + + + + + + + + Coerces the object value to Type + + + + + + + + Coerces the object value to Type of + + + + + + + + Populates the properties of an object with the dictionary values. + + + + + + + + Populates the properties of an object with the dictionary values. + + + + + + + + Coerces an sequence of items into an array of Type elementType + + + + + + + + Finds a suitable concrete class for common collection interface types + + + + + + + Allows specific IDictionary<string, TVal> to deserialize as TVal + + IDictionary<string, TVal> Type + TVal Type + + + + Returns a common type which can hold previous values and the new value + + + + + + + + Determines if type can be assigned a null value. + + + + + + + Gets the attribute T for the given value. + + + Attribute Type + true if defined + + + + Gets the attribute of Type for the given value. + + + true if defined + + + + Gets the attribute T for the given value. + + + Attribute Type + requested attribute or not if not defined + + + + Gets the attribute of Type for the given value. + + + requested attribute or not if not defined + + + + Character Utility + + + These are either simpler definitions of character classes (e.g. letter is [a-zA-Z]), + or they implement platform-agnositic checks (read: "Silverlight workarounds"). + + + + + Checks if string is null, empty or entirely made up of whitespace + + + + + Essentially the same as String.IsNullOrWhiteSpace from .NET 4.0 + with a simplfied view of whitespace. + + + + + Checks if character is line ending, tab or space + + + + + + + + + + + + + + Checks if character matches [A-Za-z] + + + + + + + Checks if character matches [0-9] + + + + + + + Checks if character matches [0-9A-Fa-f] + + + + + + + Gets a 4-bit number as a hex digit + + 0-15 + + + + + Formats a number as a hex digit + + + + + + + Converts the value of a UTF-16 encoded character or surrogate pair at a specified + position in a string into a Unicode code point. + + + + + + + + Converts the specified Unicode code point into a UTF-16 encoded string. + + + + + + + XML serializer + + + XML serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets a tokenizer for XML + + + + + + Gets the supported content type for the serialized data + + + + + Transforms markup tokens into Common Model tokens using an XML-data model + + + + + Ctor + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + + Ctor + + + + + Ctor + + + + + + Gets a token sequence from the string + + + + + + + Gets a token sequence from the TextReader + + + + + + + Gets a token sequence from the XmlReader + + + + + + + Gets the total number of characters read from the input + + + + + Gets the total number of lines read from the input + + + + + Gets the current position within the input + + + + + XML serializer + + + + + Ctor + + + + + Ctor + + + + + + Ctor + + + + + + + Gets the formatter for XML + + + + + + + Gets the supported content type for the serialized data + + + + + Gets the supported file extension for the serialized data + + + + + Transforms Common Model tokens into markup tokens using an XML-data model + + + + + Ctor + + + + + + Consumes a sequence of tokens and produces a token sequence of a different type + + + + + Formats the token sequence to the output + + + + + + + Outputs XML text from an input stream of tokens + + + + + Ctor + + + + + + Formats the token sequence as a string + + + + + + Formats the token sequence to the writer + + + + + + + Formats the token sequence to the writer + + + + + + + Wraps an XmlWriter as a TextWriter + + + + + Ctor + + + + + + Gets the underlying XmlWriter + + + + + Controls name resolution for IDataReader / IDataWriter using attributes and conventions similar to XmlSerializer semantics + + + http://msdn.microsoft.com/en-us/library/83y7df3e.aspx + + + + + Gets a value indicating if the property is to be serialized. + + + + + default implementation is must be read/write properties, or immutable + + + + Gets a value indicating if the field is to be serialized. + + + + default implementation is must be public, non-readonly field + + + + Gets a delegate which determines if the property or field should not be serialized based upon its value. + + + if has a value equivalent to the DefaultValueAttribute or has a property named XXXSpecified which determines visibility + + This is useful when default values need not be serialized. + Under these situations XmlSerializer ignores properties based upon value: + - DefaultValue: http://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute.aspx + - Specified Properies: http://msdn.microsoft.com/en-us/library/bb402199.aspx + - ShouldSerialize Methods: http://msdn.microsoft.com/en-us/library/53b8022e.aspx + + + + + Gets the serialized name for the member. + + + + + + + Sorts members to ensure proper document order where attributes precede all child elements. + + + + + Performs the first stage of XML Canonicalization document order http://www.w3.org/TR/xml-c14n#DocumentOrder + "An element's namespace and attribute nodes have a document order position greater than the element but less than any child node of the element." + + + + + Generates delegates for getting/setting properties and field and invoking constructors + + + + + Creates a field getter delegate for the specified property or field + + PropertyInfo or FieldInfo + GetterDelegate for property or field, null otherwise + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field setter delegate for the specified property or field + + PropertyInfo or FieldInfo + SetterDelegate for property or field, null otherwise + + + + Creates a property getter delegate for the specified property + + + GetterDelegate if property CanRead, otherwise null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a property setter delegate for the specified property + + + GetterDelegate if property CanWrite, otherwise null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field getter delegate for the specified field + + + GetterDelegate which returns field unless is enum in which will return enum value + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a field setter delegate for the specified field + + + SetterDelegate unless field IsInitOnly then returns null + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a proxy delegate accepting a target instance and corresponding arguments + + method to proxy + ProxyDelegate or null if cannot be invoked + + Note: use with caution this method will expose private and protected methods without safety checks. + + + + + Creates a default constructor delegate + + type to be created + FactoryDelegate or null if default constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a constructor delegate accepting specified arguments + + type to be created + constructor arguments type list + FactoryDelegate or null if constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + + Creates a constructor delegate accepting specified arguments + + type to be created + constructor arguments type list + FactoryDelegate or null if constructor not found + + Note: use with caution this method will expose private and protected constructors without safety checks. + + + + diff --git a/packages/MsgPack.0.1.0.2011042300/MsgPack.0.1.0.2011042300.nupkg b/packages/MsgPack.0.1.0.2011042300/MsgPack.0.1.0.2011042300.nupkg new file mode 100644 index 0000000..0b0648a Binary files /dev/null and b/packages/MsgPack.0.1.0.2011042300/MsgPack.0.1.0.2011042300.nupkg differ diff --git a/packages/MsgPack.0.1.0.2011042300/lib/net40/MsgPack.dll b/packages/MsgPack.0.1.0.2011042300/lib/net40/MsgPack.dll new file mode 100644 index 0000000..659c157 Binary files /dev/null and b/packages/MsgPack.0.1.0.2011042300/lib/net40/MsgPack.dll differ diff --git a/packages/NUnit.2.5.10.11092/Logo.ico b/packages/NUnit.2.5.10.11092/Logo.ico new file mode 100644 index 0000000..13c4ff9 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/Logo.ico differ diff --git a/packages/NUnit.2.5.10.11092/NUnit.2.5.10.11092.nupkg b/packages/NUnit.2.5.10.11092/NUnit.2.5.10.11092.nupkg new file mode 100644 index 0000000..7e9a777 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/NUnit.2.5.10.11092.nupkg differ diff --git a/packages/NUnit.2.5.10.11092/NUnitFitTests.html b/packages/NUnit.2.5.10.11092/NUnitFitTests.html new file mode 100644 index 0000000..ca5cd4f --- /dev/null +++ b/packages/NUnit.2.5.10.11092/NUnitFitTests.html @@ -0,0 +1,277 @@ + + + +

NUnit Acceptance Tests

+

+ Developers love self-referential programs! Hence, NUnit has always run all it's + own tests, even those that are not really unit tests. +

Now, beginning with NUnit 2.4, NUnit has top-level tests using Ward Cunningham's + FIT framework. At this time, the tests are pretty rudimentary, but it's a start + and it's a framework for doing more. +

Running the Tests

+

Open a console or shell window and navigate to the NUnit bin directory, which + contains this file. To run the test under Microsoft .Net, enter the command +

    runFile NUnitFitTests.html TestResults.html .
+ To run it under Mono, enter +
    mono runFile.exe NUnitFitTests.html TestResults.html .
+ Note the space and dot at the end of each command. The results of your test + will be in TestResults.html in the same directory. +

Platform and CLR Version

+ + + + +
NUnit.Fixtures.PlatformInfo
+

Verify Unit Tests

+

+ Load and run the NUnit unit tests, verifying that the results are as expected. + When these tests are run on different platforms, different numbers of tests may + be skipped, so the values for Skipped and Run tests are informational only. +

+ The number of tests in each assembly should be constant across all platforms - + any discrepancy usually means that one of the test source files was not + compiled on the platform. There should be no failures and no tests ignored. +

Note: + At the moment, the nunit.extensions.tests assembly is failing because the + fixture doesn't initialize addins in the test domain. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NUnit.Fixtures.AssemblyRunner
AssemblyTests()Run()Skipped()Ignored()Failures()
nunit.framework.tests.dll397  00
nunit.core.tests.dll355  00
nunit.util.tests.dll238  00
nunit.mocks.tests.dll43  00
nunit.extensions.tests.dll5  00
nunit-console.tests.dll40  00
nunit.uikit.tests.dll34  00
nunit-gui.tests.dll15  00
nunit.fixtures.tests.dll6  00
+

Code Snippet Tests

+

+ These tests create a test assembly from a snippet of code and then load and run + the tests that it contains, verifying that the structure of the loaded tests is + as expected and that the number of tests run, skipped, ignored or failed is + correct. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NUnit.Fixtures.SnippetRunner
CodeTree()Run()Skipped()Ignored()Failures()
public class TestClass
+{
+}
+
EMPTY0000
using NUnit.Framework;
+
+[TestFixture]
+public class TestClass
+{
+}
+
TestClass0000
using NUnit.Framework;
+
+[TestFixture]
+public class TestClass
+{
+    [Test]
+    public void T1() { }
+    [Test]
+    public void T2() { }
+    [Test]
+    public void T3() { }
+}
+
TestClass
+>T1
+>T2
+>T3
+
3000
using NUnit.Framework;
+
+[TestFixture]
+public class TestClass1
+{
+    [Test]
+    public void T1() { }
+}
+
+[TestFixture]
+public class TestClass2
+{
+    [Test]
+    public void T2() { }
+    [Test]
+    public void T3() { }
+}
+
TestClass1
+>T1
+TestClass2
+>T2
+>T3
+
3000
using NUnit.Framework;
+
+[TestFixture]
+public class TestClass
+{
+    [Test]
+    public void T1() { }
+    [Test, Ignore]
+    public void T2() { }
+    [Test]
+    public void T3() { }
+}
+
TestClass
+>T1
+>T2
+>T3
+
2010
using NUnit.Framework;
+
+[TestFixture]
+public class TestClass
+{
+    [Test]
+    public void T1() { }
+    [Test, Explicit]
+    public void T2() { }
+    [Test]
+    public void T3() { }
+}
+
TestClass
+>T1
+>T2
+>T3
+
2100
+

Summary Information

+ + + + +
fit.Summary
+ + diff --git a/packages/NUnit.2.5.10.11092/fit-license.txt b/packages/NUnit.2.5.10.11092/fit-license.txt new file mode 100644 index 0000000..af37532 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/fit-license.txt @@ -0,0 +1,342 @@ + + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. \ No newline at end of file diff --git a/packages/NUnit.2.5.10.11092/lib/nunit.framework.dll b/packages/NUnit.2.5.10.11092/lib/nunit.framework.dll new file mode 100644 index 0000000..6856e51 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/lib/nunit.framework.dll differ diff --git a/packages/NUnit.2.5.10.11092/lib/nunit.framework.xml b/packages/NUnit.2.5.10.11092/lib/nunit.framework.xml new file mode 100644 index 0000000..a56c62f --- /dev/null +++ b/packages/NUnit.2.5.10.11092/lib/nunit.framework.xml @@ -0,0 +1,10407 @@ + + + + nunit.framework + + + + + Attribute used to apply a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + Used to mark a field for use as a datapoint when executing a theory + within the same fixture that requires an argument of the field's Type. + + + + + Used to mark an array as containing a set of datapoints to be used + executing a theory within the same fixture that requires an argument + of the Type of the array elements. + + + + + Attribute used to provide descriptive text about a + test case or fixture. + + + + + Construct the attribute + + Text describing the test + + + + Gets the test description + + + + + Enumeration indicating how the expected message parameter is to be used + + + + Expect an exact match + + + Expect a message containing the parameter string + + + Match the regular expression provided as a parameter + + + Expect a message that starts with the parameter string + + + + ExpectedExceptionAttribute + + + + + + Constructor for a non-specific exception + + + + + Constructor for a given type of exception + + The type of the expected exception + + + + Constructor for a given exception name + + The full name of the expected exception + + + + Gets or sets the expected exception type + + + + + Gets or sets the full Type name of the expected exception + + + + + Gets or sets the expected message text + + + + + Gets or sets the user message displayed in case of failure + + + + + Gets or sets the type of match to be performed on the expected message + + + + + Gets the name of a method to be used as an exception handler + + + + + ExplicitAttribute marks a test or test fixture so that it will + only be run if explicitly executed from the gui or command line + or if it is included by use of a filter. The test will not be + run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + The reason test is marked explicit + + + + + Attribute used to mark a test that is to be ignored. + Ignored tests result in a warning message when the + tests are run. + + + + + Constructs the attribute without giving a reason + for ignoring the test. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The reason for ignoring a test + + + + + Abstract base for Attributes that are used to include tests + in the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple itemss may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + PlatformAttribute is used to mark a test fixture or an + individual method as applying to a particular platform only. + + + + + Constructor with no platforms specified, for use + with named property syntax. + + + + + Constructor taking one or more platforms + + Comma-deliminted list of platforms + + + + CultureAttribute is used to mark a test fixture or an + individual method as applying to a particular Culture only. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-deliminted list of cultures + + + + Marks a test to use a combinatorial join of any argument data + provided. NUnit will create a test case for every combination of + the arguments provided. This can result in a large number of test + cases and so should be used judiciously. This is the default join + type, so the attribute need not be used except as documentation. + + + + + PropertyAttribute is used to attach information to a test as a name/value pair.. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + Default constructor + + + + + Marks a test to use pairwise join of any argument data provided. + NUnit will attempt too excercise every pair of argument values at + least once, using as small a number of test cases as it can. With + only two arguments, this is the same as a combinatorial join. + + + + + Default constructor + + + + + Marks a test to use a sequential join of any argument data + provided. NUnit will use arguements for each parameter in + sequence, generating test cases up to the largest number + of argument values provided and using null for any arguments + for which it runs out of values. Normally, this should be + used with the same number of arguments for each parameter. + + + + + Default constructor + + + + + Summary description for MaxTimeAttribute. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + RandomAttribute is used to supply a set of random values + to a single parameter of a parameterized test. + + + + + ValuesAttribute is used to provide literal arguments for + an individual parameter of a test. + + + + + Abstract base class for attributes that apply to parameters + and supply data for the parameter. + + + + + Gets the data to be provided to the specified parameter + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Get the collection of values to be used as arguments + + + + + Construct a set of doubles from 0.0 to 1.0, + specifying only the count. + + + + + + Construct a set of doubles from min to max + + + + + + + + Construct a set of ints from min to max + + + + + + + + Get the collection of values to be used as arguments + + + + + RangeAttribute is used to supply a range of values to an + individual parameter of a parameterized test. + + + + + Construct a range of ints using default step of 1 + + + + + + + Construct a range of ints specifying the step size + + + + + + + + Construct a range of longs + + + + + + + + Construct a range of doubles + + + + + + + + Construct a range of floats + + + + + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + RequiredAddinAttribute may be used to indicate the names of any addins + that must be present in order to run some or all of the tests in an + assembly. If the addin is not loaded, the entire assembly is marked + as NotRunnable. + + + + + Initializes a new instance of the class. + + The required addin. + + + + Gets the name of required addin. + + The required addin name. + + + + Summary description for SetCultureAttribute. + + + + + Construct given the name of a culture + + + + + + Summary description for SetUICultureAttribute. + + + + + Construct given the name of a culture + + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + SetUpFixtureAttribute is used to identify a SetUpFixture + + + + + Attribute used to mark a static (shared in VB) property + that returns a list of tests. + + + + + Attribute used to identify a method that is called + immediately after each test is run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + publc void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + TestCaseAttribute is used to mark parameterized test cases + and provide them with their arguments. + + + + + The ITestCaseData interface is implemented by a class + that is able to return complete testcases for use by + a parameterized test method. + + NOTE: This interface is used in both the framework + and the core, even though that results in two different + types. However, sharing the source code guarantees that + the various implementations will be compatible and that + the core is able to reflect successfully over the + framework implementations of ITestCaseData. + + + + + Gets the argument list to be provided to the test + + + + + Gets the expected result + + + + + Gets the expected exception Type + + + + + Gets the FullName of the expected exception + + + + + Gets the name to be used for the test + + + + + Gets the description of the test + + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets the ignore reason. + + The ignore reason. + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets the list of arguments to a test case + + + + + Gets or sets the expected result. + + The result. + + + + Gets a list of categories associated with this test; + + + + + Gets or sets the category associated with this test. + May be a single category or a comma-separated list. + + + + + Gets or sets the expected exception. + + The expected exception. + + + + Gets or sets the name the expected exception. + + The expected name of the exception. + + + + Gets or sets the expected message of the expected exception + + The expected message of the exception. + + + + Gets or sets the type of match to be performed on the expected message + + + + + Gets or sets the description. + + The description. + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the ignored status of the test + + + + + Gets or sets the ignored status of the test + + + + + Gets the ignore reason. + + The ignore reason. + + + + FactoryAttribute indicates the source to be used to + provide test cases for a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + An array of the names of the factories that will provide data + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of the method, property or field that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + [TestFixture] + public class ExampleClass + {} + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + In .NET 2.0, the arguments may later be separated into + type arguments and constructor arguments. + + + + + + Descriptive text for this fixture + + + + + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + + + + + Gets a list of categories for this fixture + + + + + The arguments originally provided to the attribute + + + + + Gets or sets a value indicating whether this should be ignored. + + true if ignore; otherwise, false. + + + + Gets or sets the ignore reason. May set Ignored as a side effect. + + The ignore reason. + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + Attribute used to identify a method that is + called before any tests in a fixture are run. + + + + + Attribute used to identify a method that is called after + all the tests in a fixture have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + publc void TestDescriptionMethod() + {} + } + + + + + + WUsed on a method, marks the test with a timeout value in milliseconds. + The test will be run in a separate thread and is cancelled if the timeout + is exceeded. Used on a method or assembly, sets the default timeout + for all contained test methods. + + + + + Construct a TimeoutAttribute given a time in milliseconds + + The timeout value in milliseconds + + + + Marks a test that must run in the STA, causing it + to run in a separate thread if necessary. + + On methods, you may also use STAThreadAttribute + to serve the same purpose. + + + + + Construct a RequiresSTAAttribute + + + + + Marks a test that must run in the MTA, causing it + to run in a separate thread if necessary. + + On methods, you may also use MTAThreadAttribute + to serve the same purpose. + + + + + Construct a RequiresMTAAttribute + + + + + Marks a test that must run on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + ValueSourceAttribute indicates the source to be used to + provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of the data source to be used + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of the method, property or field that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + The IConstraintExpression interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + Static UnsetObject used to detect derived constraints + failing to set the actual value. + + + + + The actual value being tested against a constraint + + + + + The display name of this Constraint for use by ToString() + + + + + Argument fields used by ToString(); + + + + + The builder holding this constraint + + + + + Construct a constraint with no arguments + + + + + Construct a constraint with one argument + + + + + Construct a constraint with two arguments + + + + + Sets the ConstraintBuilder holding this constraint + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the constraint and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occured can override this. + + The MessageWriter on which to display the message + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by an + ActualValueDelegate that returns the value to be tested. + The default implementation simply evaluates the delegate + but derived classes may override it to provide for delayed + processing. + + An ActualValueDelegate + True for success, false for failure + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a DelayedConstraint with the specified delay time. + + The delay in milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Class used to detect any derived constraints + that fail to set the actual value in their + Matches override. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + Writes the description of the constraint to the specified writer + + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Construct given a base constraint + + + + + + Constructs an AttributeConstraint for a specified attriute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Writes a description of the attribute to the specified writer. + + + + + Writes the actual value supplied to the specified writer. + + + + + Returns a string representation of the constraint. + + + + + BasicConstraint is the abstract base for constraints that + perform a simple comparison to a constant value. + + + + + Initializes a new instance of the class. + + The expected. + The description. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + Test that the actual value is an NaN + + + + + + + Write the constraint description to a specified writer + + + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write a description for this contraint to a MessageWriter + + The MessageWriter to receive the description + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + Write a description for this contraint to a MessageWriter + + The MessageWriter to receive the description + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + true if the specified enumerable is empty; otherwise, false. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + Flag the constraint to ignore case and return self. + + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + Check that the collection is empty + + + + + + + Write the constraint description to a MessageWriter + + + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + Check that all items are unique. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + Test whether the expected item is contained in the collection + + + + + + + Write a descripton of the constraint to a MessageWriter + + + + + + CollectionEquivalentCOnstraint is used to determine whether two + collections are equivalent. + + + + + Construct a CollectionEquivalentConstraint + + + + + + Test whether two collections are equivalent + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + Modifies the constraint to use an IComparer and returns self. + + + + + Modifies the constraint to use an IComparer<T> and returns self. + + + + + Modifies the constraint to use a Comparison<T> and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Test whether the collection is ordered + + + + + + + Write a description of the constraint to a MessageWriter + + + + + + Returns the string representation of the constraint. + + + + + + If used performs a reverse comparison + + + + + CollectionTally counts (tallies) the number of + occurences of each object in one or more enumerations. + + + + + Construct a CollectionTally object from a comparer and a collection + + + + + Try to remove an object from the tally + + The object to remove + True if successful, false if the object was not found + + + + Try to remove a set of objects from the tally + + The objects to remove + True if successful, false if any object was not found + + + + The number of objects remaining in the tally + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + IComparer, IComparer<T> or Comparison<T> + + + + + Returns a ComparisonAdapter that wraps an IComparer + + + + + Returns a ComparisonAdapter that wraps an IComparer<T> + + + + + Returns a ComparisonAdapter that wraps a Comparison<T> + + + + + Compares two objects + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Construct a ComparisonAdapter for an IComparer + + + + + Compares two objects + + + + + + + + Construct a default ComparisonAdapter + + + + + ComparisonAdapter<T> extends ComparisonAdapter and + allows use of an IComparer<T> or Comparison<T> + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an IComparer<T> + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a Comparison<T> + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + If true, less than returns success + + + + + if true, equal returns success + + + + + if true, greater than returns success + + + + + The predicate used as a part of the description + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + if set to true less succeeds. + if set to true equal succeeds. + if set to true greater succeeds. + String used in describing the constraint. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Modifies the constraint to use an IComparer and returns self + + + + + Modifies the constraint to use an IComparer<T> and returns self + + + + + Modifies the constraint to use a Comparison<T> and returns self + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reognized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expresson by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + true if this instance is resolvable; otherwise, false. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The builder. + + + + Pushes the specified operator onto the stack. + + The op. + + + + Pops the topmost operator from the stack. + + + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost operator without modifying the stack. + + The top. + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The builder. + + + + Pushes the specified constraint. As a side effect, + the constraint's builder field is set to the + ConstraintBuilder owning this stack. + + The constraint. + + + + Pops this topmost constrait from the stack. + As a side effect, the constraint's builder + field is set to null. + + + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost constraint without modifying the stack. + + The topmost constraint + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reognized. Once an actual Constraint is appended, the expression + returns a resolvable Constraint. + + + + + ConstraintExpressionBase is the abstract base class for the + generated ConstraintExpression class, which represents a + compound constraint in the process of being constructed + from a series of syntactic elements. + + NOTE: ConstraintExpressionBase is aware of some of its + derived classes, which is an apparent violation of + encapsulation. Ideally, these classes would be a + single class, but they must be separated in order to + allow parts to be generated under .NET 1.x and to + provide proper user feedback in syntactically + aware IDEs. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + The syntax element preceding this operator + + + + + The syntax element folowing this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + PrefixOperator takes a single constraint and modifies + it's action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifes the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the name of the property to which the operator applies + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Operator that requires both it's arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that requires at least one of it's arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to ignore case and return self. + + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Creates a new DelayedConstraint + + The inner constraint two decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint two decorate + The time interval after which the match is performed + The time interval used for polling + If the value of is less than 0 + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + + EmptyDirectoryConstraint is used to test that a directory is empty + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + If true, strings in error messages will be clipped + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Write description of this constraint + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + EqualityAdapter class handles all equality comparisons + that use an IEqualityComparer, IEqualityComparer<T> + or a ComparisonAdapter. + + + + + Compares two objects, returning true if they are equal + + + + + Returns an EqualityAdapter that wraps an IComparer. + + + + + Returns an EqualityAdapter that wraps an IEqualityComparer. + + + + + Returns an EqualityAdapter that wraps an IEqualityComparer<T>. + + + + + Returns an EqualityAdapter that wraps an IComparer<T>. + + + + + Returns an EqualityAdapter that wraps a Comparison<T>. + + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the values are + allowed to deviate by up to 2 adjacent floating point values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Compares two floating point values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + + True if both numbers are equal or close to being equal + + + Floating point values can only represent a finite subset of natural numbers. + For example, the values 2.00000000 and 2.00000024 can be stored in a float, + but nothing inbetween them. + + + This comparison will count how many possible floating point values are between + the left and the right number. If the number of possible values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point values that are + allowed to be between the left and the right double precision floating point values + + True if both numbers are equal or close to being equal + + + Double precision floating point values can only represent a limited series of + natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing inbetween them. + + + This comparison will count how many possible double precision floating point + values are between the left and the right number. If the number of possible + values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Reinterprets the memory contents of a floating point value as an integer value + + + Floating point value whose memory contents to reinterpret + + + The memory contents of the floating point value interpreted as an integer + + + + + Reinterprets the memory contents of a double precision floating point + value as an integer value + + + Double precision floating point value whose memory contents to reinterpret + + + The memory contents of the double precision floating point value + interpreted as an integer + + + + + Reinterprets the memory contents of an integer as a floating point value + + Integer value whose memory contents to reinterpret + + The memory contents of the integer value interpreted as a floating point value + + + + + Reinterprets the memory contents of an integer value as a double precision + floating point value + + Integer whose memory contents to reinterpret + + The memory contents of the integer interpreted as a double precision + floating point value + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The constraint that failed + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for a connector. + + The connector. + + + + Writes the text for a predicate. + + The predicate. + + + + Writes the text for an expected value. + + The expected value. + + + + Writes the text for a modifier + + The modifier. + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Abstract method to get the max line length + + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Compares two objects + + + + + + + + Returns the default NUnitComparer. + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + If non-zero, equality comparisons within the specified + tolerance will succeed. + + + + + Comparison object used in comparisons for some constraints. + + + + + Compares two objects for equality. + + + + + Helper method to compare two arrays + + + + + Method to compare two DirectoryInfo objects + + first directory to compare + second directory to compare + true if equivalent, false if not + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets and sets an external comparer to be used to + test for equality. It is applied to members of + collections, in place of NUnit's own logic. + + + + + Gets and sets a tolerance used to compare objects of + certin types. + + + + + Gets the list of failure points for the last Match performed. + + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + The expected path used in the constraint + + + + + The actual path being tested + + + + + Flag indicating whether a caseInsensitive comparison should be made + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns true if the expected path and actual path match + + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether two paths are the same + + The first path + The second path + Indicates whether case should be ignored + + + + + Test whether one path is under another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + Indicates whether case should be ignored + + + + + Test whether one path is the same as or under another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Modifies the current instance to be case-insensitve + and returns it. + + + + + Modifies the current instance to be case-sensitve + and returns it. + + + + + Summary description for SamePathConstraint. + + + + + Initializes a new instance of the class. + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The expected path + The actual path + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The expected path + The actual path + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + SamePathOrUnderConstraint tests that one path is under another + + + + + Initializes a new instance of the class. + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The expected path + The actual path + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Writes the description to a MessageWriter + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the vaue + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whethe two values are within a + specified range. + + + + + Initializes a new instance of the class. + + From. + To. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Modifies the constraint to use an IComparer and returns self. + + + + + Modifies the constraint to use an IComparer<T> and returns self. + + + + + Modifies the constraint to use a Comparison<T> and returns self. + + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Resolve the current expression to a Constraint + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + ReusableConstraint wraps a resolved constraint so that it + may be saved and reused as needed. + + + + + Construct a ReusableConstraint + + The constraint or expression to be reused + + + + Conversion operator from a normal constraint to a ReusableConstraint. + + The original constraint to be wrapped as a ReusableConstraint + + + + + Returns the string representation of the constraint. + + A string representing the constraint + + + + Resolves the ReusableConstraint by returning the constraint + that it originally wrapped. + + A resolved constraint + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation + + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of this constraint + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + EmptyStringConstraint tests whether a string is empty. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + NullEmptyStringConstraint tests whether a string is either null or empty. + + + + + Constructs a new NullOrEmptyStringConstraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of this constraint + + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Modes in which the tolerance value for a comparison can + be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Constructs a linear tolerance of a specdified amount + + + + + Constructs a tolerance given an amount and ToleranceMode + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Returns an empty Tolerance object, equivalent to + specifying an exact match. + + + + + Gets the ToleranceMode for the current Tolerance + + + + + Gets the value of the current Tolerance instance. + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of clock ticks. + + + + + Returns true if the current tolerance is empty. + + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + Construct a TypeConstraint for a given Type + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. TypeConstraints override this method to write + the name of the type. + + The writer on which the actual value is displayed + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + Test that an object is of the exact type specified + + The actual value. + True if the tested object is of the exact type provided, otherwise false. + + + + Write the description of this constraint to a MessageWriter + + The MessageWriter to use + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + Test whether an object is of the specified type or a derived type + + The object to be tested + True if the object is of the provided type or derives from it, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Test whether an object can be assigned from the specified type + + The object to be tested + True if the object can be assigned a value of the expected Type, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Test whether an object can be assigned to the specified type + + The object to be tested + True if the object can be assigned a value of the expected Type, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + Thrown when an assertion failed. + + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Thrown when a test executes inconclusively. + + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Throws an with the message and arguments + that are passed in. This is used by the other Assert functions. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This is used by the other Assert functions. + + The message to initialize the with. + + + + Throws an . + This is used by the other Assert functions. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestSnippet delegate + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate does not throw an exception. + + A TestSnippet delegate + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + + + + Assert that a string is not null or empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not null or empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is not null or empty + + The string to be tested + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + + + + Gets the number of assertions executed so far and + resets the counter to zero. + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter names for constraints and + asserts and avoiding conflict with the definition of + , from which it inherits much of its + behavior, in certain mock object frameworks. + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Returns a ListMapper based on a collection. + + The original collection + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + A set of Assert methods operationg on one or more collections + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + The message that will be displayed on failure + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that superset is not a subject of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that superset is not a subject of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + + + + Asserts that superset is not a subject of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that superset is a subset of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that superset is a subset of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + + + + Asserts that superset is a subset of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + Static helper class used in the constraint-based syntax + + + + + Creates a new SubstringConstraint + + The value of the substring + A SubstringConstraint + + + + Creates a new CollectionContainsConstraint. + + The item that should be found. + A new CollectionContainsConstraint + + + + Summary description for DirectoryAssert + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are not equal + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are equal + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Summary description for FileAssert. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if objects are not equal + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if objects are not equal + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if objects are not equal + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the Streams are the same. + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if objects are not equal + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if objects are not equal + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + GlobalSettings is a place for setting default values used + by the framework in performing asserts. + + + + + Default tolerance for floating point equality + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Interface implemented by a user fixture in order to + validate any expected exceptions. It is only called + for test methods marked with the ExpectedException + attribute. + + + + + Method to handle an expected exception + + The exception to be handled + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. + + + + + Get a randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Construct a randomizer using a random seed + + + + + Construct a randomizer using a specified seed + + + + + Return an array of random doubles between 0.0 and 1.0. + + + + + + + Return an array of random doubles with values in a specified range. + + + + + Return an array of random ints with values in a specified range. + + + + + Get a random seed for use in creating a randomizer. + + + + + The SpecialValue enum is used to represent TestCase arguments + that cannot be used as arguments to an Attribute. + + + + + Null represents a null value, which cannot be used as an + argument to an attriute under .NET 1.x + + + + + Basic Asserts on strings. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are Notequal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It provides a number of instance modifiers + for use in initializing the test case. + + Note: Instance modifiers are getters that return + the same instance after modifying it's state. + + + + + The argument list to be provided to the test + + + + + The expected result to be returned + + + + + The expected exception Type + + + + + The FullName of the expected exception + + + + + The name to be used for the test + + + + + The description of the test + + + + + A dictionary of properties, used to add information + to tests without requiring the class to change. + + + + + If true, indicates that the test case is to be ignored + + + + + The reason for ignoring a test case + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the expected exception type for the test + + Type of the expected exception. + The modified TestCaseData instance + + + + Sets the expected exception type for the test + + FullName of the expected exception. + The modified TestCaseData instance + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Ignores this TestCase. + + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Gets the argument list to be provided to the test + + + + + Gets the expected result + + + + + Gets the expected exception Type + + + + + Gets the FullName of the expected exception + + + + + Gets the name to be used for the test + + + + + Gets the description of the test + + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets the ignore reason. + + The ignore reason. + + + + Gets a list of categories associated with this test. + + + + + Gets the property dictionary for this test + + + + + Provide the context information of the current test + + + + + Constructs a TestContext using the provided context dictionary + + A context dictionary + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TestAdapter representing the currently executing test in this context. + + + + + Gets a ResultAdapter representing the current result for the test + executing in this context. + + + + + Gets the current directory for this TestContext + + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Constructs a TestAdapter for this context + + The context dictionary + + + + The name of the test. + + + + + The FullName of the test + + + + + The properties of the test. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a context + + The context holding the result + + + + The TestState of current test. This maps to the ResultState + used in nunit.core and is subject to change in the future. + + + + + The TestStatus of current test. This enum will be used + in future versions of NUnit and so is to be preferred + to the TestState value. + + + + + The ResultState enum indicates the result of running a test + + + + + The result is inconclusive + + + + + The test was not runnable. + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test succeeded + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + The test failed + + + + + Helper class with static methods used to supply constraints + that operate on strings. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The constraint that failed + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for a connector. + + The connector. + + + + Writes the text for a predicate. + + The predicate. + + + + Write the text for a modifier. + + The modifier. + + + + Writes the text for an expected value. + + The expected value. + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + The expected value + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The constraint for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + Gets or sets the maximum line length for this writer + + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying that no exception is thrown + + + + diff --git a/packages/NUnit.2.5.10.11092/lib/nunit.mocks.dll b/packages/NUnit.2.5.10.11092/lib/nunit.mocks.dll new file mode 100644 index 0000000..6ee2c1c Binary files /dev/null and b/packages/NUnit.2.5.10.11092/lib/nunit.mocks.dll differ diff --git a/packages/NUnit.2.5.10.11092/lib/pnunit.framework.dll b/packages/NUnit.2.5.10.11092/lib/pnunit.framework.dll new file mode 100644 index 0000000..6c105d7 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/lib/pnunit.framework.dll differ diff --git a/packages/NUnit.2.5.10.11092/license.txt b/packages/NUnit.2.5.10.11092/license.txt new file mode 100644 index 0000000..66a5ebf --- /dev/null +++ b/packages/NUnit.2.5.10.11092/license.txt @@ -0,0 +1,15 @@ +Copyright 2002-2008 Charlie Poole +Copyright 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov +Copyright 2000-2002 Philip A. Craig + +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment (see the following) in the product documentation is required. + +Portions Copyright 2002-2008 Charlie Poole or Copyright 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov or Copyright 2000-2002 Philip A. Craig + +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. diff --git a/packages/NUnit.2.5.10.11092/tools/NUnitTests.VisualState.xml b/packages/NUnit.2.5.10.11092/tools/NUnitTests.VisualState.xml new file mode 100644 index 0000000..d975dcd --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/NUnitTests.VisualState.xml @@ -0,0 +1,124 @@ + + + [0-1000]D:\Dev\NUnit\nunit-2.5\work\build\net\2.0\release\NUnitTests.nunit + [0-1000]D:\Dev\NUnit\nunit-2.5\work\build\net\2.0\release\NUnitTests.nunit + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.10.11092/tools/NUnitTests.config b/packages/NUnit.2.5.10.11092/tools/NUnitTests.config new file mode 100644 index 0000000..fb15771 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/NUnitTests.config @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/NUnit.2.5.10.11092/tools/NUnitTests.nunit b/packages/NUnit.2.5.10.11092/tools/NUnitTests.nunit new file mode 100644 index 0000000..e7bb7f4 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/NUnitTests.nunit @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/packages/NUnit.2.5.10.11092/tools/TestResult.xml b/packages/NUnit.2.5.10.11092/tools/TestResult.xml new file mode 100644 index 0000000..92a3219 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/TestResult.xml @@ -0,0 +1,5971 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.10.11092/tools/agent.conf b/packages/NUnit.2.5.10.11092/tools/agent.conf new file mode 100644 index 0000000..ddbcd8e --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/agent.conf @@ -0,0 +1,4 @@ + + 8080 + . + \ No newline at end of file diff --git a/packages/NUnit.2.5.10.11092/tools/agent.log.conf b/packages/NUnit.2.5.10.11092/tools/agent.log.conf new file mode 100644 index 0000000..4bd90ca --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/agent.log.conf @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/packages/NUnit.2.5.10.11092/tools/launcher.log.conf b/packages/NUnit.2.5.10.11092/tools/launcher.log.conf new file mode 100644 index 0000000..4bd90ca --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/launcher.log.conf @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/packages/NUnit.2.5.10.11092/tools/lib/Failure.png b/packages/NUnit.2.5.10.11092/tools/lib/Failure.png new file mode 100644 index 0000000..2e400b2 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/Failure.png differ diff --git a/packages/NUnit.2.5.10.11092/tools/lib/Ignored.png b/packages/NUnit.2.5.10.11092/tools/lib/Ignored.png new file mode 100644 index 0000000..478efbf Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/Ignored.png differ diff --git a/packages/NUnit.2.5.10.11092/tools/lib/Inconclusive.png b/packages/NUnit.2.5.10.11092/tools/lib/Inconclusive.png new file mode 100644 index 0000000..4807b7c Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/Inconclusive.png differ diff --git a/packages/NUnit.2.5.10.11092/tools/lib/Skipped.png b/packages/NUnit.2.5.10.11092/tools/lib/Skipped.png new file mode 100644 index 0000000..7c9fc64 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/Skipped.png differ diff --git a/packages/NUnit.2.5.10.11092/tools/lib/Success.png b/packages/NUnit.2.5.10.11092/tools/lib/Success.png new file mode 100644 index 0000000..2a30150 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/Success.png differ diff --git a/packages/NUnit.2.5.10.11092/tools/lib/fit.dll b/packages/NUnit.2.5.10.11092/tools/lib/fit.dll new file mode 100644 index 0000000..40bbef0 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/fit.dll differ diff --git a/packages/NUnit.2.5.10.11092/tools/lib/log4net.dll b/packages/NUnit.2.5.10.11092/tools/lib/log4net.dll new file mode 100644 index 0000000..20a2e1c Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/log4net.dll differ diff --git a/packages/NUnit.2.5.10.11092/tools/lib/nunit-console-runner.dll b/packages/NUnit.2.5.10.11092/tools/lib/nunit-console-runner.dll new file mode 100644 index 0000000..1709ce7 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/nunit-console-runner.dll differ diff --git a/packages/NUnit.2.5.10.11092/tools/lib/nunit-gui-runner.dll b/packages/NUnit.2.5.10.11092/tools/lib/nunit-gui-runner.dll new file mode 100644 index 0000000..35efa73 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/nunit-gui-runner.dll differ diff --git a/packages/NUnit.2.5.10.11092/tools/lib/nunit.core.dll b/packages/NUnit.2.5.10.11092/tools/lib/nunit.core.dll new file mode 100644 index 0000000..a1dd698 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/nunit.core.dll differ diff --git a/packages/NUnit.2.5.10.11092/tools/lib/nunit.core.interfaces.dll b/packages/NUnit.2.5.10.11092/tools/lib/nunit.core.interfaces.dll new file mode 100644 index 0000000..0ac8788 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/nunit.core.interfaces.dll differ diff --git a/packages/NUnit.2.5.10.11092/tools/lib/nunit.fixtures.dll b/packages/NUnit.2.5.10.11092/tools/lib/nunit.fixtures.dll new file mode 100644 index 0000000..8fd1932 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/nunit.fixtures.dll differ diff --git a/packages/NUnit.2.5.10.11092/tools/lib/nunit.uiexception.dll b/packages/NUnit.2.5.10.11092/tools/lib/nunit.uiexception.dll new file mode 100644 index 0000000..610c170 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/nunit.uiexception.dll differ diff --git a/packages/NUnit.2.5.10.11092/tools/lib/nunit.uikit.dll b/packages/NUnit.2.5.10.11092/tools/lib/nunit.uikit.dll new file mode 100644 index 0000000..9087db2 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/nunit.uikit.dll differ diff --git a/packages/NUnit.2.5.10.11092/tools/lib/nunit.util.dll b/packages/NUnit.2.5.10.11092/tools/lib/nunit.util.dll new file mode 100644 index 0000000..0b315c2 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/lib/nunit.util.dll differ diff --git a/packages/NUnit.2.5.10.11092/tools/nunit-agent-x86.exe b/packages/NUnit.2.5.10.11092/tools/nunit-agent-x86.exe new file mode 100644 index 0000000..ebcee1b Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/nunit-agent-x86.exe differ diff --git a/packages/NUnit.2.5.10.11092/tools/nunit-agent-x86.exe.config b/packages/NUnit.2.5.10.11092/tools/nunit-agent-x86.exe.config new file mode 100644 index 0000000..d840f37 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/nunit-agent-x86.exe.config @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.10.11092/tools/nunit-agent.exe b/packages/NUnit.2.5.10.11092/tools/nunit-agent.exe new file mode 100644 index 0000000..ec41f32 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/nunit-agent.exe differ diff --git a/packages/NUnit.2.5.10.11092/tools/nunit-agent.exe.config b/packages/NUnit.2.5.10.11092/tools/nunit-agent.exe.config new file mode 100644 index 0000000..d840f37 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/nunit-agent.exe.config @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.10.11092/tools/nunit-console-x86.exe b/packages/NUnit.2.5.10.11092/tools/nunit-console-x86.exe new file mode 100644 index 0000000..e08ac9c Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/nunit-console-x86.exe differ diff --git a/packages/NUnit.2.5.10.11092/tools/nunit-console-x86.exe.config b/packages/NUnit.2.5.10.11092/tools/nunit-console-x86.exe.config new file mode 100644 index 0000000..fa0a262 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/nunit-console-x86.exe.config @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.10.11092/tools/nunit-console.exe b/packages/NUnit.2.5.10.11092/tools/nunit-console.exe new file mode 100644 index 0000000..1544a9d Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/nunit-console.exe differ diff --git a/packages/NUnit.2.5.10.11092/tools/nunit-console.exe.config b/packages/NUnit.2.5.10.11092/tools/nunit-console.exe.config new file mode 100644 index 0000000..fa0a262 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/nunit-console.exe.config @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.10.11092/tools/nunit-x86.exe b/packages/NUnit.2.5.10.11092/tools/nunit-x86.exe new file mode 100644 index 0000000..fd342c0 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/nunit-x86.exe differ diff --git a/packages/NUnit.2.5.10.11092/tools/nunit-x86.exe.config b/packages/NUnit.2.5.10.11092/tools/nunit-x86.exe.config new file mode 100644 index 0000000..1641a50 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/nunit-x86.exe.config @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.10.11092/tools/nunit.exe b/packages/NUnit.2.5.10.11092/tools/nunit.exe new file mode 100644 index 0000000..ad8b08a Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/nunit.exe differ diff --git a/packages/NUnit.2.5.10.11092/tools/nunit.exe.config b/packages/NUnit.2.5.10.11092/tools/nunit.exe.config new file mode 100644 index 0000000..1641a50 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/nunit.exe.config @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.10.11092/tools/nunit.framework.dll b/packages/NUnit.2.5.10.11092/tools/nunit.framework.dll new file mode 100644 index 0000000..6856e51 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/nunit.framework.dll differ diff --git a/packages/NUnit.2.5.10.11092/tools/pnunit-agent.exe b/packages/NUnit.2.5.10.11092/tools/pnunit-agent.exe new file mode 100644 index 0000000..7a555e1 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/pnunit-agent.exe differ diff --git a/packages/NUnit.2.5.10.11092/tools/pnunit-agent.exe.config b/packages/NUnit.2.5.10.11092/tools/pnunit-agent.exe.config new file mode 100644 index 0000000..0bf29b3 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/pnunit-agent.exe.config @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.10.11092/tools/pnunit-launcher.exe b/packages/NUnit.2.5.10.11092/tools/pnunit-launcher.exe new file mode 100644 index 0000000..c70e58e Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/pnunit-launcher.exe differ diff --git a/packages/NUnit.2.5.10.11092/tools/pnunit-launcher.exe.config b/packages/NUnit.2.5.10.11092/tools/pnunit-launcher.exe.config new file mode 100644 index 0000000..0bf29b3 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/pnunit-launcher.exe.config @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NUnit.2.5.10.11092/tools/pnunit.framework.dll b/packages/NUnit.2.5.10.11092/tools/pnunit.framework.dll new file mode 100644 index 0000000..6c105d7 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/pnunit.framework.dll differ diff --git a/packages/NUnit.2.5.10.11092/tools/pnunit.tests.dll b/packages/NUnit.2.5.10.11092/tools/pnunit.tests.dll new file mode 100644 index 0000000..dce018a Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/pnunit.tests.dll differ diff --git a/packages/NUnit.2.5.10.11092/tools/runFile.exe b/packages/NUnit.2.5.10.11092/tools/runFile.exe new file mode 100644 index 0000000..a794458 Binary files /dev/null and b/packages/NUnit.2.5.10.11092/tools/runFile.exe differ diff --git a/packages/NUnit.2.5.10.11092/tools/runFile.exe.config b/packages/NUnit.2.5.10.11092/tools/runFile.exe.config new file mode 100644 index 0000000..f58f099 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/runFile.exe.config @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/NUnit.2.5.10.11092/tools/runpnunit.bat b/packages/NUnit.2.5.10.11092/tools/runpnunit.bat new file mode 100644 index 0000000..a05cbb7 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/runpnunit.bat @@ -0,0 +1,2 @@ +start pnunit-agent agent.conf +pnunit-launcher test.conf \ No newline at end of file diff --git a/packages/NUnit.2.5.10.11092/tools/test.conf b/packages/NUnit.2.5.10.11092/tools/test.conf new file mode 100644 index 0000000..14cd113 --- /dev/null +++ b/packages/NUnit.2.5.10.11092/tools/test.conf @@ -0,0 +1,24 @@ + + + + + Testing + + + Testing + pnunit.tests.dll + TestLibraries.Testing.EqualTo19 + localhost:8080 + + ..\server + + + + + + + + + + + \ No newline at end of file diff --git a/packages/Newtonsoft.Json.4.5.7/Newtonsoft.Json.4.5.7.nupkg b/packages/Newtonsoft.Json.4.5.7/Newtonsoft.Json.4.5.7.nupkg new file mode 100644 index 0000000..f8995fd Binary files /dev/null and b/packages/Newtonsoft.Json.4.5.7/Newtonsoft.Json.4.5.7.nupkg differ diff --git a/packages/Newtonsoft.Json.4.5.7/lib/net20/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.4.5.7/lib/net20/Newtonsoft.Json.dll new file mode 100644 index 0000000..664b5b5 Binary files /dev/null and b/packages/Newtonsoft.Json.4.5.7/lib/net20/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.4.5.7/lib/net20/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.4.5.7/lib/net20/Newtonsoft.Json.xml new file mode 100644 index 0000000..dbc2fdd --- /dev/null +++ b/packages/Newtonsoft.Json.4.5.7/lib/net20/Newtonsoft.Json.xml @@ -0,0 +1,8204 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Provides a set of static (Shared in Visual Basic) methods for + querying objects that implement . + + + + + Returns the input typed as . + + + + + Returns an empty that has the + specified type argument. + + + + + Converts the elements of an to the + specified type. + + + + + Filters the elements of an based on a specified type. + + + + + Generates a sequence of integral numbers within a specified range. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + + + + Generates a sequence that contains one repeated value. + + + + + Filters a sequence of values based on a predicate. + + + + + Filters a sequence of values based on a predicate. + Each element's index is used in the logic of the predicate function. + + + + + Projects each element of a sequence into a new form. + + + + + Projects each element of a sequence into a new form by + incorporating the element's index. + + + + + Projects each element of a sequence to an + and flattens the resulting sequences into one sequence. + + + + + Projects each element of a sequence to an , + and flattens the resulting sequences into one sequence. The + index of each source element is used in the projected form of + that element. + + + + + Projects each element of a sequence to an , + flattens the resulting sequences into one sequence, and invokes + a result selector function on each element therein. + + + + + Projects each element of a sequence to an , + flattens the resulting sequences into one sequence, and invokes + a result selector function on each element therein. The index of + each source element is used in the intermediate projected form + of that element. + + + + + Returns elements from a sequence as long as a specified condition is true. + + + + + Returns elements from a sequence as long as a specified condition is true. + The element's index is used in the logic of the predicate function. + + + + + Base implementation of First operator. + + + + + Returns the first element of a sequence. + + + + + Returns the first element in a sequence that satisfies a specified condition. + + + + + Returns the first element of a sequence, or a default value if + the sequence contains no elements. + + + + + Returns the first element of the sequence that satisfies a + condition or a default value if no such element is found. + + + + + Base implementation of Last operator. + + + + + Returns the last element of a sequence. + + + + + Returns the last element of a sequence that satisfies a + specified condition. + + + + + Returns the last element of a sequence, or a default value if + the sequence contains no elements. + + + + + Returns the last element of a sequence that satisfies a + condition or a default value if no such element is found. + + + + + Base implementation of Single operator. + + + + + Returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + + + Returns the only element of a sequence that satisfies a + specified condition, and throws an exception if more than one + such element exists. + + + + + Returns the only element of a sequence, or a default value if + the sequence is empty; this method throws an exception if there + is more than one element in the sequence. + + + + + Returns the only element of a sequence that satisfies a + specified condition or a default value if no such element + exists; this method throws an exception if more than one element + satisfies the condition. + + + + + Returns the element at a specified index in a sequence. + + + + + Returns the element at a specified index in a sequence or a + default value if the index is out of range. + + + + + Inverts the order of the elements in a sequence. + + + + + Returns a specified number of contiguous elements from the start + of a sequence. + + + + + Bypasses a specified number of elements in a sequence and then + returns the remaining elements. + + + + + Bypasses elements in a sequence as long as a specified condition + is true and then returns the remaining elements. + + + + + Bypasses elements in a sequence as long as a specified condition + is true and then returns the remaining elements. The element's + index is used in the logic of the predicate function. + + + + + Returns the number of elements in a sequence. + + + + + Returns a number that represents how many elements in the + specified sequence satisfy a condition. + + + + + Returns an that represents the total number + of elements in a sequence. + + + + + Returns an that represents how many elements + in a sequence satisfy a condition. + + + + + Concatenates two sequences. + + + + + Creates a from an . + + + + + Creates an array from an . + + + + + Returns distinct elements from a sequence by using the default + equality comparer to compare values. + + + + + Returns distinct elements from a sequence by using a specified + to compare values. + + + + + Creates a from an + according to a specified key + selector function. + + + + + Creates a from an + according to a specified key + selector function and a key comparer. + + + + + Creates a from an + according to specified key + and element selector functions. + + + + + Creates a from an + according to a specified key + selector function, a comparer and an element selector function. + + + + + Groups the elements of a sequence according to a specified key + selector function. + + + + + Groups the elements of a sequence according to a specified key + selector function and compares the keys by using a specified + comparer. + + + + + Groups the elements of a sequence according to a specified key + selector function and projects the elements for each group by + using a specified function. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. + + + + + Groups the elements of a sequence according to a key selector + function. The keys are compared by using a comparer and each + group's elements are projected by using a specified function. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. The elements of each group are projected by using a + specified function. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. The keys are compared by using a specified comparer. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. Key values are compared by using a specified comparer, + and the elements of each group are projected by using a + specified function. + + + + + Applies an accumulator function over a sequence. + + + + + Applies an accumulator function over a sequence. The specified + seed value is used as the initial accumulator value. + + + + + Applies an accumulator function over a sequence. The specified + seed value is used as the initial accumulator value, and the + specified function is used to select the result value. + + + + + Produces the set union of two sequences by using the default + equality comparer. + + + + + Produces the set union of two sequences by using a specified + . + + + + + Returns the elements of the specified sequence or the type + parameter's default value in a singleton collection if the + sequence is empty. + + + + + Returns the elements of the specified sequence or the specified + value in a singleton collection if the sequence is empty. + + + + + Determines whether all elements of a sequence satisfy a condition. + + + + + Determines whether a sequence contains any elements. + + + + + Determines whether any element of a sequence satisfies a + condition. + + + + + Determines whether a sequence contains a specified element by + using the default equality comparer. + + + + + Determines whether a sequence contains a specified element by + using a specified . + + + + + Determines whether two sequences are equal by comparing the + elements by using the default equality comparer for their type. + + + + + Determines whether two sequences are equal by comparing their + elements by using a specified . + + + + + Base implementation for Min/Max operator. + + + + + Base implementation for Min/Max operator for nullable types. + + + + + Returns the minimum value in a generic sequence. + + + + + Invokes a transform function on each element of a generic + sequence and returns the minimum resulting value. + + + + + Returns the maximum value in a generic sequence. + + + + + Invokes a transform function on each element of a generic + sequence and returns the maximum resulting value. + + + + + Makes an enumerator seen as enumerable once more. + + + The supplied enumerator must have been started. The first element + returned is the element the enumerator was on when passed in. + DO NOT use this method if the caller must be a generator. It is + mostly safe among aggregate operations. + + + + + Sorts the elements of a sequence in ascending order according to a key. + + + + + Sorts the elements of a sequence in ascending order by using a + specified comparer. + + + + + Sorts the elements of a sequence in descending order according to a key. + + + + + Sorts the elements of a sequence in descending order by using a + specified comparer. + + + + + Performs a subsequent ordering of the elements in a sequence in + ascending order according to a key. + + + + + Performs a subsequent ordering of the elements in a sequence in + ascending order by using a specified comparer. + + + + + Performs a subsequent ordering of the elements in a sequence in + descending order, according to a key. + + + + + Performs a subsequent ordering of the elements in a sequence in + descending order by using a specified comparer. + + + + + Base implementation for Intersect and Except operators. + + + + + Produces the set intersection of two sequences by using the + default equality comparer to compare values. + + + + + Produces the set intersection of two sequences by using the + specified to compare values. + + + + + Produces the set difference of two sequences by using the + default equality comparer to compare values. + + + + + Produces the set difference of two sequences by using the + specified to compare values. + + + + + Creates a from an + according to a specified key + selector function. + + + + + Creates a from an + according to a specified key + selector function and key comparer. + + + + + Creates a from an + according to specified key + selector and element selector functions. + + + + + Creates a from an + according to a specified key + selector function, a comparer, and an element selector function. + + + + + Correlates the elements of two sequences based on matching keys. + The default equality comparer is used to compare keys. + + + + + Correlates the elements of two sequences based on matching keys. + The default equality comparer is used to compare keys. A + specified is used to compare keys. + + + + + Correlates the elements of two sequences based on equality of + keys and groups the results. The default equality comparer is + used to compare keys. + + + + + Correlates the elements of two sequences based on equality of + keys and groups the results. The default equality comparer is + used to compare keys. A specified + is used to compare keys. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Represents a collection of objects that have a common key. + + + + + Gets the key of the . + + + + + Defines an indexer, size property, and Boolean search method for + data structures that map keys to + sequences of values. + + + + + Represents a sorted sequence. + + + + + Performs a subsequent ordering on the elements of an + according to a key. + + + + + Represents a collection of keys each mapped to one or more values. + + + + + Determines whether a specified key is in the . + + + + + Applies a transform function to each key and its associated + values and returns the results. + + + + + Returns a generic enumerator that iterates through the . + + + + + Gets the number of key/value collection pairs in the . + + + + + Gets the collection of values indexed by the specified key. + + + + + See issue #11 + for why this method is needed and cannot be expressed as a + lambda at the call site. + + + + + See issue #11 + for why this method is needed and cannot be expressed as a + lambda at the call site. + + + + + This attribute allows us to define extension methods without + requiring .NET Framework 3.5. For more information, see the section, + Extension Methods in .NET Framework 2.0 Apps, + of Basic Instincts: Extension Methods + column in MSDN Magazine, + issue Nov 2007. + + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON, and ignores setting members when the JSON value equals the member's default value. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets the Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.4.5.7/lib/net35/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.4.5.7/lib/net35/Newtonsoft.Json.dll new file mode 100644 index 0000000..06198ba Binary files /dev/null and b/packages/Newtonsoft.Json.4.5.7/lib/net35/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.4.5.7/lib/net35/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.4.5.7/lib/net35/Newtonsoft.Json.xml new file mode 100644 index 0000000..a215f85 --- /dev/null +++ b/packages/Newtonsoft.Json.4.5.7/lib/net35/Newtonsoft.Json.xml @@ -0,0 +1,7340 @@ + + + + Newtonsoft.Json + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework EntityKey to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON, and ignores setting members when the JSON value equals the member's default value. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets the Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Represents a method that constructs an object. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.4.5.7/lib/net40/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.4.5.7/lib/net40/Newtonsoft.Json.dll new file mode 100644 index 0000000..1c16c11 Binary files /dev/null and b/packages/Newtonsoft.Json.4.5.7/lib/net40/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.4.5.7/lib/net40/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.4.5.7/lib/net40/Newtonsoft.Json.xml new file mode 100644 index 0000000..e91d694 --- /dev/null +++ b/packages/Newtonsoft.Json.4.5.7/lib/net40/Newtonsoft.Json.xml @@ -0,0 +1,7583 @@ + + + + Newtonsoft.Json + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework EntityKey to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON, and ignores setting members when the JSON value equals the member's default value. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets the Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Asynchronously populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous populate operation. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Represents a method that constructs an object. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.4.5.7/lib/sl3-wp/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.4.5.7/lib/sl3-wp/Newtonsoft.Json.dll new file mode 100644 index 0000000..1b0524c Binary files /dev/null and b/packages/Newtonsoft.Json.4.5.7/lib/sl3-wp/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.4.5.7/lib/sl3-wp/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.4.5.7/lib/sl3-wp/Newtonsoft.Json.xml new file mode 100644 index 0000000..8dcee9b --- /dev/null +++ b/packages/Newtonsoft.Json.4.5.7/lib/sl3-wp/Newtonsoft.Json.xml @@ -0,0 +1,6883 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from JSON and BSON. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies default value handling options for the . + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON, and ignores setting members when the JSON value equals the member's default value. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets the Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.4.5.7/lib/sl4-windowsphone71/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.4.5.7/lib/sl4-windowsphone71/Newtonsoft.Json.dll new file mode 100644 index 0000000..1b0524c Binary files /dev/null and b/packages/Newtonsoft.Json.4.5.7/lib/sl4-windowsphone71/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.4.5.7/lib/sl4-windowsphone71/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.4.5.7/lib/sl4-windowsphone71/Newtonsoft.Json.xml new file mode 100644 index 0000000..8dcee9b --- /dev/null +++ b/packages/Newtonsoft.Json.4.5.7/lib/sl4-windowsphone71/Newtonsoft.Json.xml @@ -0,0 +1,6883 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from JSON and BSON. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies default value handling options for the . + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON, and ignores setting members when the JSON value equals the member's default value. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets the Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.4.5.7/lib/sl4/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.4.5.7/lib/sl4/Newtonsoft.Json.dll new file mode 100644 index 0000000..5d0eb2d Binary files /dev/null and b/packages/Newtonsoft.Json.4.5.7/lib/sl4/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.4.5.7/lib/sl4/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.4.5.7/lib/sl4/Newtonsoft.Json.xml new file mode 100644 index 0000000..75d624d --- /dev/null +++ b/packages/Newtonsoft.Json.4.5.7/lib/sl4/Newtonsoft.Json.xml @@ -0,0 +1,6905 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from JSON and BSON. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies default value handling options for the . + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON, and ignores setting members when the JSON value equals the member's default value. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets the Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.4.5.7/lib/winrt45/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.4.5.7/lib/winrt45/Newtonsoft.Json.dll new file mode 100644 index 0000000..7545d92 Binary files /dev/null and b/packages/Newtonsoft.Json.4.5.7/lib/winrt45/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.4.5.7/lib/winrt45/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.4.5.7/lib/winrt45/Newtonsoft.Json.xml new file mode 100644 index 0000000..45a72be --- /dev/null +++ b/packages/Newtonsoft.Json.4.5.7/lib/winrt45/Newtonsoft.Json.xml @@ -0,0 +1,7101 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from JSON and BSON. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies default value handling options for the . + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON, and ignores setting members when the JSON value equals the member's default value. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Asynchronously populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous populate operation. + + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets the Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/ServiceStack.Text.3.9.2/ServiceStack.Text.3.9.2.nupkg b/packages/ServiceStack.Text.3.9.2/ServiceStack.Text.3.9.2.nupkg new file mode 100644 index 0000000..92f1c2a Binary files /dev/null and b/packages/ServiceStack.Text.3.9.2/ServiceStack.Text.3.9.2.nupkg differ diff --git a/packages/ServiceStack.Text.3.9.2/lib/ServiceStack.Text-v3.83.zip b/packages/ServiceStack.Text.3.9.2/lib/ServiceStack.Text-v3.83.zip new file mode 100644 index 0000000..a31c1f9 Binary files /dev/null and b/packages/ServiceStack.Text.3.9.2/lib/ServiceStack.Text-v3.83.zip differ diff --git a/packages/ServiceStack.Text.3.9.2/lib/net35/ServiceStack.Text.XML b/packages/ServiceStack.Text.3.9.2/lib/net35/ServiceStack.Text.XML new file mode 100644 index 0000000..9d9f880 --- /dev/null +++ b/packages/ServiceStack.Text.3.9.2/lib/net35/ServiceStack.Text.XML @@ -0,0 +1,474 @@ + + + + ServiceStack.Text + + + + + Determines whether this serializer can create the specified type from a string. + + The type. + + true if this instance [can create from string] the specified type; otherwise, false. + + + + + Parses the specified value. + + The value. + + + + + Deserializes from reader. + + The reader. + + + + + Serializes to string. + + The value. + + + + + Serializes to writer. + + The value. + The writer. + + + + Parses the specified value. + + The value. + + + + + A class to allow the conversion of doubles to string representations of + their exact decimal values. The implementation aims for readability over + efficiency. + + Courtesy of @JonSkeet + http://www.yoda.arachsys.com/csharp/DoubleConverter.cs + + + + + + + + How many digits are *after* the decimal point + + + + + Constructs an arbitrary decimal expansion from the given long. + The long must not be negative. + + + + + Multiplies the current expansion by the given amount, which should + only be 2 or 5. + + + + + Shifts the decimal point; a negative value makes + the decimal expansion bigger (as fewer digits come after the + decimal place) and a positive value makes the decimal + expansion smaller. + + + + + Removes leading/trailing zeroes from the expansion. + + + + + Converts the value to a proper decimal string representation. + + + + + Implement the serializer using a more static approach + + + + + + Pretty Thread-Safe cache class from: + http://code.google.com/p/dapper-dot-net/source/browse/Dapper/SqlMapper.cs + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + + + + A fast, standards-based, serialization-issue free DateTime serailizer. + + + + + Creates an instance of a Type from a string value + + + + + micro optimizations: using flags instead of value.IndexOfAny(EscapeChars) + + + + + + + Get the type(string) constructor if exists + + The type. + + + + + Implement the serializer using a more static approach + + + + + + Represents an individual object, allowing access to members by-name + + + + + Use the target types definition of equality + + + + + Obtain the hash of the target object + + + + + Use the target's definition of a string representation + + + + + Wraps an individual object, allowing by-name access to that instance + + + + + Get or Set the value of a named member for the underlying object + + + + + The object represented by this instance + + + + + if the is configured + to take advantage of specification, + to support user-friendly serialized formats, ie emitting camelCasing for JSON + and parsing member names and enum values in a case-insensitive manner. + + + + + Gets or sets a value indicating if the framework should throw serialization exceptions + or continue regardless of deserialization errors. If the framework + will throw; otherwise, it will parse as many fields as possible. The default is . + + + + + Never emit type info for this type + + + + + if the is configured + to take advantage of specification, + to support user-friendly serialized formats, ie emitting camelCasing for JSON + and parsing member names and enum values in a case-insensitive manner. + + + + + Define custom serialization fn for BCL Structs + + + + + Define custom deserialization fn for BCL Structs + + + + + Exclude specific properties of this type from being serialized + + + + + Opt-in flag to set some Value Types to be treated as a Ref Type + + + + + Creates an instance of a Type from a string value + + + + + Determines whether the specified type is convertible from string. + + The type. + + true if the specified type is convertible from string; otherwise, false. + + + + + Parses the specified value. + + The value. + + + + + Parses the specified type. + + The type. + The value. + + + + + Useful extension method to get the Dictionary[string,string] representation of any POCO type. + + + + + + Recursively prints the contents of any POCO object in a human-friendly, readable format + + + + + + Print Dump to Console.WriteLine + + + + + Print string.Format to Console.WriteLine + + + + + A hashset implementation that uses an IDictionary + + + + + Shortcut escape when we're sure value doesn't contain any escaped chars + + + + + + + Since Silverlight doesn't have char.ConvertFromUtf32() so putting Mono's implemenation inline. + + + + + + + Class to hold + + + + + + @jonskeet: Collection of utility methods which operate on streams. + r285, February 26th 2009: http://www.yoda.arachsys.com/csharp/miscutil/ + + + + + Reads the given stream up to the end, returning the data as a byte + array. + + + + + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer size. + + + + + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer for transferring data. Note that the + current contents of the buffer is ignored, so the buffer needn't + be cleared beforehand. + + + + + Copies all the data from one stream into another. + + + + + Copies all the data from one stream into another, using a buffer + of the given size. + + + + + Copies all the data from one stream into another, using the given + buffer for transferring data. Note that the current contents of + the buffer is ignored, so the buffer needn't be cleared beforehand. + + + + + Reads exactly the given number of bytes from the specified stream. + If the end of the stream is reached before the specified amount + of data is read, an exception is thrown. + + + + + Reads into a buffer, filling it completely. + + + + + Reads exactly the given number of bytes from the specified stream, + into the given buffer, starting at position 0 of the array. + + + + + Reads exactly the given number of bytes from the specified stream, + into the given buffer, starting at position 0 of the array. + + + + + Same as ReadExactly, but without the argument checks. + + + + + Utils to load types + + + + + Find the type from the name supplied + + [typeName] or [typeName, assemblyName] + + + + + Find type if it exists + + + + The type if it exists + + + + Converts from base: 0 - 62 + + The source. + From. + To. + + + + + Skip the encoding process for 'safe strings' + + + + + + + Provides by-name member-access to objects of a given type + + + + + Create a new instance of this type + + + + + Provides a type-specific accessor, allowing by-name access for all objects of that type + + The accessor is cached internally; a pre-existing accessor may be returned + + + + Does this type support new instances via a parameterless constructor? + + + + + Get or set the value of a named member on the target instance + + + + + Implement the serializer using a more static approach + + + + + + micro optimizations: using flags instead of value.IndexOfAny(EscapeChars) + + + + + + + Parses the specified value. + + The value. + + + + + WCF Json format: /Date(unixts+0000)/ + + + + + + + WCF Json format: /Date(unixts+0000)/ + + + + + + diff --git a/packages/ServiceStack.Text.3.9.2/lib/net35/ServiceStack.Text.dll b/packages/ServiceStack.Text.3.9.2/lib/net35/ServiceStack.Text.dll new file mode 100644 index 0000000..6c4b066 Binary files /dev/null and b/packages/ServiceStack.Text.3.9.2/lib/net35/ServiceStack.Text.dll differ diff --git a/packages/ServiceStack.Text.3.9.2/lib/sl4-windowsphone71/ServiceStack.Text.WP.XML b/packages/ServiceStack.Text.3.9.2/lib/sl4-windowsphone71/ServiceStack.Text.WP.XML new file mode 100644 index 0000000..9ff9189 --- /dev/null +++ b/packages/ServiceStack.Text.3.9.2/lib/sl4-windowsphone71/ServiceStack.Text.WP.XML @@ -0,0 +1,409 @@ + + + + ServiceStack.Text.WP + + + + + Creates an instance of a Type from a string value + + + + + A fast, standards-based, serialization-issue free DateTime serailizer. + + + + + Class to hold + + + + + + WCF Json format: /Date(unixts+0000)/ + + + + + + + WCF Json format: /Date(unixts+0000)/ + + + + + + + Shortcut escape when we're sure value doesn't contain any escaped chars + + + + + + + Since Silverlight doesn't have char.ConvertFromUtf32() so putting Mono's implemenation inline. + + + + + + + Creates an instance of a Type from a string value + + + + + Determines whether the specified type is convertible from string. + + The type. + + true if the specified type is convertible from string; otherwise, false. + + + + + Parses the specified value. + + The value. + + + + + Parses the specified type. + + The type. + The value. + + + + + Useful extension method to get the Dictionary[string,string] representation of any POCO type. + + + + + + Recursively prints the contents of any POCO object in a human-friendly, readable format + + + + + + Implement the serializer using a more static approach + + + + + + Determines whether this serializer can create the specified type from a string. + + The type. + + true if this instance [can create from string] the specified type; otherwise, false. + + + + + Parses the specified value. + + The value. + + + + + Deserializes from reader. + + The reader. + + + + + Serializes to string. + + The value. + + + + + Serializes to writer. + + The value. + The writer. + + + + Parses the specified value. + + The value. + + + + + Pretty Thread-Safe cache class from: + http://code.google.com/p/dapper-dot-net/source/browse/Dapper/SqlMapper.cs + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + + + + Utils to load types + + + + + Find the type from the name supplied + + [typeName] or [typeName, assemblyName] + + + + + Find type if it exists + + + + The type if it exists + + + + if the is configured + to take advantage of specification, + to support user-friendly serialized formats, ie emitting camelCasing for JSON + and parsing member names and enum values in a case-insensitive manner. + + + + + Gets or sets a value indicating if the framework should throw serialization exceptions + or continue regardless of deserialization errors. If the framework + will throw; otherwise, it will parse as many fields as possible. The default is . + + + + + Provide hint to MonoTouch AOT compiler to pre-compile generic classes for all your DTOs. + Just needs to be called once in a static constructor. + + + + + Never emit type info for this type + + + + + if the is configured + to take advantage of specification, + to support user-friendly serialized formats, ie emitting camelCasing for JSON + and parsing member names and enum values in a case-insensitive manner. + + + + + Define custom serialization fn for BCL Structs + + + + + Define custom deserialization fn for BCL Structs + + + + + Exclude specific properties of this type from being serialized + + + + + Opt-in flag to set some Value Types to be treated as a Ref Type + + + + + micro optimizations: using flags instead of value.IndexOfAny(EscapeChars) + + + + + + + Parses the specified value. + + The value. + + + + + A class to allow the conversion of doubles to string representations of + their exact decimal values. The implementation aims for readability over + efficiency. + + Courtesy of @JonSkeet + http://www.yoda.arachsys.com/csharp/DoubleConverter.cs + + + + + + + + How many digits are *after* the decimal point + + + + + Constructs an arbitrary decimal expansion from the given long. + The long must not be negative. + + + + + Multiplies the current expansion by the given amount, which should + only be 2 or 5. + + + + + Shifts the decimal point; a negative value makes + the decimal expansion bigger (as fewer digits come after the + decimal place) and a positive value makes the decimal + expansion smaller. + + + + + Removes leading/trailing zeroes from the expansion. + + + + + Converts the value to a proper decimal string representation. + + + + + Implement the serializer using a more static approach + + + + + + A hashset implementation that uses an IDictionary + + + + + micro optimizations: using flags instead of value.IndexOfAny(EscapeChars) + + + + + + + @jonskeet: Collection of utility methods which operate on streams. + r285, February 26th 2009: http://www.yoda.arachsys.com/csharp/miscutil/ + + + + + Reads the given stream up to the end, returning the data as a byte + array. + + + + + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer size. + + + + + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer for transferring data. Note that the + current contents of the buffer is ignored, so the buffer needn't + be cleared beforehand. + + + + + Copies all the data from one stream into another. + + + + + Copies all the data from one stream into another, using a buffer + of the given size. + + + + + Copies all the data from one stream into another, using the given + buffer for transferring data. Note that the current contents of + the buffer is ignored, so the buffer needn't be cleared beforehand. + + + + + Reads exactly the given number of bytes from the specified stream. + If the end of the stream is reached before the specified amount + of data is read, an exception is thrown. + + + + + Reads into a buffer, filling it completely. + + + + + Reads exactly the given number of bytes from the specified stream, + into the given buffer, starting at position 0 of the array. + + + + + Reads exactly the given number of bytes from the specified stream, + into the given buffer, starting at position 0 of the array. + + + + + Same as ReadExactly, but without the argument checks. + + + + + Converts from base: 0 - 62 + + The source. + From. + To. + + + + + Skip the encoding process for 'safe strings' + + + + + + + Implement the serializer using a more static approach + + + + + + Get the type(string) constructor if exists + + The type. + + + + diff --git a/packages/ServiceStack.Text.3.9.2/lib/sl4-windowsphone71/ServiceStack.Text.WP.dll b/packages/ServiceStack.Text.3.9.2/lib/sl4-windowsphone71/ServiceStack.Text.WP.dll new file mode 100644 index 0000000..89b0735 Binary files /dev/null and b/packages/ServiceStack.Text.3.9.2/lib/sl4-windowsphone71/ServiceStack.Text.WP.dll differ diff --git a/packages/ServiceStack.Text.3.9.2/lib/sl4/ServiceStack.Text.dll b/packages/ServiceStack.Text.3.9.2/lib/sl4/ServiceStack.Text.dll new file mode 100644 index 0000000..73cf2f6 Binary files /dev/null and b/packages/ServiceStack.Text.3.9.2/lib/sl4/ServiceStack.Text.dll differ diff --git a/packages/ServiceStack.Text.3.9.2/lib/sl4/ServiceStack.Text.xml b/packages/ServiceStack.Text.3.9.2/lib/sl4/ServiceStack.Text.xml new file mode 100644 index 0000000..7bb9bfa --- /dev/null +++ b/packages/ServiceStack.Text.3.9.2/lib/sl4/ServiceStack.Text.xml @@ -0,0 +1,385 @@ + + + + ServiceStack.Text + + + + + Shortcut escape when we're sure value doesn't contain any escaped chars + + + + + + + Since Silverlight doesn't have char.ConvertFromUtf32() so putting Mono's implemenation inline. + + + + + + + Implement the serializer using a more static approach + + + + + + A fast, standards-based, serialization-issue free DateTime serailizer. + + + + + Creates an instance of a Type from a string value + + + + + Determines whether this serializer can create the specified type from a string. + + The type. + + true if this instance [can create from string] the specified type; otherwise, false. + + + + + Parses the specified value. + + The value. + + + + + Deserializes from reader. + + The reader. + + + + + Serializes to string. + + The value. + + + + + Serializes to writer. + + The value. + The writer. + + + + Parses the specified value. + + The value. + + + + + if the is configured + to take advantage of specification, + to support user-friendly serialized formats, ie emitting camelCasing for JSON + and parsing member names and enum values in a case-insensitive manner. + + + + + Provide hint to MonoTouch AOT compiler to pre-compile generic classes for all your DTOs. + Just needs to be called once in a static constructor. + + + + + Never emit type info for this type + + + + + if the is configured + to take advantage of specification, + to support user-friendly serialized formats, ie emitting camelCasing for JSON + and parsing member names and enum values in a case-insensitive manner. + + + + + Define custom serialization fn for BCL Structs + + + + + Define custom deserialization fn for BCL Structs + + + + + Exclude specific properties of this type from being serialized + + + + + Pretty Thread-Safe cache class from: + http://code.google.com/p/dapper-dot-net/source/browse/Dapper/SqlMapper.cs + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + + + + Creates an instance of a Type from a string value + + + + + Determines whether the specified type is convertible from string. + + The type. + + true if the specified type is convertible from string; otherwise, false. + + + + + Parses the specified value. + + The value. + + + + + Parses the specified type. + + The type. + The value. + + + + + Useful extension method to get the Dictionary[string,string] representation of any POCO type. + + + + + + Recursively prints the contents of any POCO object in a human-friendly, readable format + + + + + + A class to allow the conversion of doubles to string representations of + their exact decimal values. The implementation aims for readability over + efficiency. + + Courtesy of @JonSkeet + http://www.yoda.arachsys.com/csharp/DoubleConverter.cs + + + + + + + + How many digits are *after* the decimal point + + + + + Constructs an arbitrary decimal expansion from the given long. + The long must not be negative. + + + + + Multiplies the current expansion by the given amount, which should + only be 2 or 5. + + + + + Shifts the decimal point; a negative value makes + the decimal expansion bigger (as fewer digits come after the + decimal place) and a positive value makes the decimal + expansion smaller. + + + + + Removes leading/trailing zeroes from the expansion. + + + + + Converts the value to a proper decimal string representation. + + + + + @jonskeet: Collection of utility methods which operate on streams. + r285, February 26th 2009: http://www.yoda.arachsys.com/csharp/miscutil/ + + + + + Reads the given stream up to the end, returning the data as a byte + array. + + + + + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer size. + + + + + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer for transferring data. Note that the + current contents of the buffer is ignored, so the buffer needn't + be cleared beforehand. + + + + + Copies all the data from one stream into another. + + + + + Copies all the data from one stream into another, using a buffer + of the given size. + + + + + Copies all the data from one stream into another, using the given + buffer for transferring data. Note that the current contents of + the buffer is ignored, so the buffer needn't be cleared beforehand. + + + + + Reads exactly the given number of bytes from the specified stream. + If the end of the stream is reached before the specified amount + of data is read, an exception is thrown. + + + + + Reads into a buffer, filling it completely. + + + + + Reads exactly the given number of bytes from the specified stream, + into the given buffer, starting at position 0 of the array. + + + + + Reads exactly the given number of bytes from the specified stream, + into the given buffer, starting at position 0 of the array. + + + + + Same as ReadExactly, but without the argument checks. + + + + + Implement the serializer using a more static approach + + + + + + Parses the specified value. + + The value. + + + + + Converts from base: 0 - 62 + + The source. + From. + To. + + + + + Skip the encoding process for 'safe strings' + + + + + + + Class to hold + + + + + + Get the type(string) constructor if exists + + The type. + + + + + Implement the serializer using a more static approach + + + + + + Utils to load types + + + + + Find the type from the name supplied + + [typeName] or [typeName, assemblyName] + + + + + Find type if it exists + + + + The type if it exists + + + + micro optimizations: using flags instead of value.IndexOfAny(EscapeChars) + + + + + + + WCF Json format: /Date(unixts+0000)/ + + + + + + + micro optimizations: using flags instead of value.IndexOfAny(EscapeChars) + + + + + + diff --git a/packages/ServiceStack.Text.3.9.2/lib/sl5/ServiceStack.Text.dll b/packages/ServiceStack.Text.3.9.2/lib/sl5/ServiceStack.Text.dll new file mode 100644 index 0000000..4e69ec9 Binary files /dev/null and b/packages/ServiceStack.Text.3.9.2/lib/sl5/ServiceStack.Text.dll differ diff --git a/packages/ServiceStack.Text.3.9.2/lib/sl5/ServiceStack.Text.xml b/packages/ServiceStack.Text.3.9.2/lib/sl5/ServiceStack.Text.xml new file mode 100644 index 0000000..7bb9bfa --- /dev/null +++ b/packages/ServiceStack.Text.3.9.2/lib/sl5/ServiceStack.Text.xml @@ -0,0 +1,385 @@ + + + + ServiceStack.Text + + + + + Shortcut escape when we're sure value doesn't contain any escaped chars + + + + + + + Since Silverlight doesn't have char.ConvertFromUtf32() so putting Mono's implemenation inline. + + + + + + + Implement the serializer using a more static approach + + + + + + A fast, standards-based, serialization-issue free DateTime serailizer. + + + + + Creates an instance of a Type from a string value + + + + + Determines whether this serializer can create the specified type from a string. + + The type. + + true if this instance [can create from string] the specified type; otherwise, false. + + + + + Parses the specified value. + + The value. + + + + + Deserializes from reader. + + The reader. + + + + + Serializes to string. + + The value. + + + + + Serializes to writer. + + The value. + The writer. + + + + Parses the specified value. + + The value. + + + + + if the is configured + to take advantage of specification, + to support user-friendly serialized formats, ie emitting camelCasing for JSON + and parsing member names and enum values in a case-insensitive manner. + + + + + Provide hint to MonoTouch AOT compiler to pre-compile generic classes for all your DTOs. + Just needs to be called once in a static constructor. + + + + + Never emit type info for this type + + + + + if the is configured + to take advantage of specification, + to support user-friendly serialized formats, ie emitting camelCasing for JSON + and parsing member names and enum values in a case-insensitive manner. + + + + + Define custom serialization fn for BCL Structs + + + + + Define custom deserialization fn for BCL Structs + + + + + Exclude specific properties of this type from being serialized + + + + + Pretty Thread-Safe cache class from: + http://code.google.com/p/dapper-dot-net/source/browse/Dapper/SqlMapper.cs + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + + + + Creates an instance of a Type from a string value + + + + + Determines whether the specified type is convertible from string. + + The type. + + true if the specified type is convertible from string; otherwise, false. + + + + + Parses the specified value. + + The value. + + + + + Parses the specified type. + + The type. + The value. + + + + + Useful extension method to get the Dictionary[string,string] representation of any POCO type. + + + + + + Recursively prints the contents of any POCO object in a human-friendly, readable format + + + + + + A class to allow the conversion of doubles to string representations of + their exact decimal values. The implementation aims for readability over + efficiency. + + Courtesy of @JonSkeet + http://www.yoda.arachsys.com/csharp/DoubleConverter.cs + + + + + + + + How many digits are *after* the decimal point + + + + + Constructs an arbitrary decimal expansion from the given long. + The long must not be negative. + + + + + Multiplies the current expansion by the given amount, which should + only be 2 or 5. + + + + + Shifts the decimal point; a negative value makes + the decimal expansion bigger (as fewer digits come after the + decimal place) and a positive value makes the decimal + expansion smaller. + + + + + Removes leading/trailing zeroes from the expansion. + + + + + Converts the value to a proper decimal string representation. + + + + + @jonskeet: Collection of utility methods which operate on streams. + r285, February 26th 2009: http://www.yoda.arachsys.com/csharp/miscutil/ + + + + + Reads the given stream up to the end, returning the data as a byte + array. + + + + + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer size. + + + + + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer for transferring data. Note that the + current contents of the buffer is ignored, so the buffer needn't + be cleared beforehand. + + + + + Copies all the data from one stream into another. + + + + + Copies all the data from one stream into another, using a buffer + of the given size. + + + + + Copies all the data from one stream into another, using the given + buffer for transferring data. Note that the current contents of + the buffer is ignored, so the buffer needn't be cleared beforehand. + + + + + Reads exactly the given number of bytes from the specified stream. + If the end of the stream is reached before the specified amount + of data is read, an exception is thrown. + + + + + Reads into a buffer, filling it completely. + + + + + Reads exactly the given number of bytes from the specified stream, + into the given buffer, starting at position 0 of the array. + + + + + Reads exactly the given number of bytes from the specified stream, + into the given buffer, starting at position 0 of the array. + + + + + Same as ReadExactly, but without the argument checks. + + + + + Implement the serializer using a more static approach + + + + + + Parses the specified value. + + The value. + + + + + Converts from base: 0 - 62 + + The source. + From. + To. + + + + + Skip the encoding process for 'safe strings' + + + + + + + Class to hold + + + + + + Get the type(string) constructor if exists + + The type. + + + + + Implement the serializer using a more static approach + + + + + + Utils to load types + + + + + Find the type from the name supplied + + [typeName] or [typeName, assemblyName] + + + + + Find type if it exists + + + + The type if it exists + + + + micro optimizations: using flags instead of value.IndexOfAny(EscapeChars) + + + + + + + WCF Json format: /Date(unixts+0000)/ + + + + + + + micro optimizations: using flags instead of value.IndexOfAny(EscapeChars) + + + + + + diff --git a/packages/jayrock-json.0.9.12915/COPYING.LESSER.txt b/packages/jayrock-json.0.9.12915/COPYING.LESSER.txt new file mode 100644 index 0000000..cca7fc2 --- /dev/null +++ b/packages/jayrock-json.0.9.12915/COPYING.LESSER.txt @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/packages/jayrock-json.0.9.12915/COPYING.txt b/packages/jayrock-json.0.9.12915/COPYING.txt new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/packages/jayrock-json.0.9.12915/COPYING.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/packages/jayrock-json.0.9.12915/jayrock-json.0.9.12915.nupkg b/packages/jayrock-json.0.9.12915/jayrock-json.0.9.12915.nupkg new file mode 100644 index 0000000..ed487ad Binary files /dev/null and b/packages/jayrock-json.0.9.12915/jayrock-json.0.9.12915.nupkg differ diff --git a/packages/jayrock-json.0.9.12915/lib/net2/Jayrock.Json.dll b/packages/jayrock-json.0.9.12915/lib/net2/Jayrock.Json.dll new file mode 100644 index 0000000..6df39f3 Binary files /dev/null and b/packages/jayrock-json.0.9.12915/lib/net2/Jayrock.Json.dll differ diff --git a/packages/jayrock-json.0.9.12915/lib/net4/Jayrock.Json.dll b/packages/jayrock-json.0.9.12915/lib/net4/Jayrock.Json.dll new file mode 100644 index 0000000..506d7b3 Binary files /dev/null and b/packages/jayrock-json.0.9.12915/lib/net4/Jayrock.Json.dll differ diff --git a/packages/protobuf-net.2.0.0.480/lib/ios/protobuf-net.dll b/packages/protobuf-net.2.0.0.480/lib/ios/protobuf-net.dll new file mode 100644 index 0000000..919d6b3 Binary files /dev/null and b/packages/protobuf-net.2.0.0.480/lib/ios/protobuf-net.dll differ diff --git a/packages/protobuf-net.2.0.0.480/lib/ios/protobuf-net.xml b/packages/protobuf-net.2.0.0.480/lib/ios/protobuf-net.xml new file mode 100644 index 0000000..f56c7f0 --- /dev/null +++ b/packages/protobuf-net.2.0.0.480/lib/ios/protobuf-net.xml @@ -0,0 +1,1474 @@ + + + + protobuf-net + + + + + Provides support for common .NET types that do not have a direct representation + in protobuf, using the definitions from bcl.proto + + + + + Creates a new instance of the specified type, bypassing the constructor. + + The type to create + The new instance + If the platform does not support constructor-skipping + + + + Writes a TimeSpan to a protobuf stream + + + + + Parses a TimeSpan from a protobuf stream + + + + + Parses a DateTime from a protobuf stream + + + + + Writes a DateTime to a protobuf stream + + + + + Parses a decimal from a protobuf stream + + + + + Writes a decimal to a protobuf stream + + + + + Writes a Guid to a protobuf stream + + + + + Parses a Guid from a protobuf stream + + + + + Reads an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Writes an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Optional behaviours that introduce .NET-specific functionality + + + + + No special behaviour + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + If false, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Provides a simple buffer-based implementation of an extension object. + + + + + Provides addition capability for supporting unexpected fields during + protocol-buffer serialization/deserialization. This allows for loss-less + round-trip/merge, even when the data is not fully understood. + + + + + Requests a stream into which any unexpected fields can be persisted. + + A new stream suitable for storing data. + + + + Indicates that all unexpected fields have now been stored. The + implementing class is responsible for closing the stream. If + "commit" is not true the data may be discarded. + + The stream originally obtained by BeginAppend. + True if the append operation completed successfully. + + + + Requests a stream of the unexpected fields previously stored. + + A prepared stream of the unexpected fields. + + + + Indicates that all unexpected fields have now been read. The + implementing class is responsible for closing the stream. + + The stream originally obtained by BeginQuery. + + + + Requests the length of the raw binary stream; this is used + when serializing sub-entities to indicate the expected size. + + The length of the binary stream representing unexpected data. + + + Specifies a method on the root-contract in an hierarchy to be invoked before serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. + + + + Sub-format to use when serializing/deserializing data + + + + + Uses the default encoding for the data-type. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that zigzag variant encoding will be used. This means that values + with small magnitude (regardless of sign) take a small amount + of space to encode. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that two's-complement variant encoding will be used. + This means that any -ve number will take 10 bytes (even for 32-bit), + so should only be used for compatibility. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that a fixed amount of space will be used. + + + + + When applied to a sub-message, indicates that the value should be treated + as group-delimited. + + + + + This class acts as an internal wrapper allowing us to do a dynamic + methodinfo invoke; an't put into Serializer as don't want on public + API; can't put into Serializer<T> since we need to invoke + accross classes, which isn't allowed in Silverlight) + + + + + All this does is call GetExtendedValuesTyped with the correct type for "instance"; + this ensures that we don't get issues with subclasses declaring conflicting types - + the caller must respect the fields defined for the type they pass in. + + + + + Reads the given value(s) from the instance's stream; the serializer + is inferred from TValue and format. For singletons, each occurrence + is merged [only applies for sub-objects], and the composed + value if yielded once; otherwise ("repeated") each occurrence + is yielded separately. + + Needs to be public to be callable thru reflection in Silverlight + + + + Stores the given value into the instance's stream; the serializer + is inferred from TValue and format. + + Needs to be public to be callable thru reflection in Silverlight + + + + Not all frameworks are created equal (fx1.1 vs fx2.0, + micro-framework, compact-framework, + silverlight, etc). This class simply wraps up a few things that would + otherwise make the real code unnecessarily messy, providing fallback + implementations if necessary. + + + + + Intended to be a direct map to regular TypeCode, but: + - with missing types + - existing on WinRT + + + + + Indicates that the implementing type has support for protocol-buffer + extensions. + + Can be implemented by deriving from . + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Specifies the method used to infer field tags for members of the type + under consideration. Tags are deduced using the invariant alphabetic + sequence of the members' names; this makes implicit field tags very brittle, + and susceptible to changes such as field names (normally an isolated + change). + + + + + No members are serialized implicitly; all members require a suitable + attribute such as [ProtoMember]. This is the recmomended mode for + most scenarios. + + + + + Public properties and fields are eligible for implicit serialization; + this treats the public API as a contract. Ordering beings from ImplicitFirstTag. + + + + + Public and non-public fields are eligible for implicit serialization; + this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. + + + + + Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could + be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). + + + + + The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. + + + + + The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. + + + + + Delegate type used to perform type-formatting functions; the sender originates as the type-model. + + + + + Provides protobuf serialization support for a number of types + + + + + This is the more "complete" version of Serialize, which handles single instances of mapped types. + The value is written as a complete field, including field-header and (for sub-objects) a + length-prefix + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType + + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume (or -1 to read to the end of the stream). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + This is the more "complete" version of Deserialize, which handles single instances of mapped types. + The value is read as a complete field, including field-header and (for sub-objects) a + length-prefix..kmc + + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IList sets of any type handled by TryDeserializeAuxiliaryType + + + + + Applies common proxy scenarios, resolving the actual type to consider + + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Provides the key that represents a given type in the current model. + The type is also normalized for proxies at the same time. + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Indicates that while an inheritance tree exists, the exact type encountered was not + specified in that hierarchy and cannot be processed. + + + + + Indicates that the given type was not expected, and cannot be processed. + + + + + Indicates that the given type cannot be constructed; it may still be possible to + deserialize into existing instances. + + + + + Returns true if the type supplied is either a recognised contract type, + or a *list* of a recognised contract type. + + Note that primitives always return false, even though the engine + will, if forced, try to serialize such + True if this type is recognised as a serializable entity, else false + + + + Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting + are provided on a single API as it is essential that both are mapped identically at all times. + + + + + Indicates the type of callback to be used + + + + + Invoked before an object is serialized + + + + + Invoked after an object is serialized + + + + + Invoked before an object is deserialized (or when a new instance is created) + + + + + Invoked after an object is deserialized + + + + + Specifies the type of prefix that should be applied to messages. + + + + + No length prefix is applied to the data; the data is terminated only be the end of the stream. + + + + + A base-128 length prefix is applied to the data (efficient for short messages). + + + + + A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). + + + + + A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). + + + + + Indicates that a type is defined for protocol-buffer serialization. + + + + + Gets or sets the defined name of the type. + + + + + Gets or sets the fist offset to use with implicit field tags; + only uesd if ImplicitFields is set. + + + + + If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. + + + + + If specified, do NOT treat this type as a list, even if it looks like one. + + + + + Gets or sets the mechanism used to automatically infer field tags + for members. This option should be used in advanced scenarios only. + Please review the important notes against the ImplicitFields enumeration. + + + + + Enables/disables automatic tag generation based on the existing name / order + of the defined members. This option is not used for members marked + with ProtoMemberAttribute, as intended to provide compatibility with + WCF serialization. WARNING: when adding new fields you must take + care to increase the Order for new elements, otherwise data corruption + may occur. + + If not explicitly specified, the default is assumed from . + + + + Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. + + + + + Specifies an offset to apply to [DataMember(Order=...)] markers; + this is useful when working with mex-generated classes that have + a different origin (usually 1 vs 0) than the original data-contract. + + This value is added to the Order of each member. + + + + + If true, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Used to define protocol-buffer specific behavior for + enumerated values. + + + + + Indicates whether this instance has a customised value mapping + + true if a specific value is set + + + + Gets or sets the specific value to use for this enum during serialization. + + + + + Gets or sets the defined name of the enum, as used in .proto + (this name is not used during serialization). + + + + + Indicates an error during serialization/deserialization of a proto stream. + + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. + + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. This allows + ProtoIgnoreAttribute usage + even for partial classes where the individual members are not + under direct control. + + + + + Creates a new ProtoPartialIgnoreAttribute instance. + + Specifies the member to be ignored. + + + + The name of the member to be ignored. + + + + + Indicates the known-types to support for an individual + message. This serializes each level in the hierarchy as + a nested message to retain wire-compatibility with + other protocol-buffer implementations. + + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Gets the unique index (within the type) that will identify this data. + + + + + Gets the additional type to serialize/deserialize. + + + + + Gets the additional type to serialize/deserialize. + + + + + Specifies whether the inherited sype's sub-message should be + written with a length-prefix (default), or with group markers. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag. A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + + + + Gets or sets the original name defined in the .proto; not used + during serialization. + + + + + Gets or sets the data-format to be used when encoding this value. + + + + + Gets the unique tag used to identify this member within the type. + + + + + Gets or sets a value indicating whether this member is mandatory. + + + + + Gets a value indicating whether this member is packed. + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets or sets a value indicating whether this member is packed (lists/arrays). + + + + + Additional (optional) settings that control serialization of members + + + + + Default; no additional options + + + + + Indicates that repeated elements should use packed (length-prefixed) encoding + + + + + Indicates that the given item is required + + + + + Enables full object-tracking/full-graph support + + + + + Embeds the type information into the stream, allowing usage with types not known in advance + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag and MemberName. This allows ProtoMemberAttribute usage + even for partial classes where the individual members are not + under direct control. + A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + Specifies the member to be serialized. + + + + The name of the member to be serialized. + + + + + A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call + ReadFieldHeader and (after matching the field) an appropriate Read* method. + + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + The number of bytes to read, or -1 to read until the end of the stream + + + + Releases resources used by the reader, but importantly does not Dispose the + underlying stream; in many typical use-cases the stream is used for different + processes, so it is assumed that the consumer will Dispose their stream separately. + + + + + Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a string from the stream (using UTF8); supported wire-types: String + + + + + Throws an exception indication that the given value cannot be mapped to an enum. + + + + + Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) + parsing the message in accordance with the model associated with the reader + + + + + Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup + marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader + should return zero) + + + + + Begins consuming a nested message in the stream; supported wire-types: StartGroup, String + + The token returned must be help and used when callining EndSubItem + + + + Reads a field header from the stream, setting the wire-type and retuning the field number. If no + more fields are available, then 0 is returned. This methods respects sub-messages. + + + + + Looks ahead to see whether the next field in the stream is what we expect + (typically; what we've just finished reading - for example ot read successive list items) + + + + + Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, + a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. + + + + + Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, + SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. + + + + + Discards the data for the current field. + + + + + Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + + Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + + Reads a little-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a big-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a varint encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available. + + + + + Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available. + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + The number of bytes consumed; 0 if no data available + + + + Copies the current field into the instance as extension data + + + + + Indicates whether the reader still has data remaining in the current sub-item, + additionally setting the wire-type for the next field if there is more data. + This is used when decoding packed data. + + + + + Utility method, not intended for public use; this helps maintain the root object is complex scenarios + + + + + Gets the number of the field being processed. + + + + + Indicates the underlying proto serialization format on the wire. + + + + + Addition information about this deserialization operation. + + + + + Returns the position of the current reader (note that this is not necessarily the same as the position + in the underlying stream, if multiple readers are used on the same stream) + + + + + Represents an output stream for writing protobuf data. + + Why is the API backwards (static methods with writer arguments)? + See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html + + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type) - but the + caller is asserting that this relationship is non-recursive; no recursion check will be + performed. + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Writes a field-header, indicating the format of the next data we plan to write. + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Indicates the start of a nested record. + + The instance to write. + The destination. + A token representing the state of the stream; this token is given to EndSubItem. + + + + Indicates the end of a nested record. + + The token obtained from StartubItem. + The destination. + + + + Creates a new writer against a stream + + The destination stream + The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects + Additional context about this serialization operation + + + + Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed + by this operation. + + + + + Writes any buffered data (if possible) to the underlying stream. + + The writer to flush + It is not always possible to fully flush, since some sequences + may require values to be back-filled into the byte-stream. + + + + Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a string to the stream; supported wire-types: String + + + + + Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Throws an exception indicating that the given enum cannot be mapped to a serialized value. + + + + + Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Copies any extension data stored for the instance to the underlying stream + + + + + Used for packed encoding; indicates that the next field should be skipped rather than + a field header written. Note that the field number must match, else an exception is thrown + when the attempt is made to write the (incorrect) field. The wire-type is taken from the + subsequent call to WriteFieldHeader. Only primitive types can be packed. + + + + + Specifies a known root object to use during reference-tracked serialization + + + + + Addition information about this serialization operation. + + + + + Additional information about a serialization operation + + + + + Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. + + + + + A default SerializationContext, with minimal information. + + + + + Provides protocol-buffer serialization capability for concrete, attributed types. This + is a *default* model, but custom serializer models are also supported. + + + Protocol-buffer serialization is a compact binary format, designed to take + advantage of sparse data and knowledge of specific data types; it is also + extensible, allowing a type to be deserialized / merged even if some data is + not recognised. + + + + + The field number that is used as a default when serializing/deserializing a list of objects. + The data is treated as repeated message with field number 1. + + + + + Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization + operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense + of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). + + + + + Maps a field-number to a type + + + + + Used to hold particulars relating to nested objects. This is opaque to the caller - simply + give back the token you are given at the end of an object. + + + + + Indicates the encoding used to represent an individual value in a protobuf stream + + + + + Represents an error condition + + + + + Base-128 variant-length encoding + + + + + Fixed-length 8-byte encoding + + + + + Length-variant-prefixed encoding + + + + + Indicates the start of a group + + + + + Indicates the end of a group + + + + + Fixed-length 4-byte encoding + 10 + + + + This is not a formal wire-type in the "protocol buffers" spec, but + denotes a variant integer that should be interpreted using + zig-zag semantics (so -ve numbers aren't a significant overhead) + + + + diff --git a/packages/protobuf-net.2.0.0.480/lib/mono/protobuf-net.dll b/packages/protobuf-net.2.0.0.480/lib/mono/protobuf-net.dll new file mode 100644 index 0000000..4b9f1d7 Binary files /dev/null and b/packages/protobuf-net.2.0.0.480/lib/mono/protobuf-net.dll differ diff --git a/packages/protobuf-net.2.0.0.480/lib/mono/protobuf-net.xml b/packages/protobuf-net.2.0.0.480/lib/mono/protobuf-net.xml new file mode 100644 index 0000000..cf878c7 --- /dev/null +++ b/packages/protobuf-net.2.0.0.480/lib/mono/protobuf-net.xml @@ -0,0 +1,2434 @@ + + + + protobuf-net + + + + + Provides support for common .NET types that do not have a direct representation + in protobuf, using the definitions from bcl.proto + + + + + Optional behaviours that introduce .NET-specific functionality + + + + + No special behaviour + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + If false, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Creates a new instance of the specified type, bypassing the constructor. + + The type to create + The new instance + If the platform does not support constructor-skipping + + + + Writes a TimeSpan to a protobuf stream + + + + + Parses a TimeSpan from a protobuf stream + + + + + Parses a DateTime from a protobuf stream + + + + + Writes a DateTime to a protobuf stream + + + + + Parses a decimal from a protobuf stream + + + + + Writes a decimal to a protobuf stream + + + + + Writes a Guid to a protobuf stream + + + + + Parses a Guid from a protobuf stream + + + + + Reads an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Writes an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Provides a simple buffer-based implementation of an extension object. + + + + Specifies a method on the root-contract in an hierarchy to be invoked before serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. + + + + Sub-format to use when serializing/deserializing data + + + + + Uses the default encoding for the data-type. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that zigzag variant encoding will be used. This means that values + with small magnitude (regardless of sign) take a small amount + of space to encode. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that two's-complement variant encoding will be used. + This means that any -ve number will take 10 bytes (even for 32-bit), + so should only be used for compatibility. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that a fixed amount of space will be used. + + + + + When applied to a sub-message, indicates that the value should be treated + as group-delimited. + + + + + Simple base class for supporting unexpected fields allowing + for loss-less round-tips/merge, even if the data is not understod. + The additional fields are (by default) stored in-memory in a buffer. + + As an example of an alternative implementation, you might + choose to use the file system (temporary files) as the back-end, tracking + only the paths [such an object would ideally be IDisposable and use + a finalizer to ensure that the files are removed]. + + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Provides a simple, default implementation for extension support, + optionally creating it if it does not already exist. Designed to be called by + classes implementing . + + Should a new extension object be + created if it does not already exist? + The extension field to check (and possibly update). + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The type of the value to append. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The model that represents the data. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + Allow tags that are present as part of the definition; for example, to query unknown enum values. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + An enumerator that yields each occurrence of the field. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + An enumerator that yields each occurrence of the field. + + + + This class acts as an internal wrapper allowing us to do a dynamic + methodinfo invoke; an't put into Serializer as don't want on public + API; can't put into Serializer<T> since we need to invoke + accross classes, which isn't allowed in Silverlight) + + + + + All this does is call GetExtendedValuesTyped with the correct type for "instance"; + this ensures that we don't get issues with subclasses declaring conflicting types - + the caller must respect the fields defined for the type they pass in. + + + + + Reads the given value(s) from the instance's stream; the serializer + is inferred from TValue and format. For singletons, each occurrence + is merged [only applies for sub-objects], and the composed + value if yielded once; otherwise ("repeated") each occurrence + is yielded separately. + + Needs to be public to be callable thru reflection in Silverlight + + + + Stores the given value into the instance's stream; the serializer + is inferred from TValue and format. + + Needs to be public to be callable thru reflection in Silverlight + + + + Not all frameworks are created equal (fx1.1 vs fx2.0, + micro-framework, compact-framework, + silverlight, etc). This class simply wraps up a few things that would + otherwise make the real code unnecessarily messy, providing fallback + implementations if necessary. + + + + + Intended to be a direct map to regular TypeCode, but: + - with missing types + - existing on WinRT + + + + + Indicates that the implementing type has support for protocol-buffer + extensions. + + Can be implemented by deriving from . + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Provides addition capability for supporting unexpected fields during + protocol-buffer serialization/deserialization. This allows for loss-less + round-trip/merge, even when the data is not fully understood. + + + + + Requests a stream into which any unexpected fields can be persisted. + + A new stream suitable for storing data. + + + + Indicates that all unexpected fields have now been stored. The + implementing class is responsible for closing the stream. If + "commit" is not true the data may be discarded. + + The stream originally obtained by BeginAppend. + True if the append operation completed successfully. + + + + Requests a stream of the unexpected fields previously stored. + + A prepared stream of the unexpected fields. + + + + Indicates that all unexpected fields have now been read. The + implementing class is responsible for closing the stream. + + The stream originally obtained by BeginQuery. + + + + Requests the length of the raw binary stream; this is used + when serializing sub-entities to indicate the expected size. + + The length of the binary stream representing unexpected data. + + + + Specifies the method used to infer field tags for members of the type + under consideration. Tags are deduced using the invariant alphabetic + sequence of the members' names; this makes implicit field tags very brittle, + and susceptible to changes such as field names (normally an isolated + change). + + + + + No members are serialized implicitly; all members require a suitable + attribute such as [ProtoMember]. This is the recmomended mode for + most scenarios. + + + + + Public properties and fields are eligible for implicit serialization; + this treats the public API as a contract. Ordering beings from ImplicitFirstTag. + + + + + Public and non-public fields are eligible for implicit serialization; + this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. + + + + + Specifies the type of prefix that should be applied to messages. + + + + + No length prefix is applied to the data; the data is terminated only be the end of the stream. + + + + + A base-128 length prefix is applied to the data (efficient for short messages). + + + + + A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). + + + + + A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). + + + + + Indicates that a type is defined for protocol-buffer serialization. + + + + + Gets or sets the defined name of the type. + + + + + Gets or sets the fist offset to use with implicit field tags; + only uesd if ImplicitFields is set. + + + + + If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. + + + + + If specified, do NOT treat this type as a list, even if it looks like one. + + + + + Gets or sets the mechanism used to automatically infer field tags + for members. This option should be used in advanced scenarios only. + Please review the important notes against the ImplicitFields enumeration. + + + + + Enables/disables automatic tag generation based on the existing name / order + of the defined members. This option is not used for members marked + with ProtoMemberAttribute, as intended to provide compatibility with + WCF serialization. WARNING: when adding new fields you must take + care to increase the Order for new elements, otherwise data corruption + may occur. + + If not explicitly specified, the default is assumed from . + + + + Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. + + + + + Specifies an offset to apply to [DataMember(Order=...)] markers; + this is useful when working with mex-generated classes that have + a different origin (usually 1 vs 0) than the original data-contract. + This value is added to the Order of each member. + + + + + If true, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Used to define protocol-buffer specific behavior for + enumerated values. + + + + + Gets or sets the specific value to use for this enum during serialization. + + + + + Gets or sets the defined name of the enum, as used in .proto + (this name is not used during serialization). + + + + + Indicates whether this instance has a customised value mapping + + true if a specific value is set + + + + Indicates an error during serialization/deserialization of a proto stream. + + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. + + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. This allows + ProtoIgnoreAttribute usage + even for partial classes where the individual members are not + under direct control. + + + + + Creates a new ProtoPartialIgnoreAttribute instance. + + Specifies the member to be ignored. + + + + The name of the member to be ignored. + + + + + Indicates the known-types to support for an individual + message. This serializes each level in the hierarchy as + a nested message to retain wire-compatibility with + other protocol-buffer implementations. + + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Gets the unique index (within the type) that will identify this data. + + + + + Gets the additional type to serialize/deserialize. + + + + + Gets the additional type to serialize/deserialize. + + + + + Specifies whether the inherited sype's sub-message should be + written with a length-prefix (default), or with group markers. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag. A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + + + + Gets or sets the original name defined in the .proto; not used + during serialization. + + + + + Gets or sets the data-format to be used when encoding this value. + + + + + Gets the unique tag used to identify this member within the type. + + + + + Gets or sets a value indicating whether this member is mandatory. + + + + + Gets a value indicating whether this member is packed. + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets or sets a value indicating whether this member is packed (lists/arrays). + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Additional (optional) settings that control serialization of members + + + + + Default; no additional options + + + + + Indicates that repeated elements should use packed (length-prefixed) encoding + + + + + Indicates that the given item is required + + + + + Enables full object-tracking/full-graph support + + + + + Embeds the type information into the stream, allowing usage with types not known in advance + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag and MemberName. This allows ProtoMemberAttribute usage + even for partial classes where the individual members are not + under direct control. + A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + Specifies the member to be serialized. + + + + The name of the member to be serialized. + + + + + A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call + ReadFieldHeader and (after matching the field) an appropriate Read* method. + + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + The number of bytes to read, or -1 to read until the end of the stream + + + + Gets the number of the field being processed. + + + + + Indicates the underlying proto serialization format on the wire. + + + + + Addition information about this deserialization operation. + + + + + Returns the position of the current reader (note that this is not necessarily the same as the position + in the underlying stream, if multiple readers are used on the same stream) + + + + + Releases resources used by the reader, but importantly does not Dispose the + underlying stream; in many typical use-cases the stream is used for different + processes, so it is assumed that the consumer will Dispose their stream separately. + + + + + Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a string from the stream (using UTF8); supported wire-types: String + + + + + Throws an exception indication that the given value cannot be mapped to an enum. + + + + + Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) + parsing the message in accordance with the model associated with the reader + + + + + Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup + marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader + should return zero) + + + + + Begins consuming a nested message in the stream; supported wire-types: StartGroup, String + + The token returned must be help and used when callining EndSubItem + + + + Reads a field header from the stream, setting the wire-type and retuning the field number. If no + more fields are available, then 0 is returned. This methods respects sub-messages. + + + + + Looks ahead to see whether the next field in the stream is what we expect + (typically; what we've just finished reading - for example ot read successive list items) + + + + + Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, + a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. + + + + + Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, + SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. + + + + + Discards the data for the current field. + + + + + Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + + + Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + + Reads a little-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a big-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a varint encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available. + + + + + Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available. + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + The number of bytes consumed; 0 if no data available + + + + Copies the current field into the instance as extension data + + + + + Indicates whether the reader still has data remaining in the current sub-item, + additionally setting the wire-type for the next field if there is more data. + This is used when decoding packed data. + + + + + Utility method, not intended for public use; this helps maintain the root object is complex scenarios + + + + + Represents an output stream for writing protobuf data. + Why is the API backwards (static methods with writer arguments)? + See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html + + + + + Creates a new writer against a stream + + The destination stream + The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects + Additional context about this serialization operation + + + + Addition information about this serialization operation. + + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type) - but the + caller is asserting that this relationship is non-recursive; no recursion check will be + performed. + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Writes a field-header, indicating the format of the next data we plan to write. + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Indicates the start of a nested record. + + The instance to write. + The destination. + A token representing the state of the stream; this token is given to EndSubItem. + + + + Indicates the end of a nested record. + + The token obtained from StartubItem. + The destination. + + + + Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed + by this operation. + + + + + Writes any buffered data (if possible) to the underlying stream. + + The writer to flush + It is not always possible to fully flush, since some sequences + may require values to be back-filled into the byte-stream. + + + + Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a string to the stream; supported wire-types: String + + + + + Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Throws an exception indicating that the given enum cannot be mapped to a serialized value. + + + + + Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Copies any extension data stored for the instance to the underlying stream + + + + + Used for packed encoding; indicates that the next field should be skipped rather than + a field header written. Note that the field number must match, else an exception is thrown + when the attempt is made to write the (incorrect) field. The wire-type is taken from the + subsequent call to WriteFieldHeader. Only primitive types can be packed. + + + + + Specifies a known root object to use during reference-tracked serialization + + + + + Additional information about a serialization operation + + + + + Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. + + + + + A default SerializationContext, with minimal information. + + + + + Provides protocol-buffer serialization capability for concrete, attributed types. This + is a *default* model, but custom serializer models are also supported. + + + Protocol-buffer serialization is a compact binary format, designed to take + advantage of sparse data and knowledge of specific data types; it is also + extensible, allowing a type to be deserialized / merged even if some data is + not recognised. + + + + + Provides non-generic access to the default serializer. + + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Creates a new instance from a protocol-buffer stream + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. + + + Applies a protocol-buffer stream to an existing instance. + The existing instance to be modified (cannot be null). + The binary stream to apply to the instance (cannot be null). + The updated instance + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Global switches that change the behavior of protobuf-net + + + + + + + + + + Maps a field-number to a type + + + + + The field number that is used as a default when serializing/deserializing a list of objects. + The data is treated as repeated message with field number 1. + + + + + Suggest a .proto definition for the given type + + The type to generate a .proto definition for + The .proto definition as a string + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Applies a protocol-buffer stream to an existing instance. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Creates a new instance from a protocol-buffer stream + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Serializes a given instance and deserializes it as a different type; + this can be used to translate between wire-compatible objects (where + two .NET types represent the same data), or to promote/demote a type + through an inheritance hierarchy. + + No assumption of compatibility is made between the types. + The type of the object being copied. + The type of the new object to be created. + The existing instance to use as a template. + A new instane of type TNewType, with the data from TOldType. + + + + Precompiles the serializer for a given type. + + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + A new, initialized instance. + + + + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + The expected tag of the item (only used with base-128 prefix style). + A new, initialized instance. + + + + Applies a protocol-buffer stream to an existing instance, using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + Indicates the number of bytes expected for the next message. + The stream containing the data to investigate for a length. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + + Indicates the number of bytes expected for the next message. + The buffer containing the data to investigate for a length. + The offset of the first byte to read from the buffer. + The number of bytes to read from the buffer. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + + + Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization + operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense + of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). + + + + + Used to hold particulars relating to nested objects. This is opaque to the caller - simply + give back the token you are given at the end of an object. + + + + + Indicates the encoding used to represent an individual value in a protobuf stream + + + + + Represents an error condition + + + + + Base-128 variant-length encoding + + + + + Fixed-length 8-byte encoding + + + + + Length-variant-prefixed encoding + + + + + Indicates the start of a group + + + + + Indicates the end of a group + + + + + Fixed-length 4-byte encoding + 10 + + + This is not a formal wire-type in the "protocol buffers" spec, but + denotes a variant integer that should be interpreted using + zig-zag semantics (so -ve numbers aren't a significant overhead) + + + + + Creates a new "using" block (equivalent) around a variable; + the variable must exist, and note that (unlike in C#) it is + the variables *final* value that gets disposed. If you need + *original* disposal, copy your variable first. + It is the callers responsibility to ensure that the variable's + scope fully-encapsulates the "using"; if not, the variable + may be re-used (and thus re-assigned) unexpectedly. + + + + + Pushes a null reference onto the stack. Note that this should only + be used to return a null (or set a variable to null); for null-tests + use BranchIfTrue / BranchIfFalse. + + + + + Represents the set of serialization callbacks to be used when serializing/deserializing a type. + + + + Called before serializing an instance + + + Called before deserializing an instance + + + Called after serializing an instance + + + Called after deserializing an instance + + + + True if any callback is set, else False + + + + + Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined + + + + + Returns the ValueMember that matchs a given field number, or null if not found + + + + + Returns the ValueMember that matchs a given member (property/field), or null if not found + + + + + Gets the base-type for this type + + + + + When used to compile a model, should public serialization/deserialzation methods + be included for this type? + + + + + Should this type be treated as a reference by default? + + + + + Indicates whether the current type has defined callbacks + + + + + Indicates whether the current type has defined subtypes + + + + + Returns the set of callbacks defined for this type + + + + + The runtime type that the meta-type represents + + + + + Gets or sets whether the type should use a parameterless constructor (the default), + or whether the type should skip the constructor completely. This option is not supported + on compact-framework. + + + + + The concrete type to create when a new instance of this type is needed; this may be useful when dealing + with dynamic proxies, or with interface-based APIs + + + + + Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather + than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. + + + + + Gets or sets a value indicating that this type should NOT be treated as a list, even if it has + familiar list-like characteristics (enumerable, add, etc) + + + + + Get the name of the type being represented + + + + + Adds a known sub-type to the inheritance model + + + + + Obtains the subtypes that are defined for the current type + + + + + Assigns the callbacks to use during serialiation/deserialization. + + The method (or null) called before serialization begins. + The method (or null) called when serialization is complete. + The method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The method (or null) called when deserialization is complete. + The set of callbacks. + + + + Assigns the callbacks to use during serialiation/deserialization. + + The name of the method (or null) called before serialization begins. + The name of the method (or null) called when serialization is complete. + The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The name of the method (or null) called when deserialization is complete. + The set of callbacks. + + + + Designate a factory-method to use to create instances of this type + + + + + Designate a factory-method to use to create instances of this type + + + + + Throws an exception if the type has been made immutable + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, returning the ValueMember rather than the fluent API. + This is otherwise identical to Add. + + + + + Adds a member (by name) to the MetaType + + + + + Performs serialization of this type via a surrogate; all + other serialization options are ignored and handled + by the surrogate's configuration. + + + + + Adds a set of members (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists, returning the ValueMember rather than the fluent API. + This is otherwise identical to Add. + + + + + Compiles the serializer for this type; this is *not* a full + standalone compile, but can significantly boost performance + while allowing additional types to be added. + + An in-place compile can access non-public types / members + + + + Provides protobuf serialization support for a number of types that can be defined at runtime + + + + + If a lock-contention is detected, this event signals the *owner* of the lock responsible for the blockage, indicating + what caused the problem; this is only raised if the lock-owning code successfully completes. + + + + + Obtains the MetaType associated with a given Type for the current model, + allowing additional configuration. + + + + + Global default for that + enables/disables automatic tag generation based on the existing name / order + of the defined members. See + for usage and important warning / explanation. + You must set the global default before attempting to serialize/deserialize any + impacted type. + + + + + Global switch that enables or disables the implicit + handling of "zero defaults"; meanning: if no other default is specified, + it assumes bools always default to false, integers to zero, etc. + If this is disabled, no such assumptions are made and only *explicit* + default values are processed. This is enabled by default to + preserve similar logic to v1. + + + + + The default model, used to support ProtoBuf.Serializer + + + + + Should serializers be compiled on demand? It may be useful + to disable this for debugging purposes. + + + + + Should support for unexpected types be added automatically? + If false, an exception is thrown when unexpected types + are encountered. + + + + + The amount of time to wait if there are concurrent metadata access operations + + + + + Returns a sequence of the Type instances that can be + processed by this model. + + + + + Adds support for an additional type in this model, optionally + appplying inbuilt patterns. If the type is already known to the + model, the existing type is returned **without** applying + any additional behaviour. + + Inbuilt patterns include: + [ProtoContract]/[ProtoMember(n)] + [DataContract]/[DataMember(Order=n)] + [XmlType]/[XmlElement(Order=n)] + [On{Des|S}erializ{ing|ed}] + ShouldSerialize*/*Specified + + The type to be supported + Whether to apply the inbuilt configuration patterns (via attributes etc), or + just add the type with no additional configuration (the type must then be manually configured). + The MetaType representing this type, allowing + further configuration. + + + + Verifies that the model is still open to changes; if not, an exception is thrown + + + + + Prevents further changes to this model + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Compiles the serializers individually; this is *not* a full + standalone compile, but can significantly boost performance + while allowing additional types to be added. + + An in-place compile can access non-public types / members + + + + Fully compiles the current model into a static-compiled model instance + + A full compilation is restricted to accessing public types / members + An instance of the newly created compiled type-model + + + + Fully compiles the current model into a static-compiled serialization dll + (the serialization dll still requires protobuf-net for support services). + + A full compilation is restricted to accessing public types / members + The name of the TypeModel class to create + The path for the new dll + An instance of the newly created compiled type-model + + + + Contains the stack-trace of the owning code when a lock-contention scenario is detected + + + + + The stack-trace of the code that owned the lock when a lock-contention scenario occurred + + + + + Represents an inherited type in a type hierarchy. + + + + + Creates a new SubType instance. + + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + The sub-type to be considered. + + + + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + + + + + The sub-type to be considered. + + + + + Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could + be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). + + + + + The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. + + + + + The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. + + + + + Provides protobuf serialization support for a number of types + + + + + Indicates the type of callback to be used + + + + + Invoked before an object is serialized + + + + + Invoked after an object is serialized + + + + + Invoked before an object is deserialized (or when a new instance is created) + + + + + Invoked after an object is deserialized + + + + + Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting + are provided on a single API as it is essential that both are mapped identically at all times. + + + + + This is the more "complete" version of Serialize, which handles single instances of mapped types. + The value is written as a complete field, including field-header and (for sub-objects) a + length-prefix + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume (or -1 to read to the end of the stream). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + This is the more "complete" version of Deserialize, which handles single instances of mapped types. + The value is read as a complete field, including field-header and (for sub-objects) a + length-prefix..kmc + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IList sets of any type handled by TryDeserializeAuxiliaryType + + + + + Creates a new runtime model, to which the caller + can add support for a range of types. A model + can be used "as is", or can be compiled for + optimal performance. + + + + + Applies common proxy scenarios, resolving the actual type to consider + + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Provides the key that represents a given type in the current model. + The type is also normalized for proxies at the same time. + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Indicates that while an inheritance tree exists, the exact type encountered was not + specified in that hierarchy and cannot be processed. + + + + + Indicates that the given type was not expected, and cannot be processed. + + + + + Indicates that the given type cannot be constructed; it may still be possible to + deserialize into existing instances. + + + + + Returns true if the type supplied is either a recognised contract type, + or a *list* of a recognised contract type. + + Note that primitives always return false, even though the engine + will, if forced, try to serialize such + True if this type is recognised as a serializable entity, else false + + + + Represents a member (property/field) that is mapped to a protobuf field + + + + + Creates a new ValueMember instance + + + + + Creates a new ValueMember instance + + + + + The number that identifies this member in a protobuf stream + + + + + Gets the member (field/property) which this member relates to. + + + + + Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) + + + + + The underlying type of the member + + + + + For abstract types (IList etc), the type of concrete object to create (if required) + + + + + The type the defines the member + + + + + The default value of the item (members with this value will not be serialized) + + + + + Specifies the rules used to process the field; this is used to determine the most appropriate + wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) + + + + + Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" + is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that + when serializing the defined type is always used. + + + + + Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Indicates whether this field is mandatory. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used + when inferring a schema). + + + + + Should lists have extended support for null values? Note this makes the serialization less efficient. + + + + + Specifies methods for working with optional data members. + + Provides a method (null for none) to query whether this member should + be serialized; it must be of the form "bool {Method}()". The member is only serialized if the + method returns true. + Provides a method (null for none) to indicate that a member was + deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" + when data is found. + + + + The type that this serializer is intended to work for. + + + + + Indicates whether a Read operation replaces the existing value, or + extends the value. If false, the "value" parameter to Read is + discarded, and should be passed in as null. + + + + + Now all Read operations return a value (although most do); if false no + value should be expected. + + + + + Perform the steps necessary to serialize this data. + + The value to be serialized. + The writer entity that is accumulating the output data. + + + + Perform the steps necessary to deserialize this data. + + The current value, if appropriate. + The reader providing the input data. + The updated / replacement value. + + + Emit the IL necessary to perform the given actions + to serialize this data. + + Details and utilities for the method being generated. + The source of the data to work against; + If the value is only needed once, then LoadValue is sufficient. If + the value is needed multiple times, then note that a "null" + means "the top of the stack", in which case you should create your + own copy - GetLocalWithValue. + + + + Emit the IL necessary to perform the given actions to deserialize this data. + + Details and utilities for the method being generated. + For nested values, the instance holding the values; note + that this is not always provided - a null means not supplied. Since this is always + a variable or argument, it is not necessary to consume this value. + + + + Event-type that is raised when a lock-contention scenario is detected + + + + + Delegate type used to perform type-formatting functions; the sender originates as the type-model. + + + + diff --git a/packages/protobuf-net.2.0.0.480/lib/net20/protobuf-net.dll b/packages/protobuf-net.2.0.0.480/lib/net20/protobuf-net.dll new file mode 100644 index 0000000..036df3f Binary files /dev/null and b/packages/protobuf-net.2.0.0.480/lib/net20/protobuf-net.dll differ diff --git a/packages/protobuf-net.2.0.0.480/lib/net20/protobuf-net.xml b/packages/protobuf-net.2.0.0.480/lib/net20/protobuf-net.xml new file mode 100644 index 0000000..03c5ab9 --- /dev/null +++ b/packages/protobuf-net.2.0.0.480/lib/net20/protobuf-net.xml @@ -0,0 +1,2519 @@ + + + + protobuf-net + + + + + Provides support for common .NET types that do not have a direct representation + in protobuf, using the definitions from bcl.proto + + + + + Creates a new instance of the specified type, bypassing the constructor. + + The type to create + The new instance + If the platform does not support constructor-skipping + + + + Writes a TimeSpan to a protobuf stream + + + + + Parses a TimeSpan from a protobuf stream + + + + + Parses a DateTime from a protobuf stream + + + + + Writes a DateTime to a protobuf stream + + + + + Parses a decimal from a protobuf stream + + + + + Writes a decimal to a protobuf stream + + + + + Writes a Guid to a protobuf stream + + + + + Parses a Guid from a protobuf stream + + + + + Reads an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Writes an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Optional behaviours that introduce .NET-specific functionality + + + + + No special behaviour + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + If false, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Provides a simple buffer-based implementation of an extension object. + + + + + Provides addition capability for supporting unexpected fields during + protocol-buffer serialization/deserialization. This allows for loss-less + round-trip/merge, even when the data is not fully understood. + + + + + Requests a stream into which any unexpected fields can be persisted. + + A new stream suitable for storing data. + + + + Indicates that all unexpected fields have now been stored. The + implementing class is responsible for closing the stream. If + "commit" is not true the data may be discarded. + + The stream originally obtained by BeginAppend. + True if the append operation completed successfully. + + + + Requests a stream of the unexpected fields previously stored. + + A prepared stream of the unexpected fields. + + + + Indicates that all unexpected fields have now been read. The + implementing class is responsible for closing the stream. + + The stream originally obtained by BeginQuery. + + + + Requests the length of the raw binary stream; this is used + when serializing sub-entities to indicate the expected size. + + The length of the binary stream representing unexpected data. + + + Specifies a method on the root-contract in an hierarchy to be invoked before serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. + + + + Pushes a null reference onto the stack. Note that this should only + be used to return a null (or set a variable to null); for null-tests + use BranchIfTrue / BranchIfFalse. + + + + + Creates a new "using" block (equivalent) around a variable; + the variable must exist, and note that (unlike in C#) it is + the variables *final* value that gets disposed. If you need + *original* disposal, copy your variable first. + + It is the callers responsibility to ensure that the variable's + scope fully-encapsulates the "using"; if not, the variable + may be re-used (and thus re-assigned) unexpectedly. + + + + + Sub-format to use when serializing/deserializing data + + + + + Uses the default encoding for the data-type. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that zigzag variant encoding will be used. This means that values + with small magnitude (regardless of sign) take a small amount + of space to encode. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that two's-complement variant encoding will be used. + This means that any -ve number will take 10 bytes (even for 32-bit), + so should only be used for compatibility. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that a fixed amount of space will be used. + + + + + When applied to a sub-message, indicates that the value should be treated + as group-delimited. + + + + + Simple base class for supporting unexpected fields allowing + for loss-less round-tips/merge, even if the data is not understod. + The additional fields are (by default) stored in-memory in a buffer. + + As an example of an alternative implementation, you might + choose to use the file system (temporary files) as the back-end, tracking + only the paths [such an object would ideally be IDisposable and use + a finalizer to ensure that the files are removed]. + + + + + Indicates that the implementing type has support for protocol-buffer + extensions. + + Can be implemented by deriving from . + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Provides a simple, default implementation for extension support, + optionally creating it if it does not already exist. Designed to be called by + classes implementing . + + Should a new extension object be + created if it does not already exist? + The extension field to check (and possibly update). + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The type of the value to append. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The model that represents the data. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + Allow tags that are present as part of the definition; for example, to query unknown enum values. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + An enumerator that yields each occurrence of the field. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + An enumerator that yields each occurrence of the field. + + + + This class acts as an internal wrapper allowing us to do a dynamic + methodinfo invoke; an't put into Serializer as don't want on public + API; can't put into Serializer<T> since we need to invoke + accross classes, which isn't allowed in Silverlight) + + + + + All this does is call GetExtendedValuesTyped with the correct type for "instance"; + this ensures that we don't get issues with subclasses declaring conflicting types - + the caller must respect the fields defined for the type they pass in. + + + + + Reads the given value(s) from the instance's stream; the serializer + is inferred from TValue and format. For singletons, each occurrence + is merged [only applies for sub-objects], and the composed + value if yielded once; otherwise ("repeated") each occurrence + is yielded separately. + + Needs to be public to be callable thru reflection in Silverlight + + + + Stores the given value into the instance's stream; the serializer + is inferred from TValue and format. + + Needs to be public to be callable thru reflection in Silverlight + + + + Not all frameworks are created equal (fx1.1 vs fx2.0, + micro-framework, compact-framework, + silverlight, etc). This class simply wraps up a few things that would + otherwise make the real code unnecessarily messy, providing fallback + implementations if necessary. + + + + + Intended to be a direct map to regular TypeCode, but: + - with missing types + - existing on WinRT + + + + + Specifies the method used to infer field tags for members of the type + under consideration. Tags are deduced using the invariant alphabetic + sequence of the members' names; this makes implicit field tags very brittle, + and susceptible to changes such as field names (normally an isolated + change). + + + + + No members are serialized implicitly; all members require a suitable + attribute such as [ProtoMember]. This is the recmomended mode for + most scenarios. + + + + + Public properties and fields are eligible for implicit serialization; + this treats the public API as a contract. Ordering beings from ImplicitFirstTag. + + + + + Public and non-public fields are eligible for implicit serialization; + this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. + + + + + Represents the set of serialization callbacks to be used when serializing/deserializing a type. + + + + Called before serializing an instance + + + Called before deserializing an instance + + + Called after serializing an instance + + + Called after deserializing an instance + + + + True if any callback is set, else False + + + + + Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined + + + + + Get the name of the type being represented + + + + + Adds a known sub-type to the inheritance model + + + + + Obtains the subtypes that are defined for the current type + + + + + Assigns the callbacks to use during serialiation/deserialization. + + The method (or null) called before serialization begins. + The method (or null) called when serialization is complete. + The method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The method (or null) called when deserialization is complete. + The set of callbacks. + + + + Assigns the callbacks to use during serialiation/deserialization. + + The name of the method (or null) called before serialization begins. + The name of the method (or null) called when serialization is complete. + The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The name of the method (or null) called when deserialization is complete. + The set of callbacks. + + + + Designate a factory-method to use to create instances of this type + + + + + Designate a factory-method to use to create instances of this type + + + + + Throws an exception if the type has been made immutable + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, returning the ValueMember rather than the fluent API. + This is otherwise identical to Add. + + + + + Adds a member (by name) to the MetaType + + + + + Performs serialization of this type via a surrogate; all + other serialization options are ignored and handled + by the surrogate's configuration. + + + + + Adds a set of members (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists, returning the ValueMember rather than the fluent API. + This is otherwise identical to Add. + + + + + Compiles the serializer for this type; this is *not* a full + standalone compile, but can significantly boost performance + while allowing additional types to be added. + + An in-place compile can access non-public types / members + + + + Gets the base-type for this type + + + + + When used to compile a model, should public serialization/deserialzation methods + be included for this type? + + + + + Should this type be treated as a reference by default? + + + + + Indicates whether the current type has defined callbacks + + + + + Indicates whether the current type has defined subtypes + + + + + Returns the set of callbacks defined for this type + + + + + The runtime type that the meta-type represents + + + + + Gets or sets whether the type should use a parameterless constructor (the default), + or whether the type should skip the constructor completely. This option is not supported + on compact-framework. + + + + + The concrete type to create when a new instance of this type is needed; this may be useful when dealing + with dynamic proxies, or with interface-based APIs + + + + + Returns the ValueMember that matchs a given field number, or null if not found + + + + + Returns the ValueMember that matchs a given member (property/field), or null if not found + + + + + Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather + than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. + + + + + Gets or sets a value indicating that this type should NOT be treated as a list, even if it has + familiar list-like characteristics (enumerable, add, etc) + + + + + Provides protobuf serialization support for a number of types that can be defined at runtime + + + + + Provides protobuf serialization support for a number of types + + + + + This is the more "complete" version of Serialize, which handles single instances of mapped types. + The value is written as a complete field, including field-header and (for sub-objects) a + length-prefix + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType + + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume (or -1 to read to the end of the stream). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + This is the more "complete" version of Deserialize, which handles single instances of mapped types. + The value is read as a complete field, including field-header and (for sub-objects) a + length-prefix..kmc + + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IList sets of any type handled by TryDeserializeAuxiliaryType + + + + + Creates a new runtime model, to which the caller + can add support for a range of types. A model + can be used "as is", or can be compiled for + optimal performance. + + + + + Applies common proxy scenarios, resolving the actual type to consider + + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Provides the key that represents a given type in the current model. + The type is also normalized for proxies at the same time. + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Indicates that while an inheritance tree exists, the exact type encountered was not + specified in that hierarchy and cannot be processed. + + + + + Indicates that the given type was not expected, and cannot be processed. + + + + + Indicates that the given type cannot be constructed; it may still be possible to + deserialize into existing instances. + + + + + Returns true if the type supplied is either a recognised contract type, + or a *list* of a recognised contract type. + + Note that primitives always return false, even though the engine + will, if forced, try to serialize such + True if this type is recognised as a serializable entity, else false + + + + Creates a new IFormatter that uses protocol-buffer [de]serialization. + + A new IFormatter to be used during [de]serialization. + The type of object to be [de]deserialized by the formatter. + + + + Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting + are provided on a single API as it is essential that both are mapped identically at all times. + + + + + Indicates the type of callback to be used + + + + + Invoked before an object is serialized + + + + + Invoked after an object is serialized + + + + + Invoked before an object is deserialized (or when a new instance is created) + + + + + Invoked after an object is deserialized + + + + + Returns a sequence of the Type instances that can be + processed by this model. + + + + + Adds support for an additional type in this model, optionally + appplying inbuilt patterns. If the type is already known to the + model, the existing type is returned **without** applying + any additional behaviour. + + Inbuilt patterns include: + [ProtoContract]/[ProtoMember(n)] + [DataContract]/[DataMember(Order=n)] + [XmlType]/[XmlElement(Order=n)] + [On{Des|S}erializ{ing|ed}] + ShouldSerialize*/*Specified + + The type to be supported + Whether to apply the inbuilt configuration patterns (via attributes etc), or + just add the type with no additional configuration (the type must then be manually configured). + The MetaType representing this type, allowing + further configuration. + + + + Verifies that the model is still open to changes; if not, an exception is thrown + + + + + Prevents further changes to this model + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Compiles the serializers individually; this is *not* a full + standalone compile, but can significantly boost performance + while allowing additional types to be added. + + An in-place compile can access non-public types / members + + + + Fully compiles the current model into a static-compiled model instance + + A full compilation is restricted to accessing public types / members + An instance of the newly created compiled type-model + + + + Fully compiles the current model into a static-compiled serialization dll + (the serialization dll still requires protobuf-net for support services). + + A full compilation is restricted to accessing public types / members + The name of the TypeModel class to create + The path for the new dll + An instance of the newly created compiled type-model + + + + Global default for that + enables/disables automatic tag generation based on the existing name / order + of the defined members. See + for usage and important warning / explanation. + You must set the global default before attempting to serialize/deserialize any + impacted type. + + + + + Global switch that enables or disables the implicit + handling of "zero defaults"; meanning: if no other default is specified, + it assumes bools always default to false, integers to zero, etc. + + If this is disabled, no such assumptions are made and only *explicit* + default values are processed. This is enabled by default to + preserve similar logic to v1. + + + + + The default model, used to support ProtoBuf.Serializer + + + + + Obtains the MetaType associated with a given Type for the current model, + allowing additional configuration. + + + + + Should serializers be compiled on demand? It may be useful + to disable this for debugging purposes. + + + + + Should support for unexpected types be added automatically? + If false, an exception is thrown when unexpected types + are encountered. + + + + + The amount of time to wait if there are concurrent metadata access operations + + + + + If a lock-contention is detected, this event signals the *owner* of the lock responsible for the blockage, indicating + what caused the problem; this is only raised if the lock-owning code successfully completes. + + + + + Contains the stack-trace of the owning code when a lock-contention scenario is detected + + + + + The stack-trace of the code that owned the lock when a lock-contention scenario occurred + + + + + Event-type that is raised when a lock-contention scenario is detected + + + + + Represents an inherited type in a type hierarchy. + + + + + Creates a new SubType instance. + + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + The sub-type to be considered. + + + + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + + + + + The sub-type to be considered. + + + + + Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could + be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). + + + + + The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. + + + + + The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. + + + + + Delegate type used to perform type-formatting functions; the sender originates as the type-model. + + + + + Represents a member (property/field) that is mapped to a protobuf field + + + + + Creates a new ValueMember instance + + + + + Creates a new ValueMember instance + + + + + Specifies methods for working with optional data members. + + Provides a method (null for none) to query whether this member should + be serialized; it must be of the form "bool {Method}()". The member is only serialized if the + method returns true. + Provides a method (null for none) to indicate that a member was + deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" + when data is found. + + + + The number that identifies this member in a protobuf stream + + + + + Gets the member (field/property) which this member relates to. + + + + + Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) + + + + + The underlying type of the member + + + + + For abstract types (IList etc), the type of concrete object to create (if required) + + + + + The type the defines the member + + + + + The default value of the item (members with this value will not be serialized) + + + + + Specifies the rules used to process the field; this is used to determine the most appropriate + wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) + + + + + Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" + is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that + when serializing the defined type is always used. + + + + + Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Indicates whether this field is mandatory. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used + when inferring a schema). + + + + + Should lists have extended support for null values? Note this makes the serialization less efficient. + + + + + Specifies the type of prefix that should be applied to messages. + + + + + No length prefix is applied to the data; the data is terminated only be the end of the stream. + + + + + A base-128 length prefix is applied to the data (efficient for short messages). + + + + + A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). + + + + + A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). + + + + + Indicates that a type is defined for protocol-buffer serialization. + + + + + Gets or sets the defined name of the type. + + + + + Gets or sets the fist offset to use with implicit field tags; + only uesd if ImplicitFields is set. + + + + + If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. + + + + + If specified, do NOT treat this type as a list, even if it looks like one. + + + + + Gets or sets the mechanism used to automatically infer field tags + for members. This option should be used in advanced scenarios only. + Please review the important notes against the ImplicitFields enumeration. + + + + + Enables/disables automatic tag generation based on the existing name / order + of the defined members. This option is not used for members marked + with ProtoMemberAttribute, as intended to provide compatibility with + WCF serialization. WARNING: when adding new fields you must take + care to increase the Order for new elements, otherwise data corruption + may occur. + + If not explicitly specified, the default is assumed from . + + + + Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. + + + + + Specifies an offset to apply to [DataMember(Order=...)] markers; + this is useful when working with mex-generated classes that have + a different origin (usually 1 vs 0) than the original data-contract. + + This value is added to the Order of each member. + + + + + If true, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Used to define protocol-buffer specific behavior for + enumerated values. + + + + + Indicates whether this instance has a customised value mapping + + true if a specific value is set + + + + Gets or sets the specific value to use for this enum during serialization. + + + + + Gets or sets the defined name of the enum, as used in .proto + (this name is not used during serialization). + + + + + Indicates an error during serialization/deserialization of a proto stream. + + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. + + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. This allows + ProtoIgnoreAttribute usage + even for partial classes where the individual members are not + under direct control. + + + + + Creates a new ProtoPartialIgnoreAttribute instance. + + Specifies the member to be ignored. + + + + The name of the member to be ignored. + + + + + Indicates the known-types to support for an individual + message. This serializes each level in the hierarchy as + a nested message to retain wire-compatibility with + other protocol-buffer implementations. + + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Gets the unique index (within the type) that will identify this data. + + + + + Gets the additional type to serialize/deserialize. + + + + + Gets the additional type to serialize/deserialize. + + + + + Specifies whether the inherited sype's sub-message should be + written with a length-prefix (default), or with group markers. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag. A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + + + + Gets or sets the original name defined in the .proto; not used + during serialization. + + + + + Gets or sets the data-format to be used when encoding this value. + + + + + Gets the unique tag used to identify this member within the type. + + + + + Gets or sets a value indicating whether this member is mandatory. + + + + + Gets a value indicating whether this member is packed. + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets or sets a value indicating whether this member is packed (lists/arrays). + + + + + Additional (optional) settings that control serialization of members + + + + + Default; no additional options + + + + + Indicates that repeated elements should use packed (length-prefixed) encoding + + + + + Indicates that the given item is required + + + + + Enables full object-tracking/full-graph support + + + + + Embeds the type information into the stream, allowing usage with types not known in advance + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag and MemberName. This allows ProtoMemberAttribute usage + even for partial classes where the individual members are not + under direct control. + A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + Specifies the member to be serialized. + + + + The name of the member to be serialized. + + + + + A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call + ReadFieldHeader and (after matching the field) an appropriate Read* method. + + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + The number of bytes to read, or -1 to read until the end of the stream + + + + Releases resources used by the reader, but importantly does not Dispose the + underlying stream; in many typical use-cases the stream is used for different + processes, so it is assumed that the consumer will Dispose their stream separately. + + + + + Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a string from the stream (using UTF8); supported wire-types: String + + + + + Throws an exception indication that the given value cannot be mapped to an enum. + + + + + Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) + parsing the message in accordance with the model associated with the reader + + + + + Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup + marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader + should return zero) + + + + + Begins consuming a nested message in the stream; supported wire-types: StartGroup, String + + The token returned must be help and used when callining EndSubItem + + + + Reads a field header from the stream, setting the wire-type and retuning the field number. If no + more fields are available, then 0 is returned. This methods respects sub-messages. + + + + + Looks ahead to see whether the next field in the stream is what we expect + (typically; what we've just finished reading - for example ot read successive list items) + + + + + Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, + a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. + + + + + Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, + SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. + + + + + Discards the data for the current field. + + + + + Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + + Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + + Reads a little-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a big-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a varint encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available. + + + + + Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available. + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + The number of bytes consumed; 0 if no data available + + + + Copies the current field into the instance as extension data + + + + + Indicates whether the reader still has data remaining in the current sub-item, + additionally setting the wire-type for the next field if there is more data. + This is used when decoding packed data. + + + + + Utility method, not intended for public use; this helps maintain the root object is complex scenarios + + + + + Gets the number of the field being processed. + + + + + Indicates the underlying proto serialization format on the wire. + + + + + Addition information about this deserialization operation. + + + + + Returns the position of the current reader (note that this is not necessarily the same as the position + in the underlying stream, if multiple readers are used on the same stream) + + + + + Represents an output stream for writing protobuf data. + + Why is the API backwards (static methods with writer arguments)? + See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html + + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type) - but the + caller is asserting that this relationship is non-recursive; no recursion check will be + performed. + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Writes a field-header, indicating the format of the next data we plan to write. + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Indicates the start of a nested record. + + The instance to write. + The destination. + A token representing the state of the stream; this token is given to EndSubItem. + + + + Indicates the end of a nested record. + + The token obtained from StartubItem. + The destination. + + + + Creates a new writer against a stream + + The destination stream + The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects + Additional context about this serialization operation + + + + Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed + by this operation. + + + + + Writes any buffered data (if possible) to the underlying stream. + + The writer to flush + It is not always possible to fully flush, since some sequences + may require values to be back-filled into the byte-stream. + + + + Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a string to the stream; supported wire-types: String + + + + + Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Throws an exception indicating that the given enum cannot be mapped to a serialized value. + + + + + Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Copies any extension data stored for the instance to the underlying stream + + + + + Used for packed encoding; indicates that the next field should be skipped rather than + a field header written. Note that the field number must match, else an exception is thrown + when the attempt is made to write the (incorrect) field. The wire-type is taken from the + subsequent call to WriteFieldHeader. Only primitive types can be packed. + + + + + Specifies a known root object to use during reference-tracked serialization + + + + + Addition information about this serialization operation. + + + + + Additional information about a serialization operation + + + + + Convert a SerializationContext to a StreamingContext + + + + + Convert a StreamingContext to a SerializationContext + + + + + Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. + + + + + A default SerializationContext, with minimal information. + + + + + Gets or sets the source or destination of the transmitted data. + + + + + Provides protocol-buffer serialization capability for concrete, attributed types. This + is a *default* model, but custom serializer models are also supported. + + + Protocol-buffer serialization is a compact binary format, designed to take + advantage of sparse data and knowledge of specific data types; it is also + extensible, allowing a type to be deserialized / merged even if some data is + not recognised. + + + + + The field number that is used as a default when serializing/deserializing a list of objects. + The data is treated as repeated message with field number 1. + + + + + Suggest a .proto definition for the given type + + The type to generate a .proto definition for + The .proto definition as a string + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Applies a protocol-buffer stream to an existing instance. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Creates a new instance from a protocol-buffer stream + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Serializes a given instance and deserializes it as a different type; + this can be used to translate between wire-compatible objects (where + two .NET types represent the same data), or to promote/demote a type + through an inheritance hierarchy. + + No assumption of compatibility is made between the types. + The type of the object being copied. + The type of the new object to be created. + The existing instance to use as a template. + A new instane of type TNewType, with the data from TOldType. + + + + Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. + + The type being serialized. + The existing instance to be serialized (cannot be null). + The destination SerializationInfo to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. + + The type being serialized. + The existing instance to be serialized (cannot be null). + The destination SerializationInfo to write to. + Additional information about this serialization operation. + + + + Writes a protocol-buffer representation of the given instance to the supplied XmlWriter. + + The type being serialized. + The existing instance to be serialized (cannot be null). + The destination XmlWriter to write to. + + + + Applies a protocol-buffer from an XmlReader to an existing instance. + + The type being merged. + The existing instance to be modified (cannot be null). + The XmlReader containing the data to apply to the instance (cannot be null). + + + + Applies a protocol-buffer from a SerializationInfo to an existing instance. + + The type being merged. + The existing instance to be modified (cannot be null). + The SerializationInfo containing the data to apply to the instance (cannot be null). + + + + Applies a protocol-buffer from a SerializationInfo to an existing instance. + + The type being merged. + The existing instance to be modified (cannot be null). + The SerializationInfo containing the data to apply to the instance (cannot be null). + Additional information about this serialization operation. + + + + Precompiles the serializer for a given type. + + + + + Creates a new IFormatter that uses protocol-buffer [de]serialization. + + The type of object to be [de]deserialized by the formatter. + A new IFormatter to be used during [de]serialization. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + A new, initialized instance. + + + + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + The expected tag of the item (only used with base-128 prefix style). + A new, initialized instance. + + + + Applies a protocol-buffer stream to an existing instance, using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + Indicates the number of bytes expected for the next message. + The stream containing the data to investigate for a length. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + + Indicates the number of bytes expected for the next message. + The buffer containing the data to investigate for a length. + The offset of the first byte to read from the buffer. + The number of bytes to read from the buffer. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + + + Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization + operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense + of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). + + + + + Provides non-generic access to the default serializer. + + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Creates a new instance from a protocol-buffer stream + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. + + + Applies a protocol-buffer stream to an existing instance. + The existing instance to be modified (cannot be null). + The binary stream to apply to the instance (cannot be null). + The updated instance + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Global switches that change the behavior of protobuf-net + + + + + + + + + + Maps a field-number to a type + + + + + Perform the steps necessary to serialize this data. + + The value to be serialized. + The writer entity that is accumulating the output data. + + + + Perform the steps necessary to deserialize this data. + + The current value, if appropriate. + The reader providing the input data. + The updated / replacement value. + + + Emit the IL necessary to perform the given actions + to serialize this data. + + Details and utilities for the method being generated. + The source of the data to work against; + If the value is only needed once, then LoadValue is sufficient. If + the value is needed multiple times, then note that a "null" + means "the top of the stack", in which case you should create your + own copy - GetLocalWithValue. + + + + Emit the IL necessary to perform the given actions to deserialize this data. + + Details and utilities for the method being generated. + For nested values, the instance holding the values; note + that this is not always provided - a null means not supplied. Since this is always + a variable or argument, it is not necessary to consume this value. + + + + The type that this serializer is intended to work for. + + + + + Indicates whether a Read operation replaces the existing value, or + extends the value. If false, the "value" parameter to Read is + discarded, and should be passed in as null. + + + + + Now all Read operations return a value (although most do); if false no + value should be expected. + + + + + Used to hold particulars relating to nested objects. This is opaque to the caller - simply + give back the token you are given at the end of an object. + + + + + Indicates the encoding used to represent an individual value in a protobuf stream + + + + + Represents an error condition + + + + + Base-128 variant-length encoding + + + + + Fixed-length 8-byte encoding + + + + + Length-variant-prefixed encoding + + + + + Indicates the start of a group + + + + + Indicates the end of a group + + + + + Fixed-length 4-byte encoding + 10 + + + + This is not a formal wire-type in the "protocol buffers" spec, but + denotes a variant integer that should be interpreted using + zig-zag semantics (so -ve numbers aren't a significant overhead) + + + + diff --git a/packages/protobuf-net.2.0.0.480/lib/net30/protobuf-net.dll b/packages/protobuf-net.2.0.0.480/lib/net30/protobuf-net.dll new file mode 100644 index 0000000..99bbb95 Binary files /dev/null and b/packages/protobuf-net.2.0.0.480/lib/net30/protobuf-net.dll differ diff --git a/packages/protobuf-net.2.0.0.480/lib/net30/protobuf-net.xml b/packages/protobuf-net.2.0.0.480/lib/net30/protobuf-net.xml new file mode 100644 index 0000000..3d14251 --- /dev/null +++ b/packages/protobuf-net.2.0.0.480/lib/net30/protobuf-net.xml @@ -0,0 +1,2640 @@ + + + + protobuf-net + + + + + Configuration element to swap out DatatContractSerilaizer with the XmlProtoSerializer for a given endpoint. + + + + + + Creates a new ProtoBehaviorExtension instance. + + + + + Creates a behavior extension based on the current configuration settings. + + The behavior extension. + + + + Gets the type of behavior. + + + + + Perform the steps necessary to serialize this data. + + The value to be serialized. + The writer entity that is accumulating the output data. + + + + Perform the steps necessary to deserialize this data. + + The current value, if appropriate. + The reader providing the input data. + The updated / replacement value. + + + Emit the IL necessary to perform the given actions + to serialize this data. + + Details and utilities for the method being generated. + The source of the data to work against; + If the value is only needed once, then LoadValue is sufficient. If + the value is needed multiple times, then note that a "null" + means "the top of the stack", in which case you should create your + own copy - GetLocalWithValue. + + + + Emit the IL necessary to perform the given actions to deserialize this data. + + Details and utilities for the method being generated. + For nested values, the instance holding the values; note + that this is not always provided - a null means not supplied. Since this is always + a variable or argument, it is not necessary to consume this value. + + + + The type that this serializer is intended to work for. + + + + + Indicates whether a Read operation replaces the existing value, or + extends the value. If false, the "value" parameter to Read is + discarded, and should be passed in as null. + + + + + Now all Read operations return a value (although most do); if false no + value should be expected. + + + + + Specifies the method used to infer field tags for members of the type + under consideration. Tags are deduced using the invariant alphabetic + sequence of the members' names; this makes implicit field tags very brittle, + and susceptible to changes such as field names (normally an isolated + change). + + + + + No members are serialized implicitly; all members require a suitable + attribute such as [ProtoMember]. This is the recmomended mode for + most scenarios. + + + + + Public properties and fields are eligible for implicit serialization; + this treats the public API as a contract. Ordering beings from ImplicitFirstTag. + + + + + Public and non-public fields are eligible for implicit serialization; + this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. + + + + + Behavior to swap out DatatContractSerilaizer with the XmlProtoSerializer for a given endpoint. + + Add the following to the server and client app.config in the system.serviceModel section: + + + + + + + + + + + + + + Configure your endpoints to have a behaviorConfiguration as follows: + + + + + + + + + + + + + Represents the set of serialization callbacks to be used when serializing/deserializing a type. + + + + Called before serializing an instance + + + Called before deserializing an instance + + + Called after serializing an instance + + + Called after deserializing an instance + + + + True if any callback is set, else False + + + + + Indicates the known-types to support for an individual + message. This serializes each level in the hierarchy as + a nested message to retain wire-compatibility with + other protocol-buffer implementations. + + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Gets the unique index (within the type) that will identify this data. + + + + + Gets the additional type to serialize/deserialize. + + + + + Gets the additional type to serialize/deserialize. + + + + + Specifies whether the inherited sype's sub-message should be + written with a length-prefix (default), or with group markers. + + + + + Represents an inherited type in a type hierarchy. + + + + + Creates a new SubType instance. + + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + The sub-type to be considered. + + + + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + + + + + The sub-type to be considered. + + + + + Simple base class for supporting unexpected fields allowing + for loss-less round-tips/merge, even if the data is not understod. + The additional fields are (by default) stored in-memory in a buffer. + + As an example of an alternative implementation, you might + choose to use the file system (temporary files) as the back-end, tracking + only the paths [such an object would ideally be IDisposable and use + a finalizer to ensure that the files are removed]. + + + + + Indicates that the implementing type has support for protocol-buffer + extensions. + + Can be implemented by deriving from . + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Provides a simple, default implementation for extension support, + optionally creating it if it does not already exist. Designed to be called by + classes implementing . + + Should a new extension object be + created if it does not already exist? + The extension field to check (and possibly update). + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The type of the value to append. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The model that represents the data. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + Allow tags that are present as part of the definition; for example, to query unknown enum values. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + An enumerator that yields each occurrence of the field. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + An enumerator that yields each occurrence of the field. + + + + A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call + ReadFieldHeader and (after matching the field) an appropriate Read* method. + + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + The number of bytes to read, or -1 to read until the end of the stream + + + + Releases resources used by the reader, but importantly does not Dispose the + underlying stream; in many typical use-cases the stream is used for different + processes, so it is assumed that the consumer will Dispose their stream separately. + + + + + Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a string from the stream (using UTF8); supported wire-types: String + + + + + Throws an exception indication that the given value cannot be mapped to an enum. + + + + + Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) + parsing the message in accordance with the model associated with the reader + + + + + Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup + marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader + should return zero) + + + + + Begins consuming a nested message in the stream; supported wire-types: StartGroup, String + + The token returned must be help and used when callining EndSubItem + + + + Reads a field header from the stream, setting the wire-type and retuning the field number. If no + more fields are available, then 0 is returned. This methods respects sub-messages. + + + + + Looks ahead to see whether the next field in the stream is what we expect + (typically; what we've just finished reading - for example ot read successive list items) + + + + + Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, + a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. + + + + + Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, + SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. + + + + + Discards the data for the current field. + + + + + Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + + Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + + Reads a little-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a big-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a varint encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available. + + + + + Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available. + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + The number of bytes consumed; 0 if no data available + + + + Copies the current field into the instance as extension data + + + + + Indicates whether the reader still has data remaining in the current sub-item, + additionally setting the wire-type for the next field if there is more data. + This is used when decoding packed data. + + + + + Utility method, not intended for public use; this helps maintain the root object is complex scenarios + + + + + Gets the number of the field being processed. + + + + + Indicates the underlying proto serialization format on the wire. + + + + + Addition information about this deserialization operation. + + + + + Returns the position of the current reader (note that this is not necessarily the same as the position + in the underlying stream, if multiple readers are used on the same stream) + + + + + Represents a member (property/field) that is mapped to a protobuf field + + + + + Creates a new ValueMember instance + + + + + Creates a new ValueMember instance + + + + + Specifies methods for working with optional data members. + + Provides a method (null for none) to query whether this member should + be serialized; it must be of the form "bool {Method}()". The member is only serialized if the + method returns true. + Provides a method (null for none) to indicate that a member was + deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" + when data is found. + + + + The number that identifies this member in a protobuf stream + + + + + Gets the member (field/property) which this member relates to. + + + + + Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) + + + + + The underlying type of the member + + + + + For abstract types (IList etc), the type of concrete object to create (if required) + + + + + The type the defines the member + + + + + The default value of the item (members with this value will not be serialized) + + + + + Specifies the rules used to process the field; this is used to determine the most appropriate + wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) + + + + + Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" + is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that + when serializing the defined type is always used. + + + + + Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Indicates whether this field is mandatory. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used + when inferring a schema). + + + + + Should lists have extended support for null values? Note this makes the serialization less efficient. + + + + + Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined + + + + + Get the name of the type being represented + + + + + Adds a known sub-type to the inheritance model + + + + + Obtains the subtypes that are defined for the current type + + + + + Assigns the callbacks to use during serialiation/deserialization. + + The method (or null) called before serialization begins. + The method (or null) called when serialization is complete. + The method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The method (or null) called when deserialization is complete. + The set of callbacks. + + + + Assigns the callbacks to use during serialiation/deserialization. + + The name of the method (or null) called before serialization begins. + The name of the method (or null) called when serialization is complete. + The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The name of the method (or null) called when deserialization is complete. + The set of callbacks. + + + + Designate a factory-method to use to create instances of this type + + + + + Designate a factory-method to use to create instances of this type + + + + + Throws an exception if the type has been made immutable + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, returning the ValueMember rather than the fluent API. + This is otherwise identical to Add. + + + + + Adds a member (by name) to the MetaType + + + + + Performs serialization of this type via a surrogate; all + other serialization options are ignored and handled + by the surrogate's configuration. + + + + + Adds a set of members (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists, returning the ValueMember rather than the fluent API. + This is otherwise identical to Add. + + + + + Compiles the serializer for this type; this is *not* a full + standalone compile, but can significantly boost performance + while allowing additional types to be added. + + An in-place compile can access non-public types / members + + + + Gets the base-type for this type + + + + + When used to compile a model, should public serialization/deserialzation methods + be included for this type? + + + + + Should this type be treated as a reference by default? + + + + + Indicates whether the current type has defined callbacks + + + + + Indicates whether the current type has defined subtypes + + + + + Returns the set of callbacks defined for this type + + + + + The runtime type that the meta-type represents + + + + + Gets or sets whether the type should use a parameterless constructor (the default), + or whether the type should skip the constructor completely. This option is not supported + on compact-framework. + + + + + The concrete type to create when a new instance of this type is needed; this may be useful when dealing + with dynamic proxies, or with interface-based APIs + + + + + Returns the ValueMember that matchs a given field number, or null if not found + + + + + Returns the ValueMember that matchs a given member (property/field), or null if not found + + + + + Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather + than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. + + + + + Gets or sets a value indicating that this type should NOT be treated as a list, even if it has + familiar list-like characteristics (enumerable, add, etc) + + + + Specifies a method on the root-contract in an hierarchy to be invoked before serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. + + + + An xml object serializer that can embed protobuf data in a base-64 hunk (looking like a byte[]) + + + + + Attempt to create a new serializer for the given model and type + + A new serializer instance if the type is recognised by the model; null otherwise + + + + Creates a new serializer for the given model and type + + + + + Ends an object in the output + + + + + Begins an object in the output + + + + + Writes the body of an object in the output + + + + + Indicates whether this is the start of an object we are prepared to handle + + + + + Reads the body of an object + + + + + Additional information about a serialization operation + + + + + Convert a SerializationContext to a StreamingContext + + + + + Convert a StreamingContext to a SerializationContext + + + + + Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. + + + + + A default SerializationContext, with minimal information. + + + + + Gets or sets the source or destination of the transmitted data. + + + + + Represents an output stream for writing protobuf data. + + Why is the API backwards (static methods with writer arguments)? + See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html + + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type) - but the + caller is asserting that this relationship is non-recursive; no recursion check will be + performed. + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Writes a field-header, indicating the format of the next data we plan to write. + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Indicates the start of a nested record. + + The instance to write. + The destination. + A token representing the state of the stream; this token is given to EndSubItem. + + + + Indicates the end of a nested record. + + The token obtained from StartubItem. + The destination. + + + + Creates a new writer against a stream + + The destination stream + The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects + Additional context about this serialization operation + + + + Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed + by this operation. + + + + + Writes any buffered data (if possible) to the underlying stream. + + The writer to flush + It is not always possible to fully flush, since some sequences + may require values to be back-filled into the byte-stream. + + + + Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a string to the stream; supported wire-types: String + + + + + Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Throws an exception indicating that the given enum cannot be mapped to a serialized value. + + + + + Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Copies any extension data stored for the instance to the underlying stream + + + + + Used for packed encoding; indicates that the next field should be skipped rather than + a field header written. Note that the field number must match, else an exception is thrown + when the attempt is made to write the (incorrect) field. The wire-type is taken from the + subsequent call to WriteFieldHeader. Only primitive types can be packed. + + + + + Specifies a known root object to use during reference-tracked serialization + + + + + Addition information about this serialization operation. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag. A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + + + + Gets or sets the original name defined in the .proto; not used + during serialization. + + + + + Gets or sets the data-format to be used when encoding this value. + + + + + Gets the unique tag used to identify this member within the type. + + + + + Gets or sets a value indicating whether this member is mandatory. + + + + + Gets a value indicating whether this member is packed. + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets or sets a value indicating whether this member is packed (lists/arrays). + + + + + Additional (optional) settings that control serialization of members + + + + + Default; no additional options + + + + + Indicates that repeated elements should use packed (length-prefixed) encoding + + + + + Indicates that the given item is required + + + + + Enables full object-tracking/full-graph support + + + + + Embeds the type information into the stream, allowing usage with types not known in advance + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag and MemberName. This allows ProtoMemberAttribute usage + even for partial classes where the individual members are not + under direct control. + A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + Specifies the member to be serialized. + + + + The name of the member to be serialized. + + + + + Provides protobuf serialization support for a number of types + + + + + This is the more "complete" version of Serialize, which handles single instances of mapped types. + The value is written as a complete field, including field-header and (for sub-objects) a + length-prefix + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType + + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume (or -1 to read to the end of the stream). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + This is the more "complete" version of Deserialize, which handles single instances of mapped types. + The value is read as a complete field, including field-header and (for sub-objects) a + length-prefix..kmc + + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IList sets of any type handled by TryDeserializeAuxiliaryType + + + + + Creates a new runtime model, to which the caller + can add support for a range of types. A model + can be used "as is", or can be compiled for + optimal performance. + + + + + Applies common proxy scenarios, resolving the actual type to consider + + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Provides the key that represents a given type in the current model. + The type is also normalized for proxies at the same time. + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Indicates that while an inheritance tree exists, the exact type encountered was not + specified in that hierarchy and cannot be processed. + + + + + Indicates that the given type was not expected, and cannot be processed. + + + + + Indicates that the given type cannot be constructed; it may still be possible to + deserialize into existing instances. + + + + + Returns true if the type supplied is either a recognised contract type, + or a *list* of a recognised contract type. + + Note that primitives always return false, even though the engine + will, if forced, try to serialize such + True if this type is recognised as a serializable entity, else false + + + + Creates a new IFormatter that uses protocol-buffer [de]serialization. + + A new IFormatter to be used during [de]serialization. + The type of object to be [de]deserialized by the formatter. + + + + Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting + are provided on a single API as it is essential that both are mapped identically at all times. + + + + + Indicates the type of callback to be used + + + + + Invoked before an object is serialized + + + + + Invoked after an object is serialized + + + + + Invoked before an object is deserialized (or when a new instance is created) + + + + + Invoked after an object is deserialized + + + + + Not all frameworks are created equal (fx1.1 vs fx2.0, + micro-framework, compact-framework, + silverlight, etc). This class simply wraps up a few things that would + otherwise make the real code unnecessarily messy, providing fallback + implementations if necessary. + + + + + Intended to be a direct map to regular TypeCode, but: + - with missing types + - existing on WinRT + + + + + Sub-format to use when serializing/deserializing data + + + + + Uses the default encoding for the data-type. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that zigzag variant encoding will be used. This means that values + with small magnitude (regardless of sign) take a small amount + of space to encode. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that two's-complement variant encoding will be used. + This means that any -ve number will take 10 bytes (even for 32-bit), + so should only be used for compatibility. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that a fixed amount of space will be used. + + + + + When applied to a sub-message, indicates that the value should be treated + as group-delimited. + + + + + Pushes a null reference onto the stack. Note that this should only + be used to return a null (or set a variable to null); for null-tests + use BranchIfTrue / BranchIfFalse. + + + + + Creates a new "using" block (equivalent) around a variable; + the variable must exist, and note that (unlike in C#) it is + the variables *final* value that gets disposed. If you need + *original* disposal, copy your variable first. + + It is the callers responsibility to ensure that the variable's + scope fully-encapsulates the "using"; if not, the variable + may be re-used (and thus re-assigned) unexpectedly. + + + + + Uses protocol buffer serialization on the specified operation; note that this + must be enabled on both the client and server. + + + + + Used to hold particulars relating to nested objects. This is opaque to the caller - simply + give back the token you are given at the end of an object. + + + + + Describes a WCF operation behaviour that can perform protobuf serialization + + + + + Create a new ProtoOperationBehavior instance + + + + + Creates a protobuf serializer if possible (falling back to the default WCF serializer) + + + + + The type-model that should be used with this behaviour + + + + + Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could + be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). + + + + + The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. + + + + + The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. + + + + + Delegate type used to perform type-formatting functions; the sender originates as the type-model. + + + + + This class acts as an internal wrapper allowing us to do a dynamic + methodinfo invoke; an't put into Serializer as don't want on public + API; can't put into Serializer<T> since we need to invoke + accross classes, which isn't allowed in Silverlight) + + + + + All this does is call GetExtendedValuesTyped with the correct type for "instance"; + this ensures that we don't get issues with subclasses declaring conflicting types - + the caller must respect the fields defined for the type they pass in. + + + + + Reads the given value(s) from the instance's stream; the serializer + is inferred from TValue and format. For singletons, each occurrence + is merged [only applies for sub-objects], and the composed + value if yielded once; otherwise ("repeated") each occurrence + is yielded separately. + + Needs to be public to be callable thru reflection in Silverlight + + + + Stores the given value into the instance's stream; the serializer + is inferred from TValue and format. + + Needs to be public to be callable thru reflection in Silverlight + + + + Provides support for common .NET types that do not have a direct representation + in protobuf, using the definitions from bcl.proto + + + + + Creates a new instance of the specified type, bypassing the constructor. + + The type to create + The new instance + If the platform does not support constructor-skipping + + + + Writes a TimeSpan to a protobuf stream + + + + + Parses a TimeSpan from a protobuf stream + + + + + Parses a DateTime from a protobuf stream + + + + + Writes a DateTime to a protobuf stream + + + + + Parses a decimal from a protobuf stream + + + + + Writes a decimal to a protobuf stream + + + + + Writes a Guid to a protobuf stream + + + + + Parses a Guid from a protobuf stream + + + + + Reads an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Writes an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Optional behaviours that introduce .NET-specific functionality + + + + + No special behaviour + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + If false, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Indicates the encoding used to represent an individual value in a protobuf stream + + + + + Represents an error condition + + + + + Base-128 variant-length encoding + + + + + Fixed-length 8-byte encoding + + + + + Length-variant-prefixed encoding + + + + + Indicates the start of a group + + + + + Indicates the end of a group + + + + + Fixed-length 4-byte encoding + 10 + + + + This is not a formal wire-type in the "protocol buffers" spec, but + denotes a variant integer that should be interpreted using + zig-zag semantics (so -ve numbers aren't a significant overhead) + + + + + Specifies the type of prefix that should be applied to messages. + + + + + No length prefix is applied to the data; the data is terminated only be the end of the stream. + + + + + A base-128 length prefix is applied to the data (efficient for short messages). + + + + + A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). + + + + + A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). + + + + + Provides protocol-buffer serialization capability for concrete, attributed types. This + is a *default* model, but custom serializer models are also supported. + + + Protocol-buffer serialization is a compact binary format, designed to take + advantage of sparse data and knowledge of specific data types; it is also + extensible, allowing a type to be deserialized / merged even if some data is + not recognised. + + + + + The field number that is used as a default when serializing/deserializing a list of objects. + The data is treated as repeated message with field number 1. + + + + + Suggest a .proto definition for the given type + + The type to generate a .proto definition for + The .proto definition as a string + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Applies a protocol-buffer stream to an existing instance. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Creates a new instance from a protocol-buffer stream + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Serializes a given instance and deserializes it as a different type; + this can be used to translate between wire-compatible objects (where + two .NET types represent the same data), or to promote/demote a type + through an inheritance hierarchy. + + No assumption of compatibility is made between the types. + The type of the object being copied. + The type of the new object to be created. + The existing instance to use as a template. + A new instane of type TNewType, with the data from TOldType. + + + + Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. + + The type being serialized. + The existing instance to be serialized (cannot be null). + The destination SerializationInfo to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. + + The type being serialized. + The existing instance to be serialized (cannot be null). + The destination SerializationInfo to write to. + Additional information about this serialization operation. + + + + Writes a protocol-buffer representation of the given instance to the supplied XmlWriter. + + The type being serialized. + The existing instance to be serialized (cannot be null). + The destination XmlWriter to write to. + + + + Applies a protocol-buffer from an XmlReader to an existing instance. + + The type being merged. + The existing instance to be modified (cannot be null). + The XmlReader containing the data to apply to the instance (cannot be null). + + + + Applies a protocol-buffer from a SerializationInfo to an existing instance. + + The type being merged. + The existing instance to be modified (cannot be null). + The SerializationInfo containing the data to apply to the instance (cannot be null). + + + + Applies a protocol-buffer from a SerializationInfo to an existing instance. + + The type being merged. + The existing instance to be modified (cannot be null). + The SerializationInfo containing the data to apply to the instance (cannot be null). + Additional information about this serialization operation. + + + + Precompiles the serializer for a given type. + + + + + Creates a new IFormatter that uses protocol-buffer [de]serialization. + + The type of object to be [de]deserialized by the formatter. + A new IFormatter to be used during [de]serialization. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + A new, initialized instance. + + + + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + The expected tag of the item (only used with base-128 prefix style). + A new, initialized instance. + + + + Applies a protocol-buffer stream to an existing instance, using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + Indicates the number of bytes expected for the next message. + The stream containing the data to investigate for a length. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + + Indicates the number of bytes expected for the next message. + The buffer containing the data to investigate for a length. + The offset of the first byte to read from the buffer. + The number of bytes to read from the buffer. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + + + Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization + operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense + of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). + + + + + Provides non-generic access to the default serializer. + + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Creates a new instance from a protocol-buffer stream + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. + + + Applies a protocol-buffer stream to an existing instance. + The existing instance to be modified (cannot be null). + The binary stream to apply to the instance (cannot be null). + The updated instance + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Global switches that change the behavior of protobuf-net + + + + + + + + + + Maps a field-number to a type + + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. + + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. This allows + ProtoIgnoreAttribute usage + even for partial classes where the individual members are not + under direct control. + + + + + Creates a new ProtoPartialIgnoreAttribute instance. + + Specifies the member to be ignored. + + + + The name of the member to be ignored. + + + + + Used to define protocol-buffer specific behavior for + enumerated values. + + + + + Indicates whether this instance has a customised value mapping + + true if a specific value is set + + + + Gets or sets the specific value to use for this enum during serialization. + + + + + Gets or sets the defined name of the enum, as used in .proto + (this name is not used during serialization). + + + + + Indicates that a type is defined for protocol-buffer serialization. + + + + + Gets or sets the defined name of the type. + + + + + Gets or sets the fist offset to use with implicit field tags; + only uesd if ImplicitFields is set. + + + + + If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. + + + + + If specified, do NOT treat this type as a list, even if it looks like one. + + + + + Gets or sets the mechanism used to automatically infer field tags + for members. This option should be used in advanced scenarios only. + Please review the important notes against the ImplicitFields enumeration. + + + + + Enables/disables automatic tag generation based on the existing name / order + of the defined members. This option is not used for members marked + with ProtoMemberAttribute, as intended to provide compatibility with + WCF serialization. WARNING: when adding new fields you must take + care to increase the Order for new elements, otherwise data corruption + may occur. + + If not explicitly specified, the default is assumed from . + + + + Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. + + + + + Specifies an offset to apply to [DataMember(Order=...)] markers; + this is useful when working with mex-generated classes that have + a different origin (usually 1 vs 0) than the original data-contract. + + This value is added to the Order of each member. + + + + + If true, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Indicates an error during serialization/deserialization of a proto stream. + + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + + Provides protobuf serialization support for a number of types that can be defined at runtime + + + + + Returns a sequence of the Type instances that can be + processed by this model. + + + + + Adds support for an additional type in this model, optionally + appplying inbuilt patterns. If the type is already known to the + model, the existing type is returned **without** applying + any additional behaviour. + + Inbuilt patterns include: + [ProtoContract]/[ProtoMember(n)] + [DataContract]/[DataMember(Order=n)] + [XmlType]/[XmlElement(Order=n)] + [On{Des|S}erializ{ing|ed}] + ShouldSerialize*/*Specified + + The type to be supported + Whether to apply the inbuilt configuration patterns (via attributes etc), or + just add the type with no additional configuration (the type must then be manually configured). + The MetaType representing this type, allowing + further configuration. + + + + Verifies that the model is still open to changes; if not, an exception is thrown + + + + + Prevents further changes to this model + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Compiles the serializers individually; this is *not* a full + standalone compile, but can significantly boost performance + while allowing additional types to be added. + + An in-place compile can access non-public types / members + + + + Fully compiles the current model into a static-compiled model instance + + A full compilation is restricted to accessing public types / members + An instance of the newly created compiled type-model + + + + Fully compiles the current model into a static-compiled serialization dll + (the serialization dll still requires protobuf-net for support services). + + A full compilation is restricted to accessing public types / members + The name of the TypeModel class to create + The path for the new dll + An instance of the newly created compiled type-model + + + + Global default for that + enables/disables automatic tag generation based on the existing name / order + of the defined members. See + for usage and important warning / explanation. + You must set the global default before attempting to serialize/deserialize any + impacted type. + + + + + Global switch that enables or disables the implicit + handling of "zero defaults"; meanning: if no other default is specified, + it assumes bools always default to false, integers to zero, etc. + + If this is disabled, no such assumptions are made and only *explicit* + default values are processed. This is enabled by default to + preserve similar logic to v1. + + + + + The default model, used to support ProtoBuf.Serializer + + + + + Obtains the MetaType associated with a given Type for the current model, + allowing additional configuration. + + + + + Should serializers be compiled on demand? It may be useful + to disable this for debugging purposes. + + + + + Should support for unexpected types be added automatically? + If false, an exception is thrown when unexpected types + are encountered. + + + + + The amount of time to wait if there are concurrent metadata access operations + + + + + If a lock-contention is detected, this event signals the *owner* of the lock responsible for the blockage, indicating + what caused the problem; this is only raised if the lock-owning code successfully completes. + + + + + Contains the stack-trace of the owning code when a lock-contention scenario is detected + + + + + The stack-trace of the code that owned the lock when a lock-contention scenario occurred + + + + + Event-type that is raised when a lock-contention scenario is detected + + + + + Provides addition capability for supporting unexpected fields during + protocol-buffer serialization/deserialization. This allows for loss-less + round-trip/merge, even when the data is not fully understood. + + + + + Requests a stream into which any unexpected fields can be persisted. + + A new stream suitable for storing data. + + + + Indicates that all unexpected fields have now been stored. The + implementing class is responsible for closing the stream. If + "commit" is not true the data may be discarded. + + The stream originally obtained by BeginAppend. + True if the append operation completed successfully. + + + + Requests a stream of the unexpected fields previously stored. + + A prepared stream of the unexpected fields. + + + + Indicates that all unexpected fields have now been read. The + implementing class is responsible for closing the stream. + + The stream originally obtained by BeginQuery. + + + + Requests the length of the raw binary stream; this is used + when serializing sub-entities to indicate the expected size. + + The length of the binary stream representing unexpected data. + + + + Provides a simple buffer-based implementation of an extension object. + + + + diff --git a/packages/protobuf-net.2.0.0.480/lib/net35/protobuf-net.dll b/packages/protobuf-net.2.0.0.480/lib/net35/protobuf-net.dll new file mode 100644 index 0000000..99bbb95 Binary files /dev/null and b/packages/protobuf-net.2.0.0.480/lib/net35/protobuf-net.dll differ diff --git a/packages/protobuf-net.2.0.0.480/lib/net35/protobuf-net.xml b/packages/protobuf-net.2.0.0.480/lib/net35/protobuf-net.xml new file mode 100644 index 0000000..3d14251 --- /dev/null +++ b/packages/protobuf-net.2.0.0.480/lib/net35/protobuf-net.xml @@ -0,0 +1,2640 @@ + + + + protobuf-net + + + + + Configuration element to swap out DatatContractSerilaizer with the XmlProtoSerializer for a given endpoint. + + + + + + Creates a new ProtoBehaviorExtension instance. + + + + + Creates a behavior extension based on the current configuration settings. + + The behavior extension. + + + + Gets the type of behavior. + + + + + Perform the steps necessary to serialize this data. + + The value to be serialized. + The writer entity that is accumulating the output data. + + + + Perform the steps necessary to deserialize this data. + + The current value, if appropriate. + The reader providing the input data. + The updated / replacement value. + + + Emit the IL necessary to perform the given actions + to serialize this data. + + Details and utilities for the method being generated. + The source of the data to work against; + If the value is only needed once, then LoadValue is sufficient. If + the value is needed multiple times, then note that a "null" + means "the top of the stack", in which case you should create your + own copy - GetLocalWithValue. + + + + Emit the IL necessary to perform the given actions to deserialize this data. + + Details and utilities for the method being generated. + For nested values, the instance holding the values; note + that this is not always provided - a null means not supplied. Since this is always + a variable or argument, it is not necessary to consume this value. + + + + The type that this serializer is intended to work for. + + + + + Indicates whether a Read operation replaces the existing value, or + extends the value. If false, the "value" parameter to Read is + discarded, and should be passed in as null. + + + + + Now all Read operations return a value (although most do); if false no + value should be expected. + + + + + Specifies the method used to infer field tags for members of the type + under consideration. Tags are deduced using the invariant alphabetic + sequence of the members' names; this makes implicit field tags very brittle, + and susceptible to changes such as field names (normally an isolated + change). + + + + + No members are serialized implicitly; all members require a suitable + attribute such as [ProtoMember]. This is the recmomended mode for + most scenarios. + + + + + Public properties and fields are eligible for implicit serialization; + this treats the public API as a contract. Ordering beings from ImplicitFirstTag. + + + + + Public and non-public fields are eligible for implicit serialization; + this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. + + + + + Behavior to swap out DatatContractSerilaizer with the XmlProtoSerializer for a given endpoint. + + Add the following to the server and client app.config in the system.serviceModel section: + + + + + + + + + + + + + + Configure your endpoints to have a behaviorConfiguration as follows: + + + + + + + + + + + + + Represents the set of serialization callbacks to be used when serializing/deserializing a type. + + + + Called before serializing an instance + + + Called before deserializing an instance + + + Called after serializing an instance + + + Called after deserializing an instance + + + + True if any callback is set, else False + + + + + Indicates the known-types to support for an individual + message. This serializes each level in the hierarchy as + a nested message to retain wire-compatibility with + other protocol-buffer implementations. + + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Gets the unique index (within the type) that will identify this data. + + + + + Gets the additional type to serialize/deserialize. + + + + + Gets the additional type to serialize/deserialize. + + + + + Specifies whether the inherited sype's sub-message should be + written with a length-prefix (default), or with group markers. + + + + + Represents an inherited type in a type hierarchy. + + + + + Creates a new SubType instance. + + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + The sub-type to be considered. + + + + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + + + + + The sub-type to be considered. + + + + + Simple base class for supporting unexpected fields allowing + for loss-less round-tips/merge, even if the data is not understod. + The additional fields are (by default) stored in-memory in a buffer. + + As an example of an alternative implementation, you might + choose to use the file system (temporary files) as the back-end, tracking + only the paths [such an object would ideally be IDisposable and use + a finalizer to ensure that the files are removed]. + + + + + Indicates that the implementing type has support for protocol-buffer + extensions. + + Can be implemented by deriving from . + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Provides a simple, default implementation for extension support, + optionally creating it if it does not already exist. Designed to be called by + classes implementing . + + Should a new extension object be + created if it does not already exist? + The extension field to check (and possibly update). + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The type of the value to append. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The model that represents the data. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + Allow tags that are present as part of the definition; for example, to query unknown enum values. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + An enumerator that yields each occurrence of the field. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + An enumerator that yields each occurrence of the field. + + + + A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call + ReadFieldHeader and (after matching the field) an appropriate Read* method. + + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + The number of bytes to read, or -1 to read until the end of the stream + + + + Releases resources used by the reader, but importantly does not Dispose the + underlying stream; in many typical use-cases the stream is used for different + processes, so it is assumed that the consumer will Dispose their stream separately. + + + + + Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a string from the stream (using UTF8); supported wire-types: String + + + + + Throws an exception indication that the given value cannot be mapped to an enum. + + + + + Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) + parsing the message in accordance with the model associated with the reader + + + + + Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup + marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader + should return zero) + + + + + Begins consuming a nested message in the stream; supported wire-types: StartGroup, String + + The token returned must be help and used when callining EndSubItem + + + + Reads a field header from the stream, setting the wire-type and retuning the field number. If no + more fields are available, then 0 is returned. This methods respects sub-messages. + + + + + Looks ahead to see whether the next field in the stream is what we expect + (typically; what we've just finished reading - for example ot read successive list items) + + + + + Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, + a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. + + + + + Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, + SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. + + + + + Discards the data for the current field. + + + + + Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + + Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + + Reads a little-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a big-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a varint encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available. + + + + + Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available. + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + The number of bytes consumed; 0 if no data available + + + + Copies the current field into the instance as extension data + + + + + Indicates whether the reader still has data remaining in the current sub-item, + additionally setting the wire-type for the next field if there is more data. + This is used when decoding packed data. + + + + + Utility method, not intended for public use; this helps maintain the root object is complex scenarios + + + + + Gets the number of the field being processed. + + + + + Indicates the underlying proto serialization format on the wire. + + + + + Addition information about this deserialization operation. + + + + + Returns the position of the current reader (note that this is not necessarily the same as the position + in the underlying stream, if multiple readers are used on the same stream) + + + + + Represents a member (property/field) that is mapped to a protobuf field + + + + + Creates a new ValueMember instance + + + + + Creates a new ValueMember instance + + + + + Specifies methods for working with optional data members. + + Provides a method (null for none) to query whether this member should + be serialized; it must be of the form "bool {Method}()". The member is only serialized if the + method returns true. + Provides a method (null for none) to indicate that a member was + deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" + when data is found. + + + + The number that identifies this member in a protobuf stream + + + + + Gets the member (field/property) which this member relates to. + + + + + Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) + + + + + The underlying type of the member + + + + + For abstract types (IList etc), the type of concrete object to create (if required) + + + + + The type the defines the member + + + + + The default value of the item (members with this value will not be serialized) + + + + + Specifies the rules used to process the field; this is used to determine the most appropriate + wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) + + + + + Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" + is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that + when serializing the defined type is always used. + + + + + Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Indicates whether this field is mandatory. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used + when inferring a schema). + + + + + Should lists have extended support for null values? Note this makes the serialization less efficient. + + + + + Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined + + + + + Get the name of the type being represented + + + + + Adds a known sub-type to the inheritance model + + + + + Obtains the subtypes that are defined for the current type + + + + + Assigns the callbacks to use during serialiation/deserialization. + + The method (or null) called before serialization begins. + The method (or null) called when serialization is complete. + The method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The method (or null) called when deserialization is complete. + The set of callbacks. + + + + Assigns the callbacks to use during serialiation/deserialization. + + The name of the method (or null) called before serialization begins. + The name of the method (or null) called when serialization is complete. + The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The name of the method (or null) called when deserialization is complete. + The set of callbacks. + + + + Designate a factory-method to use to create instances of this type + + + + + Designate a factory-method to use to create instances of this type + + + + + Throws an exception if the type has been made immutable + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, returning the ValueMember rather than the fluent API. + This is otherwise identical to Add. + + + + + Adds a member (by name) to the MetaType + + + + + Performs serialization of this type via a surrogate; all + other serialization options are ignored and handled + by the surrogate's configuration. + + + + + Adds a set of members (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists, returning the ValueMember rather than the fluent API. + This is otherwise identical to Add. + + + + + Compiles the serializer for this type; this is *not* a full + standalone compile, but can significantly boost performance + while allowing additional types to be added. + + An in-place compile can access non-public types / members + + + + Gets the base-type for this type + + + + + When used to compile a model, should public serialization/deserialzation methods + be included for this type? + + + + + Should this type be treated as a reference by default? + + + + + Indicates whether the current type has defined callbacks + + + + + Indicates whether the current type has defined subtypes + + + + + Returns the set of callbacks defined for this type + + + + + The runtime type that the meta-type represents + + + + + Gets or sets whether the type should use a parameterless constructor (the default), + or whether the type should skip the constructor completely. This option is not supported + on compact-framework. + + + + + The concrete type to create when a new instance of this type is needed; this may be useful when dealing + with dynamic proxies, or with interface-based APIs + + + + + Returns the ValueMember that matchs a given field number, or null if not found + + + + + Returns the ValueMember that matchs a given member (property/field), or null if not found + + + + + Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather + than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. + + + + + Gets or sets a value indicating that this type should NOT be treated as a list, even if it has + familiar list-like characteristics (enumerable, add, etc) + + + + Specifies a method on the root-contract in an hierarchy to be invoked before serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. + + + + An xml object serializer that can embed protobuf data in a base-64 hunk (looking like a byte[]) + + + + + Attempt to create a new serializer for the given model and type + + A new serializer instance if the type is recognised by the model; null otherwise + + + + Creates a new serializer for the given model and type + + + + + Ends an object in the output + + + + + Begins an object in the output + + + + + Writes the body of an object in the output + + + + + Indicates whether this is the start of an object we are prepared to handle + + + + + Reads the body of an object + + + + + Additional information about a serialization operation + + + + + Convert a SerializationContext to a StreamingContext + + + + + Convert a StreamingContext to a SerializationContext + + + + + Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. + + + + + A default SerializationContext, with minimal information. + + + + + Gets or sets the source or destination of the transmitted data. + + + + + Represents an output stream for writing protobuf data. + + Why is the API backwards (static methods with writer arguments)? + See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html + + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type) - but the + caller is asserting that this relationship is non-recursive; no recursion check will be + performed. + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Writes a field-header, indicating the format of the next data we plan to write. + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Indicates the start of a nested record. + + The instance to write. + The destination. + A token representing the state of the stream; this token is given to EndSubItem. + + + + Indicates the end of a nested record. + + The token obtained from StartubItem. + The destination. + + + + Creates a new writer against a stream + + The destination stream + The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects + Additional context about this serialization operation + + + + Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed + by this operation. + + + + + Writes any buffered data (if possible) to the underlying stream. + + The writer to flush + It is not always possible to fully flush, since some sequences + may require values to be back-filled into the byte-stream. + + + + Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a string to the stream; supported wire-types: String + + + + + Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Throws an exception indicating that the given enum cannot be mapped to a serialized value. + + + + + Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Copies any extension data stored for the instance to the underlying stream + + + + + Used for packed encoding; indicates that the next field should be skipped rather than + a field header written. Note that the field number must match, else an exception is thrown + when the attempt is made to write the (incorrect) field. The wire-type is taken from the + subsequent call to WriteFieldHeader. Only primitive types can be packed. + + + + + Specifies a known root object to use during reference-tracked serialization + + + + + Addition information about this serialization operation. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag. A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + + + + Gets or sets the original name defined in the .proto; not used + during serialization. + + + + + Gets or sets the data-format to be used when encoding this value. + + + + + Gets the unique tag used to identify this member within the type. + + + + + Gets or sets a value indicating whether this member is mandatory. + + + + + Gets a value indicating whether this member is packed. + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets or sets a value indicating whether this member is packed (lists/arrays). + + + + + Additional (optional) settings that control serialization of members + + + + + Default; no additional options + + + + + Indicates that repeated elements should use packed (length-prefixed) encoding + + + + + Indicates that the given item is required + + + + + Enables full object-tracking/full-graph support + + + + + Embeds the type information into the stream, allowing usage with types not known in advance + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag and MemberName. This allows ProtoMemberAttribute usage + even for partial classes where the individual members are not + under direct control. + A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + Specifies the member to be serialized. + + + + The name of the member to be serialized. + + + + + Provides protobuf serialization support for a number of types + + + + + This is the more "complete" version of Serialize, which handles single instances of mapped types. + The value is written as a complete field, including field-header and (for sub-objects) a + length-prefix + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType + + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume (or -1 to read to the end of the stream). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + This is the more "complete" version of Deserialize, which handles single instances of mapped types. + The value is read as a complete field, including field-header and (for sub-objects) a + length-prefix..kmc + + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IList sets of any type handled by TryDeserializeAuxiliaryType + + + + + Creates a new runtime model, to which the caller + can add support for a range of types. A model + can be used "as is", or can be compiled for + optimal performance. + + + + + Applies common proxy scenarios, resolving the actual type to consider + + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Provides the key that represents a given type in the current model. + The type is also normalized for proxies at the same time. + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Indicates that while an inheritance tree exists, the exact type encountered was not + specified in that hierarchy and cannot be processed. + + + + + Indicates that the given type was not expected, and cannot be processed. + + + + + Indicates that the given type cannot be constructed; it may still be possible to + deserialize into existing instances. + + + + + Returns true if the type supplied is either a recognised contract type, + or a *list* of a recognised contract type. + + Note that primitives always return false, even though the engine + will, if forced, try to serialize such + True if this type is recognised as a serializable entity, else false + + + + Creates a new IFormatter that uses protocol-buffer [de]serialization. + + A new IFormatter to be used during [de]serialization. + The type of object to be [de]deserialized by the formatter. + + + + Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting + are provided on a single API as it is essential that both are mapped identically at all times. + + + + + Indicates the type of callback to be used + + + + + Invoked before an object is serialized + + + + + Invoked after an object is serialized + + + + + Invoked before an object is deserialized (or when a new instance is created) + + + + + Invoked after an object is deserialized + + + + + Not all frameworks are created equal (fx1.1 vs fx2.0, + micro-framework, compact-framework, + silverlight, etc). This class simply wraps up a few things that would + otherwise make the real code unnecessarily messy, providing fallback + implementations if necessary. + + + + + Intended to be a direct map to regular TypeCode, but: + - with missing types + - existing on WinRT + + + + + Sub-format to use when serializing/deserializing data + + + + + Uses the default encoding for the data-type. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that zigzag variant encoding will be used. This means that values + with small magnitude (regardless of sign) take a small amount + of space to encode. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that two's-complement variant encoding will be used. + This means that any -ve number will take 10 bytes (even for 32-bit), + so should only be used for compatibility. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that a fixed amount of space will be used. + + + + + When applied to a sub-message, indicates that the value should be treated + as group-delimited. + + + + + Pushes a null reference onto the stack. Note that this should only + be used to return a null (or set a variable to null); for null-tests + use BranchIfTrue / BranchIfFalse. + + + + + Creates a new "using" block (equivalent) around a variable; + the variable must exist, and note that (unlike in C#) it is + the variables *final* value that gets disposed. If you need + *original* disposal, copy your variable first. + + It is the callers responsibility to ensure that the variable's + scope fully-encapsulates the "using"; if not, the variable + may be re-used (and thus re-assigned) unexpectedly. + + + + + Uses protocol buffer serialization on the specified operation; note that this + must be enabled on both the client and server. + + + + + Used to hold particulars relating to nested objects. This is opaque to the caller - simply + give back the token you are given at the end of an object. + + + + + Describes a WCF operation behaviour that can perform protobuf serialization + + + + + Create a new ProtoOperationBehavior instance + + + + + Creates a protobuf serializer if possible (falling back to the default WCF serializer) + + + + + The type-model that should be used with this behaviour + + + + + Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could + be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). + + + + + The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. + + + + + The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. + + + + + Delegate type used to perform type-formatting functions; the sender originates as the type-model. + + + + + This class acts as an internal wrapper allowing us to do a dynamic + methodinfo invoke; an't put into Serializer as don't want on public + API; can't put into Serializer<T> since we need to invoke + accross classes, which isn't allowed in Silverlight) + + + + + All this does is call GetExtendedValuesTyped with the correct type for "instance"; + this ensures that we don't get issues with subclasses declaring conflicting types - + the caller must respect the fields defined for the type they pass in. + + + + + Reads the given value(s) from the instance's stream; the serializer + is inferred from TValue and format. For singletons, each occurrence + is merged [only applies for sub-objects], and the composed + value if yielded once; otherwise ("repeated") each occurrence + is yielded separately. + + Needs to be public to be callable thru reflection in Silverlight + + + + Stores the given value into the instance's stream; the serializer + is inferred from TValue and format. + + Needs to be public to be callable thru reflection in Silverlight + + + + Provides support for common .NET types that do not have a direct representation + in protobuf, using the definitions from bcl.proto + + + + + Creates a new instance of the specified type, bypassing the constructor. + + The type to create + The new instance + If the platform does not support constructor-skipping + + + + Writes a TimeSpan to a protobuf stream + + + + + Parses a TimeSpan from a protobuf stream + + + + + Parses a DateTime from a protobuf stream + + + + + Writes a DateTime to a protobuf stream + + + + + Parses a decimal from a protobuf stream + + + + + Writes a decimal to a protobuf stream + + + + + Writes a Guid to a protobuf stream + + + + + Parses a Guid from a protobuf stream + + + + + Reads an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Writes an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Optional behaviours that introduce .NET-specific functionality + + + + + No special behaviour + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + If false, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Indicates the encoding used to represent an individual value in a protobuf stream + + + + + Represents an error condition + + + + + Base-128 variant-length encoding + + + + + Fixed-length 8-byte encoding + + + + + Length-variant-prefixed encoding + + + + + Indicates the start of a group + + + + + Indicates the end of a group + + + + + Fixed-length 4-byte encoding + 10 + + + + This is not a formal wire-type in the "protocol buffers" spec, but + denotes a variant integer that should be interpreted using + zig-zag semantics (so -ve numbers aren't a significant overhead) + + + + + Specifies the type of prefix that should be applied to messages. + + + + + No length prefix is applied to the data; the data is terminated only be the end of the stream. + + + + + A base-128 length prefix is applied to the data (efficient for short messages). + + + + + A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). + + + + + A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). + + + + + Provides protocol-buffer serialization capability for concrete, attributed types. This + is a *default* model, but custom serializer models are also supported. + + + Protocol-buffer serialization is a compact binary format, designed to take + advantage of sparse data and knowledge of specific data types; it is also + extensible, allowing a type to be deserialized / merged even if some data is + not recognised. + + + + + The field number that is used as a default when serializing/deserializing a list of objects. + The data is treated as repeated message with field number 1. + + + + + Suggest a .proto definition for the given type + + The type to generate a .proto definition for + The .proto definition as a string + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Applies a protocol-buffer stream to an existing instance. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Creates a new instance from a protocol-buffer stream + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Serializes a given instance and deserializes it as a different type; + this can be used to translate between wire-compatible objects (where + two .NET types represent the same data), or to promote/demote a type + through an inheritance hierarchy. + + No assumption of compatibility is made between the types. + The type of the object being copied. + The type of the new object to be created. + The existing instance to use as a template. + A new instane of type TNewType, with the data from TOldType. + + + + Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. + + The type being serialized. + The existing instance to be serialized (cannot be null). + The destination SerializationInfo to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. + + The type being serialized. + The existing instance to be serialized (cannot be null). + The destination SerializationInfo to write to. + Additional information about this serialization operation. + + + + Writes a protocol-buffer representation of the given instance to the supplied XmlWriter. + + The type being serialized. + The existing instance to be serialized (cannot be null). + The destination XmlWriter to write to. + + + + Applies a protocol-buffer from an XmlReader to an existing instance. + + The type being merged. + The existing instance to be modified (cannot be null). + The XmlReader containing the data to apply to the instance (cannot be null). + + + + Applies a protocol-buffer from a SerializationInfo to an existing instance. + + The type being merged. + The existing instance to be modified (cannot be null). + The SerializationInfo containing the data to apply to the instance (cannot be null). + + + + Applies a protocol-buffer from a SerializationInfo to an existing instance. + + The type being merged. + The existing instance to be modified (cannot be null). + The SerializationInfo containing the data to apply to the instance (cannot be null). + Additional information about this serialization operation. + + + + Precompiles the serializer for a given type. + + + + + Creates a new IFormatter that uses protocol-buffer [de]serialization. + + The type of object to be [de]deserialized by the formatter. + A new IFormatter to be used during [de]serialization. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + A new, initialized instance. + + + + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + The expected tag of the item (only used with base-128 prefix style). + A new, initialized instance. + + + + Applies a protocol-buffer stream to an existing instance, using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + Indicates the number of bytes expected for the next message. + The stream containing the data to investigate for a length. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + + Indicates the number of bytes expected for the next message. + The buffer containing the data to investigate for a length. + The offset of the first byte to read from the buffer. + The number of bytes to read from the buffer. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + + + Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization + operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense + of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). + + + + + Provides non-generic access to the default serializer. + + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Creates a new instance from a protocol-buffer stream + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. + + + Applies a protocol-buffer stream to an existing instance. + The existing instance to be modified (cannot be null). + The binary stream to apply to the instance (cannot be null). + The updated instance + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Global switches that change the behavior of protobuf-net + + + + + + + + + + Maps a field-number to a type + + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. + + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. This allows + ProtoIgnoreAttribute usage + even for partial classes where the individual members are not + under direct control. + + + + + Creates a new ProtoPartialIgnoreAttribute instance. + + Specifies the member to be ignored. + + + + The name of the member to be ignored. + + + + + Used to define protocol-buffer specific behavior for + enumerated values. + + + + + Indicates whether this instance has a customised value mapping + + true if a specific value is set + + + + Gets or sets the specific value to use for this enum during serialization. + + + + + Gets or sets the defined name of the enum, as used in .proto + (this name is not used during serialization). + + + + + Indicates that a type is defined for protocol-buffer serialization. + + + + + Gets or sets the defined name of the type. + + + + + Gets or sets the fist offset to use with implicit field tags; + only uesd if ImplicitFields is set. + + + + + If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. + + + + + If specified, do NOT treat this type as a list, even if it looks like one. + + + + + Gets or sets the mechanism used to automatically infer field tags + for members. This option should be used in advanced scenarios only. + Please review the important notes against the ImplicitFields enumeration. + + + + + Enables/disables automatic tag generation based on the existing name / order + of the defined members. This option is not used for members marked + with ProtoMemberAttribute, as intended to provide compatibility with + WCF serialization. WARNING: when adding new fields you must take + care to increase the Order for new elements, otherwise data corruption + may occur. + + If not explicitly specified, the default is assumed from . + + + + Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. + + + + + Specifies an offset to apply to [DataMember(Order=...)] markers; + this is useful when working with mex-generated classes that have + a different origin (usually 1 vs 0) than the original data-contract. + + This value is added to the Order of each member. + + + + + If true, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Indicates an error during serialization/deserialization of a proto stream. + + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + + Provides protobuf serialization support for a number of types that can be defined at runtime + + + + + Returns a sequence of the Type instances that can be + processed by this model. + + + + + Adds support for an additional type in this model, optionally + appplying inbuilt patterns. If the type is already known to the + model, the existing type is returned **without** applying + any additional behaviour. + + Inbuilt patterns include: + [ProtoContract]/[ProtoMember(n)] + [DataContract]/[DataMember(Order=n)] + [XmlType]/[XmlElement(Order=n)] + [On{Des|S}erializ{ing|ed}] + ShouldSerialize*/*Specified + + The type to be supported + Whether to apply the inbuilt configuration patterns (via attributes etc), or + just add the type with no additional configuration (the type must then be manually configured). + The MetaType representing this type, allowing + further configuration. + + + + Verifies that the model is still open to changes; if not, an exception is thrown + + + + + Prevents further changes to this model + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Compiles the serializers individually; this is *not* a full + standalone compile, but can significantly boost performance + while allowing additional types to be added. + + An in-place compile can access non-public types / members + + + + Fully compiles the current model into a static-compiled model instance + + A full compilation is restricted to accessing public types / members + An instance of the newly created compiled type-model + + + + Fully compiles the current model into a static-compiled serialization dll + (the serialization dll still requires protobuf-net for support services). + + A full compilation is restricted to accessing public types / members + The name of the TypeModel class to create + The path for the new dll + An instance of the newly created compiled type-model + + + + Global default for that + enables/disables automatic tag generation based on the existing name / order + of the defined members. See + for usage and important warning / explanation. + You must set the global default before attempting to serialize/deserialize any + impacted type. + + + + + Global switch that enables or disables the implicit + handling of "zero defaults"; meanning: if no other default is specified, + it assumes bools always default to false, integers to zero, etc. + + If this is disabled, no such assumptions are made and only *explicit* + default values are processed. This is enabled by default to + preserve similar logic to v1. + + + + + The default model, used to support ProtoBuf.Serializer + + + + + Obtains the MetaType associated with a given Type for the current model, + allowing additional configuration. + + + + + Should serializers be compiled on demand? It may be useful + to disable this for debugging purposes. + + + + + Should support for unexpected types be added automatically? + If false, an exception is thrown when unexpected types + are encountered. + + + + + The amount of time to wait if there are concurrent metadata access operations + + + + + If a lock-contention is detected, this event signals the *owner* of the lock responsible for the blockage, indicating + what caused the problem; this is only raised if the lock-owning code successfully completes. + + + + + Contains the stack-trace of the owning code when a lock-contention scenario is detected + + + + + The stack-trace of the code that owned the lock when a lock-contention scenario occurred + + + + + Event-type that is raised when a lock-contention scenario is detected + + + + + Provides addition capability for supporting unexpected fields during + protocol-buffer serialization/deserialization. This allows for loss-less + round-trip/merge, even when the data is not fully understood. + + + + + Requests a stream into which any unexpected fields can be persisted. + + A new stream suitable for storing data. + + + + Indicates that all unexpected fields have now been stored. The + implementing class is responsible for closing the stream. If + "commit" is not true the data may be discarded. + + The stream originally obtained by BeginAppend. + True if the append operation completed successfully. + + + + Requests a stream of the unexpected fields previously stored. + + A prepared stream of the unexpected fields. + + + + Indicates that all unexpected fields have now been read. The + implementing class is responsible for closing the stream. + + The stream originally obtained by BeginQuery. + + + + Requests the length of the raw binary stream; this is used + when serializing sub-entities to indicate the expected size. + + The length of the binary stream representing unexpected data. + + + + Provides a simple buffer-based implementation of an extension object. + + + + diff --git a/packages/protobuf-net.2.0.0.480/lib/net40/protobuf-net.dll b/packages/protobuf-net.2.0.0.480/lib/net40/protobuf-net.dll new file mode 100644 index 0000000..99bbb95 Binary files /dev/null and b/packages/protobuf-net.2.0.0.480/lib/net40/protobuf-net.dll differ diff --git a/packages/protobuf-net.2.0.0.480/lib/net40/protobuf-net.xml b/packages/protobuf-net.2.0.0.480/lib/net40/protobuf-net.xml new file mode 100644 index 0000000..3d14251 --- /dev/null +++ b/packages/protobuf-net.2.0.0.480/lib/net40/protobuf-net.xml @@ -0,0 +1,2640 @@ + + + + protobuf-net + + + + + Configuration element to swap out DatatContractSerilaizer with the XmlProtoSerializer for a given endpoint. + + + + + + Creates a new ProtoBehaviorExtension instance. + + + + + Creates a behavior extension based on the current configuration settings. + + The behavior extension. + + + + Gets the type of behavior. + + + + + Perform the steps necessary to serialize this data. + + The value to be serialized. + The writer entity that is accumulating the output data. + + + + Perform the steps necessary to deserialize this data. + + The current value, if appropriate. + The reader providing the input data. + The updated / replacement value. + + + Emit the IL necessary to perform the given actions + to serialize this data. + + Details and utilities for the method being generated. + The source of the data to work against; + If the value is only needed once, then LoadValue is sufficient. If + the value is needed multiple times, then note that a "null" + means "the top of the stack", in which case you should create your + own copy - GetLocalWithValue. + + + + Emit the IL necessary to perform the given actions to deserialize this data. + + Details and utilities for the method being generated. + For nested values, the instance holding the values; note + that this is not always provided - a null means not supplied. Since this is always + a variable or argument, it is not necessary to consume this value. + + + + The type that this serializer is intended to work for. + + + + + Indicates whether a Read operation replaces the existing value, or + extends the value. If false, the "value" parameter to Read is + discarded, and should be passed in as null. + + + + + Now all Read operations return a value (although most do); if false no + value should be expected. + + + + + Specifies the method used to infer field tags for members of the type + under consideration. Tags are deduced using the invariant alphabetic + sequence of the members' names; this makes implicit field tags very brittle, + and susceptible to changes such as field names (normally an isolated + change). + + + + + No members are serialized implicitly; all members require a suitable + attribute such as [ProtoMember]. This is the recmomended mode for + most scenarios. + + + + + Public properties and fields are eligible for implicit serialization; + this treats the public API as a contract. Ordering beings from ImplicitFirstTag. + + + + + Public and non-public fields are eligible for implicit serialization; + this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. + + + + + Behavior to swap out DatatContractSerilaizer with the XmlProtoSerializer for a given endpoint. + + Add the following to the server and client app.config in the system.serviceModel section: + + + + + + + + + + + + + + Configure your endpoints to have a behaviorConfiguration as follows: + + + + + + + + + + + + + Represents the set of serialization callbacks to be used when serializing/deserializing a type. + + + + Called before serializing an instance + + + Called before deserializing an instance + + + Called after serializing an instance + + + Called after deserializing an instance + + + + True if any callback is set, else False + + + + + Indicates the known-types to support for an individual + message. This serializes each level in the hierarchy as + a nested message to retain wire-compatibility with + other protocol-buffer implementations. + + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Gets the unique index (within the type) that will identify this data. + + + + + Gets the additional type to serialize/deserialize. + + + + + Gets the additional type to serialize/deserialize. + + + + + Specifies whether the inherited sype's sub-message should be + written with a length-prefix (default), or with group markers. + + + + + Represents an inherited type in a type hierarchy. + + + + + Creates a new SubType instance. + + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + The sub-type to be considered. + + + + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + + + + + The sub-type to be considered. + + + + + Simple base class for supporting unexpected fields allowing + for loss-less round-tips/merge, even if the data is not understod. + The additional fields are (by default) stored in-memory in a buffer. + + As an example of an alternative implementation, you might + choose to use the file system (temporary files) as the back-end, tracking + only the paths [such an object would ideally be IDisposable and use + a finalizer to ensure that the files are removed]. + + + + + Indicates that the implementing type has support for protocol-buffer + extensions. + + Can be implemented by deriving from . + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Provides a simple, default implementation for extension support, + optionally creating it if it does not already exist. Designed to be called by + classes implementing . + + Should a new extension object be + created if it does not already exist? + The extension field to check (and possibly update). + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The type of the value to append. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The model that represents the data. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + Allow tags that are present as part of the definition; for example, to query unknown enum values. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + An enumerator that yields each occurrence of the field. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + An enumerator that yields each occurrence of the field. + + + + A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call + ReadFieldHeader and (after matching the field) an appropriate Read* method. + + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + The number of bytes to read, or -1 to read until the end of the stream + + + + Releases resources used by the reader, but importantly does not Dispose the + underlying stream; in many typical use-cases the stream is used for different + processes, so it is assumed that the consumer will Dispose their stream separately. + + + + + Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a string from the stream (using UTF8); supported wire-types: String + + + + + Throws an exception indication that the given value cannot be mapped to an enum. + + + + + Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) + parsing the message in accordance with the model associated with the reader + + + + + Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup + marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader + should return zero) + + + + + Begins consuming a nested message in the stream; supported wire-types: StartGroup, String + + The token returned must be help and used when callining EndSubItem + + + + Reads a field header from the stream, setting the wire-type and retuning the field number. If no + more fields are available, then 0 is returned. This methods respects sub-messages. + + + + + Looks ahead to see whether the next field in the stream is what we expect + (typically; what we've just finished reading - for example ot read successive list items) + + + + + Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, + a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. + + + + + Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, + SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. + + + + + Discards the data for the current field. + + + + + Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + + Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + + Reads a little-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a big-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a varint encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available. + + + + + Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available. + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + The number of bytes consumed; 0 if no data available + + + + Copies the current field into the instance as extension data + + + + + Indicates whether the reader still has data remaining in the current sub-item, + additionally setting the wire-type for the next field if there is more data. + This is used when decoding packed data. + + + + + Utility method, not intended for public use; this helps maintain the root object is complex scenarios + + + + + Gets the number of the field being processed. + + + + + Indicates the underlying proto serialization format on the wire. + + + + + Addition information about this deserialization operation. + + + + + Returns the position of the current reader (note that this is not necessarily the same as the position + in the underlying stream, if multiple readers are used on the same stream) + + + + + Represents a member (property/field) that is mapped to a protobuf field + + + + + Creates a new ValueMember instance + + + + + Creates a new ValueMember instance + + + + + Specifies methods for working with optional data members. + + Provides a method (null for none) to query whether this member should + be serialized; it must be of the form "bool {Method}()". The member is only serialized if the + method returns true. + Provides a method (null for none) to indicate that a member was + deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" + when data is found. + + + + The number that identifies this member in a protobuf stream + + + + + Gets the member (field/property) which this member relates to. + + + + + Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) + + + + + The underlying type of the member + + + + + For abstract types (IList etc), the type of concrete object to create (if required) + + + + + The type the defines the member + + + + + The default value of the item (members with this value will not be serialized) + + + + + Specifies the rules used to process the field; this is used to determine the most appropriate + wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) + + + + + Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" + is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that + when serializing the defined type is always used. + + + + + Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Indicates whether this field is mandatory. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used + when inferring a schema). + + + + + Should lists have extended support for null values? Note this makes the serialization less efficient. + + + + + Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined + + + + + Get the name of the type being represented + + + + + Adds a known sub-type to the inheritance model + + + + + Obtains the subtypes that are defined for the current type + + + + + Assigns the callbacks to use during serialiation/deserialization. + + The method (or null) called before serialization begins. + The method (or null) called when serialization is complete. + The method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The method (or null) called when deserialization is complete. + The set of callbacks. + + + + Assigns the callbacks to use during serialiation/deserialization. + + The name of the method (or null) called before serialization begins. + The name of the method (or null) called when serialization is complete. + The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The name of the method (or null) called when deserialization is complete. + The set of callbacks. + + + + Designate a factory-method to use to create instances of this type + + + + + Designate a factory-method to use to create instances of this type + + + + + Throws an exception if the type has been made immutable + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, returning the ValueMember rather than the fluent API. + This is otherwise identical to Add. + + + + + Adds a member (by name) to the MetaType + + + + + Performs serialization of this type via a surrogate; all + other serialization options are ignored and handled + by the surrogate's configuration. + + + + + Adds a set of members (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists, returning the ValueMember rather than the fluent API. + This is otherwise identical to Add. + + + + + Compiles the serializer for this type; this is *not* a full + standalone compile, but can significantly boost performance + while allowing additional types to be added. + + An in-place compile can access non-public types / members + + + + Gets the base-type for this type + + + + + When used to compile a model, should public serialization/deserialzation methods + be included for this type? + + + + + Should this type be treated as a reference by default? + + + + + Indicates whether the current type has defined callbacks + + + + + Indicates whether the current type has defined subtypes + + + + + Returns the set of callbacks defined for this type + + + + + The runtime type that the meta-type represents + + + + + Gets or sets whether the type should use a parameterless constructor (the default), + or whether the type should skip the constructor completely. This option is not supported + on compact-framework. + + + + + The concrete type to create when a new instance of this type is needed; this may be useful when dealing + with dynamic proxies, or with interface-based APIs + + + + + Returns the ValueMember that matchs a given field number, or null if not found + + + + + Returns the ValueMember that matchs a given member (property/field), or null if not found + + + + + Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather + than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. + + + + + Gets or sets a value indicating that this type should NOT be treated as a list, even if it has + familiar list-like characteristics (enumerable, add, etc) + + + + Specifies a method on the root-contract in an hierarchy to be invoked before serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. + + + + An xml object serializer that can embed protobuf data in a base-64 hunk (looking like a byte[]) + + + + + Attempt to create a new serializer for the given model and type + + A new serializer instance if the type is recognised by the model; null otherwise + + + + Creates a new serializer for the given model and type + + + + + Ends an object in the output + + + + + Begins an object in the output + + + + + Writes the body of an object in the output + + + + + Indicates whether this is the start of an object we are prepared to handle + + + + + Reads the body of an object + + + + + Additional information about a serialization operation + + + + + Convert a SerializationContext to a StreamingContext + + + + + Convert a StreamingContext to a SerializationContext + + + + + Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. + + + + + A default SerializationContext, with minimal information. + + + + + Gets or sets the source or destination of the transmitted data. + + + + + Represents an output stream for writing protobuf data. + + Why is the API backwards (static methods with writer arguments)? + See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html + + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type) - but the + caller is asserting that this relationship is non-recursive; no recursion check will be + performed. + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Writes a field-header, indicating the format of the next data we plan to write. + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Indicates the start of a nested record. + + The instance to write. + The destination. + A token representing the state of the stream; this token is given to EndSubItem. + + + + Indicates the end of a nested record. + + The token obtained from StartubItem. + The destination. + + + + Creates a new writer against a stream + + The destination stream + The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects + Additional context about this serialization operation + + + + Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed + by this operation. + + + + + Writes any buffered data (if possible) to the underlying stream. + + The writer to flush + It is not always possible to fully flush, since some sequences + may require values to be back-filled into the byte-stream. + + + + Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a string to the stream; supported wire-types: String + + + + + Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Throws an exception indicating that the given enum cannot be mapped to a serialized value. + + + + + Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Copies any extension data stored for the instance to the underlying stream + + + + + Used for packed encoding; indicates that the next field should be skipped rather than + a field header written. Note that the field number must match, else an exception is thrown + when the attempt is made to write the (incorrect) field. The wire-type is taken from the + subsequent call to WriteFieldHeader. Only primitive types can be packed. + + + + + Specifies a known root object to use during reference-tracked serialization + + + + + Addition information about this serialization operation. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag. A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + + + + Gets or sets the original name defined in the .proto; not used + during serialization. + + + + + Gets or sets the data-format to be used when encoding this value. + + + + + Gets the unique tag used to identify this member within the type. + + + + + Gets or sets a value indicating whether this member is mandatory. + + + + + Gets a value indicating whether this member is packed. + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets or sets a value indicating whether this member is packed (lists/arrays). + + + + + Additional (optional) settings that control serialization of members + + + + + Default; no additional options + + + + + Indicates that repeated elements should use packed (length-prefixed) encoding + + + + + Indicates that the given item is required + + + + + Enables full object-tracking/full-graph support + + + + + Embeds the type information into the stream, allowing usage with types not known in advance + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag and MemberName. This allows ProtoMemberAttribute usage + even for partial classes where the individual members are not + under direct control. + A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + Specifies the member to be serialized. + + + + The name of the member to be serialized. + + + + + Provides protobuf serialization support for a number of types + + + + + This is the more "complete" version of Serialize, which handles single instances of mapped types. + The value is written as a complete field, including field-header and (for sub-objects) a + length-prefix + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType + + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume (or -1 to read to the end of the stream). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + This is the more "complete" version of Deserialize, which handles single instances of mapped types. + The value is read as a complete field, including field-header and (for sub-objects) a + length-prefix..kmc + + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IList sets of any type handled by TryDeserializeAuxiliaryType + + + + + Creates a new runtime model, to which the caller + can add support for a range of types. A model + can be used "as is", or can be compiled for + optimal performance. + + + + + Applies common proxy scenarios, resolving the actual type to consider + + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Provides the key that represents a given type in the current model. + The type is also normalized for proxies at the same time. + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Indicates that while an inheritance tree exists, the exact type encountered was not + specified in that hierarchy and cannot be processed. + + + + + Indicates that the given type was not expected, and cannot be processed. + + + + + Indicates that the given type cannot be constructed; it may still be possible to + deserialize into existing instances. + + + + + Returns true if the type supplied is either a recognised contract type, + or a *list* of a recognised contract type. + + Note that primitives always return false, even though the engine + will, if forced, try to serialize such + True if this type is recognised as a serializable entity, else false + + + + Creates a new IFormatter that uses protocol-buffer [de]serialization. + + A new IFormatter to be used during [de]serialization. + The type of object to be [de]deserialized by the formatter. + + + + Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting + are provided on a single API as it is essential that both are mapped identically at all times. + + + + + Indicates the type of callback to be used + + + + + Invoked before an object is serialized + + + + + Invoked after an object is serialized + + + + + Invoked before an object is deserialized (or when a new instance is created) + + + + + Invoked after an object is deserialized + + + + + Not all frameworks are created equal (fx1.1 vs fx2.0, + micro-framework, compact-framework, + silverlight, etc). This class simply wraps up a few things that would + otherwise make the real code unnecessarily messy, providing fallback + implementations if necessary. + + + + + Intended to be a direct map to regular TypeCode, but: + - with missing types + - existing on WinRT + + + + + Sub-format to use when serializing/deserializing data + + + + + Uses the default encoding for the data-type. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that zigzag variant encoding will be used. This means that values + with small magnitude (regardless of sign) take a small amount + of space to encode. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that two's-complement variant encoding will be used. + This means that any -ve number will take 10 bytes (even for 32-bit), + so should only be used for compatibility. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that a fixed amount of space will be used. + + + + + When applied to a sub-message, indicates that the value should be treated + as group-delimited. + + + + + Pushes a null reference onto the stack. Note that this should only + be used to return a null (or set a variable to null); for null-tests + use BranchIfTrue / BranchIfFalse. + + + + + Creates a new "using" block (equivalent) around a variable; + the variable must exist, and note that (unlike in C#) it is + the variables *final* value that gets disposed. If you need + *original* disposal, copy your variable first. + + It is the callers responsibility to ensure that the variable's + scope fully-encapsulates the "using"; if not, the variable + may be re-used (and thus re-assigned) unexpectedly. + + + + + Uses protocol buffer serialization on the specified operation; note that this + must be enabled on both the client and server. + + + + + Used to hold particulars relating to nested objects. This is opaque to the caller - simply + give back the token you are given at the end of an object. + + + + + Describes a WCF operation behaviour that can perform protobuf serialization + + + + + Create a new ProtoOperationBehavior instance + + + + + Creates a protobuf serializer if possible (falling back to the default WCF serializer) + + + + + The type-model that should be used with this behaviour + + + + + Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could + be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). + + + + + The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. + + + + + The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. + + + + + Delegate type used to perform type-formatting functions; the sender originates as the type-model. + + + + + This class acts as an internal wrapper allowing us to do a dynamic + methodinfo invoke; an't put into Serializer as don't want on public + API; can't put into Serializer<T> since we need to invoke + accross classes, which isn't allowed in Silverlight) + + + + + All this does is call GetExtendedValuesTyped with the correct type for "instance"; + this ensures that we don't get issues with subclasses declaring conflicting types - + the caller must respect the fields defined for the type they pass in. + + + + + Reads the given value(s) from the instance's stream; the serializer + is inferred from TValue and format. For singletons, each occurrence + is merged [only applies for sub-objects], and the composed + value if yielded once; otherwise ("repeated") each occurrence + is yielded separately. + + Needs to be public to be callable thru reflection in Silverlight + + + + Stores the given value into the instance's stream; the serializer + is inferred from TValue and format. + + Needs to be public to be callable thru reflection in Silverlight + + + + Provides support for common .NET types that do not have a direct representation + in protobuf, using the definitions from bcl.proto + + + + + Creates a new instance of the specified type, bypassing the constructor. + + The type to create + The new instance + If the platform does not support constructor-skipping + + + + Writes a TimeSpan to a protobuf stream + + + + + Parses a TimeSpan from a protobuf stream + + + + + Parses a DateTime from a protobuf stream + + + + + Writes a DateTime to a protobuf stream + + + + + Parses a decimal from a protobuf stream + + + + + Writes a decimal to a protobuf stream + + + + + Writes a Guid to a protobuf stream + + + + + Parses a Guid from a protobuf stream + + + + + Reads an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Writes an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Optional behaviours that introduce .NET-specific functionality + + + + + No special behaviour + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + If false, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Indicates the encoding used to represent an individual value in a protobuf stream + + + + + Represents an error condition + + + + + Base-128 variant-length encoding + + + + + Fixed-length 8-byte encoding + + + + + Length-variant-prefixed encoding + + + + + Indicates the start of a group + + + + + Indicates the end of a group + + + + + Fixed-length 4-byte encoding + 10 + + + + This is not a formal wire-type in the "protocol buffers" spec, but + denotes a variant integer that should be interpreted using + zig-zag semantics (so -ve numbers aren't a significant overhead) + + + + + Specifies the type of prefix that should be applied to messages. + + + + + No length prefix is applied to the data; the data is terminated only be the end of the stream. + + + + + A base-128 length prefix is applied to the data (efficient for short messages). + + + + + A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). + + + + + A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). + + + + + Provides protocol-buffer serialization capability for concrete, attributed types. This + is a *default* model, but custom serializer models are also supported. + + + Protocol-buffer serialization is a compact binary format, designed to take + advantage of sparse data and knowledge of specific data types; it is also + extensible, allowing a type to be deserialized / merged even if some data is + not recognised. + + + + + The field number that is used as a default when serializing/deserializing a list of objects. + The data is treated as repeated message with field number 1. + + + + + Suggest a .proto definition for the given type + + The type to generate a .proto definition for + The .proto definition as a string + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Applies a protocol-buffer stream to an existing instance. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Creates a new instance from a protocol-buffer stream + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Serializes a given instance and deserializes it as a different type; + this can be used to translate between wire-compatible objects (where + two .NET types represent the same data), or to promote/demote a type + through an inheritance hierarchy. + + No assumption of compatibility is made between the types. + The type of the object being copied. + The type of the new object to be created. + The existing instance to use as a template. + A new instane of type TNewType, with the data from TOldType. + + + + Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. + + The type being serialized. + The existing instance to be serialized (cannot be null). + The destination SerializationInfo to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. + + The type being serialized. + The existing instance to be serialized (cannot be null). + The destination SerializationInfo to write to. + Additional information about this serialization operation. + + + + Writes a protocol-buffer representation of the given instance to the supplied XmlWriter. + + The type being serialized. + The existing instance to be serialized (cannot be null). + The destination XmlWriter to write to. + + + + Applies a protocol-buffer from an XmlReader to an existing instance. + + The type being merged. + The existing instance to be modified (cannot be null). + The XmlReader containing the data to apply to the instance (cannot be null). + + + + Applies a protocol-buffer from a SerializationInfo to an existing instance. + + The type being merged. + The existing instance to be modified (cannot be null). + The SerializationInfo containing the data to apply to the instance (cannot be null). + + + + Applies a protocol-buffer from a SerializationInfo to an existing instance. + + The type being merged. + The existing instance to be modified (cannot be null). + The SerializationInfo containing the data to apply to the instance (cannot be null). + Additional information about this serialization operation. + + + + Precompiles the serializer for a given type. + + + + + Creates a new IFormatter that uses protocol-buffer [de]serialization. + + The type of object to be [de]deserialized by the formatter. + A new IFormatter to be used during [de]serialization. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + A new, initialized instance. + + + + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + The expected tag of the item (only used with base-128 prefix style). + A new, initialized instance. + + + + Applies a protocol-buffer stream to an existing instance, using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + Indicates the number of bytes expected for the next message. + The stream containing the data to investigate for a length. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + + Indicates the number of bytes expected for the next message. + The buffer containing the data to investigate for a length. + The offset of the first byte to read from the buffer. + The number of bytes to read from the buffer. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + + + Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization + operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense + of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). + + + + + Provides non-generic access to the default serializer. + + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Creates a new instance from a protocol-buffer stream + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. + + + Applies a protocol-buffer stream to an existing instance. + The existing instance to be modified (cannot be null). + The binary stream to apply to the instance (cannot be null). + The updated instance + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Global switches that change the behavior of protobuf-net + + + + + + + + + + Maps a field-number to a type + + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. + + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. This allows + ProtoIgnoreAttribute usage + even for partial classes where the individual members are not + under direct control. + + + + + Creates a new ProtoPartialIgnoreAttribute instance. + + Specifies the member to be ignored. + + + + The name of the member to be ignored. + + + + + Used to define protocol-buffer specific behavior for + enumerated values. + + + + + Indicates whether this instance has a customised value mapping + + true if a specific value is set + + + + Gets or sets the specific value to use for this enum during serialization. + + + + + Gets or sets the defined name of the enum, as used in .proto + (this name is not used during serialization). + + + + + Indicates that a type is defined for protocol-buffer serialization. + + + + + Gets or sets the defined name of the type. + + + + + Gets or sets the fist offset to use with implicit field tags; + only uesd if ImplicitFields is set. + + + + + If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. + + + + + If specified, do NOT treat this type as a list, even if it looks like one. + + + + + Gets or sets the mechanism used to automatically infer field tags + for members. This option should be used in advanced scenarios only. + Please review the important notes against the ImplicitFields enumeration. + + + + + Enables/disables automatic tag generation based on the existing name / order + of the defined members. This option is not used for members marked + with ProtoMemberAttribute, as intended to provide compatibility with + WCF serialization. WARNING: when adding new fields you must take + care to increase the Order for new elements, otherwise data corruption + may occur. + + If not explicitly specified, the default is assumed from . + + + + Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. + + + + + Specifies an offset to apply to [DataMember(Order=...)] markers; + this is useful when working with mex-generated classes that have + a different origin (usually 1 vs 0) than the original data-contract. + + This value is added to the Order of each member. + + + + + If true, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Indicates an error during serialization/deserialization of a proto stream. + + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + + Provides protobuf serialization support for a number of types that can be defined at runtime + + + + + Returns a sequence of the Type instances that can be + processed by this model. + + + + + Adds support for an additional type in this model, optionally + appplying inbuilt patterns. If the type is already known to the + model, the existing type is returned **without** applying + any additional behaviour. + + Inbuilt patterns include: + [ProtoContract]/[ProtoMember(n)] + [DataContract]/[DataMember(Order=n)] + [XmlType]/[XmlElement(Order=n)] + [On{Des|S}erializ{ing|ed}] + ShouldSerialize*/*Specified + + The type to be supported + Whether to apply the inbuilt configuration patterns (via attributes etc), or + just add the type with no additional configuration (the type must then be manually configured). + The MetaType representing this type, allowing + further configuration. + + + + Verifies that the model is still open to changes; if not, an exception is thrown + + + + + Prevents further changes to this model + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Compiles the serializers individually; this is *not* a full + standalone compile, but can significantly boost performance + while allowing additional types to be added. + + An in-place compile can access non-public types / members + + + + Fully compiles the current model into a static-compiled model instance + + A full compilation is restricted to accessing public types / members + An instance of the newly created compiled type-model + + + + Fully compiles the current model into a static-compiled serialization dll + (the serialization dll still requires protobuf-net for support services). + + A full compilation is restricted to accessing public types / members + The name of the TypeModel class to create + The path for the new dll + An instance of the newly created compiled type-model + + + + Global default for that + enables/disables automatic tag generation based on the existing name / order + of the defined members. See + for usage and important warning / explanation. + You must set the global default before attempting to serialize/deserialize any + impacted type. + + + + + Global switch that enables or disables the implicit + handling of "zero defaults"; meanning: if no other default is specified, + it assumes bools always default to false, integers to zero, etc. + + If this is disabled, no such assumptions are made and only *explicit* + default values are processed. This is enabled by default to + preserve similar logic to v1. + + + + + The default model, used to support ProtoBuf.Serializer + + + + + Obtains the MetaType associated with a given Type for the current model, + allowing additional configuration. + + + + + Should serializers be compiled on demand? It may be useful + to disable this for debugging purposes. + + + + + Should support for unexpected types be added automatically? + If false, an exception is thrown when unexpected types + are encountered. + + + + + The amount of time to wait if there are concurrent metadata access operations + + + + + If a lock-contention is detected, this event signals the *owner* of the lock responsible for the blockage, indicating + what caused the problem; this is only raised if the lock-owning code successfully completes. + + + + + Contains the stack-trace of the owning code when a lock-contention scenario is detected + + + + + The stack-trace of the code that owned the lock when a lock-contention scenario occurred + + + + + Event-type that is raised when a lock-contention scenario is detected + + + + + Provides addition capability for supporting unexpected fields during + protocol-buffer serialization/deserialization. This allows for loss-less + round-trip/merge, even when the data is not fully understood. + + + + + Requests a stream into which any unexpected fields can be persisted. + + A new stream suitable for storing data. + + + + Indicates that all unexpected fields have now been stored. The + implementing class is responsible for closing the stream. If + "commit" is not true the data may be discarded. + + The stream originally obtained by BeginAppend. + True if the append operation completed successfully. + + + + Requests a stream of the unexpected fields previously stored. + + A prepared stream of the unexpected fields. + + + + Indicates that all unexpected fields have now been read. The + implementing class is responsible for closing the stream. + + The stream originally obtained by BeginQuery. + + + + Requests the length of the raw binary stream; this is used + when serializing sub-entities to indicate the expected size. + + The length of the binary stream representing unexpected data. + + + + Provides a simple buffer-based implementation of an extension object. + + + + diff --git a/packages/protobuf-net.2.0.0.480/lib/sl3-wp/protobuf-net.XML b/packages/protobuf-net.2.0.0.480/lib/sl3-wp/protobuf-net.XML new file mode 100644 index 0000000..212e108 --- /dev/null +++ b/packages/protobuf-net.2.0.0.480/lib/sl3-wp/protobuf-net.XML @@ -0,0 +1,2362 @@ + + + + protobuf-net + + + + + Perform the steps necessary to serialize this data. + + The value to be serialized. + The writer entity that is accumulating the output data. + + + + Perform the steps necessary to deserialize this data. + + The current value, if appropriate. + The reader providing the input data. + The updated / replacement value. + + + + The type that this serializer is intended to work for. + + + + + Indicates whether a Read operation replaces the existing value, or + extends the value. If false, the "value" parameter to Read is + discarded, and should be passed in as null. + + + + + Now all Read operations return a value (although most do); if false no + value should be expected. + + + + + Specifies the method used to infer field tags for members of the type + under consideration. Tags are deduced using the invariant alphabetic + sequence of the members' names; this makes implicit field tags very brittle, + and susceptible to changes such as field names (normally an isolated + change). + + + + + No members are serialized implicitly; all members require a suitable + attribute such as [ProtoMember]. This is the recmomended mode for + most scenarios. + + + + + Public properties and fields are eligible for implicit serialization; + this treats the public API as a contract. Ordering beings from ImplicitFirstTag. + + + + + Public and non-public fields are eligible for implicit serialization; + this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. + + + + + Represents the set of serialization callbacks to be used when serializing/deserializing a type. + + + + Called before serializing an instance + + + Called before deserializing an instance + + + Called after serializing an instance + + + Called after deserializing an instance + + + + True if any callback is set, else False + + + + + Indicates the known-types to support for an individual + message. This serializes each level in the hierarchy as + a nested message to retain wire-compatibility with + other protocol-buffer implementations. + + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Gets the unique index (within the type) that will identify this data. + + + + + Gets the additional type to serialize/deserialize. + + + + + Gets the additional type to serialize/deserialize. + + + + + Specifies whether the inherited sype's sub-message should be + written with a length-prefix (default), or with group markers. + + + + + Represents an inherited type in a type hierarchy. + + + + + Creates a new SubType instance. + + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + The sub-type to be considered. + + + + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + + + + + The sub-type to be considered. + + + + + Simple base class for supporting unexpected fields allowing + for loss-less round-tips/merge, even if the data is not understod. + The additional fields are (by default) stored in-memory in a buffer. + + As an example of an alternative implementation, you might + choose to use the file system (temporary files) as the back-end, tracking + only the paths [such an object would ideally be IDisposable and use + a finalizer to ensure that the files are removed]. + + + + + Indicates that the implementing type has support for protocol-buffer + extensions. + + Can be implemented by deriving from . + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Provides a simple, default implementation for extension support, + optionally creating it if it does not already exist. Designed to be called by + classes implementing . + + Should a new extension object be + created if it does not already exist? + The extension field to check (and possibly update). + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The type of the value to append. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The model that represents the data. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + Allow tags that are present as part of the definition; for example, to query unknown enum values. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + An enumerator that yields each occurrence of the field. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + An enumerator that yields each occurrence of the field. + + + + A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call + ReadFieldHeader and (after matching the field) an appropriate Read* method. + + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + The number of bytes to read, or -1 to read until the end of the stream + + + + Releases resources used by the reader, but importantly does not Dispose the + underlying stream; in many typical use-cases the stream is used for different + processes, so it is assumed that the consumer will Dispose their stream separately. + + + + + Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a string from the stream (using UTF8); supported wire-types: String + + + + + Throws an exception indication that the given value cannot be mapped to an enum. + + + + + Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) + parsing the message in accordance with the model associated with the reader + + + + + Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup + marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader + should return zero) + + + + + Begins consuming a nested message in the stream; supported wire-types: StartGroup, String + + The token returned must be help and used when callining EndSubItem + + + + Reads a field header from the stream, setting the wire-type and retuning the field number. If no + more fields are available, then 0 is returned. This methods respects sub-messages. + + + + + Looks ahead to see whether the next field in the stream is what we expect + (typically; what we've just finished reading - for example ot read successive list items) + + + + + Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, + a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. + + + + + Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, + SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. + + + + + Discards the data for the current field. + + + + + Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + + Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + + Reads a little-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a big-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a varint encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available. + + + + + Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available. + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + The number of bytes consumed; 0 if no data available + + + + Copies the current field into the instance as extension data + + + + + Indicates whether the reader still has data remaining in the current sub-item, + additionally setting the wire-type for the next field if there is more data. + This is used when decoding packed data. + + + + + Utility method, not intended for public use; this helps maintain the root object is complex scenarios + + + + + Gets the number of the field being processed. + + + + + Indicates the underlying proto serialization format on the wire. + + + + + Addition information about this deserialization operation. + + + + + Returns the position of the current reader (note that this is not necessarily the same as the position + in the underlying stream, if multiple readers are used on the same stream) + + + + + Represents a member (property/field) that is mapped to a protobuf field + + + + + Creates a new ValueMember instance + + + + + Creates a new ValueMember instance + + + + + Specifies methods for working with optional data members. + + Provides a method (null for none) to query whether this member should + be serialized; it must be of the form "bool {Method}()". The member is only serialized if the + method returns true. + Provides a method (null for none) to indicate that a member was + deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" + when data is found. + + + + The number that identifies this member in a protobuf stream + + + + + Gets the member (field/property) which this member relates to. + + + + + Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) + + + + + The underlying type of the member + + + + + For abstract types (IList etc), the type of concrete object to create (if required) + + + + + The type the defines the member + + + + + The default value of the item (members with this value will not be serialized) + + + + + Specifies the rules used to process the field; this is used to determine the most appropriate + wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) + + + + + Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" + is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that + when serializing the defined type is always used. + + + + + Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Indicates whether this field is mandatory. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used + when inferring a schema). + + + + + Should lists have extended support for null values? Note this makes the serialization less efficient. + + + + + Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined + + + + + Get the name of the type being represented + + + + + Adds a known sub-type to the inheritance model + + + + + Obtains the subtypes that are defined for the current type + + + + + Assigns the callbacks to use during serialiation/deserialization. + + The method (or null) called before serialization begins. + The method (or null) called when serialization is complete. + The method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The method (or null) called when deserialization is complete. + The set of callbacks. + + + + Assigns the callbacks to use during serialiation/deserialization. + + The name of the method (or null) called before serialization begins. + The name of the method (or null) called when serialization is complete. + The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The name of the method (or null) called when deserialization is complete. + The set of callbacks. + + + + Designate a factory-method to use to create instances of this type + + + + + Designate a factory-method to use to create instances of this type + + + + + Throws an exception if the type has been made immutable + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, returning the ValueMember rather than the fluent API. + This is otherwise identical to Add. + + + + + Adds a member (by name) to the MetaType + + + + + Performs serialization of this type via a surrogate; all + other serialization options are ignored and handled + by the surrogate's configuration. + + + + + Adds a set of members (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists, returning the ValueMember rather than the fluent API. + This is otherwise identical to Add. + + + + + Gets the base-type for this type + + + + + When used to compile a model, should public serialization/deserialzation methods + be included for this type? + + + + + Should this type be treated as a reference by default? + + + + + Indicates whether the current type has defined callbacks + + + + + Indicates whether the current type has defined subtypes + + + + + Returns the set of callbacks defined for this type + + + + + The runtime type that the meta-type represents + + + + + Gets or sets whether the type should use a parameterless constructor (the default), + or whether the type should skip the constructor completely. This option is not supported + on compact-framework. + + + + + The concrete type to create when a new instance of this type is needed; this may be useful when dealing + with dynamic proxies, or with interface-based APIs + + + + + Returns the ValueMember that matchs a given field number, or null if not found + + + + + Returns the ValueMember that matchs a given member (property/field), or null if not found + + + + + Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather + than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. + + + + + Gets or sets a value indicating that this type should NOT be treated as a list, even if it has + familiar list-like characteristics (enumerable, add, etc) + + + + Specifies a method on the root-contract in an hierarchy to be invoked before serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. + + + + Additional information about a serialization operation + + + + + Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. + + + + + A default SerializationContext, with minimal information. + + + + + Represents an output stream for writing protobuf data. + + Why is the API backwards (static methods with writer arguments)? + See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html + + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type) - but the + caller is asserting that this relationship is non-recursive; no recursion check will be + performed. + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Writes a field-header, indicating the format of the next data we plan to write. + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Indicates the start of a nested record. + + The instance to write. + The destination. + A token representing the state of the stream; this token is given to EndSubItem. + + + + Indicates the end of a nested record. + + The token obtained from StartubItem. + The destination. + + + + Creates a new writer against a stream + + The destination stream + The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects + Additional context about this serialization operation + + + + Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed + by this operation. + + + + + Writes any buffered data (if possible) to the underlying stream. + + The writer to flush + It is not always possible to fully flush, since some sequences + may require values to be back-filled into the byte-stream. + + + + Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a string to the stream; supported wire-types: String + + + + + Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Throws an exception indicating that the given enum cannot be mapped to a serialized value. + + + + + Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Copies any extension data stored for the instance to the underlying stream + + + + + Used for packed encoding; indicates that the next field should be skipped rather than + a field header written. Note that the field number must match, else an exception is thrown + when the attempt is made to write the (incorrect) field. The wire-type is taken from the + subsequent call to WriteFieldHeader. Only primitive types can be packed. + + + + + Specifies a known root object to use during reference-tracked serialization + + + + + Addition information about this serialization operation. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag. A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + + + + Gets or sets the original name defined in the .proto; not used + during serialization. + + + + + Gets or sets the data-format to be used when encoding this value. + + + + + Gets the unique tag used to identify this member within the type. + + + + + Gets or sets a value indicating whether this member is mandatory. + + + + + Gets a value indicating whether this member is packed. + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets or sets a value indicating whether this member is packed (lists/arrays). + + + + + Additional (optional) settings that control serialization of members + + + + + Default; no additional options + + + + + Indicates that repeated elements should use packed (length-prefixed) encoding + + + + + Indicates that the given item is required + + + + + Enables full object-tracking/full-graph support + + + + + Embeds the type information into the stream, allowing usage with types not known in advance + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag and MemberName. This allows ProtoMemberAttribute usage + even for partial classes where the individual members are not + under direct control. + A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + Specifies the member to be serialized. + + + + The name of the member to be serialized. + + + + + Provides protobuf serialization support for a number of types + + + + + This is the more "complete" version of Serialize, which handles single instances of mapped types. + The value is written as a complete field, including field-header and (for sub-objects) a + length-prefix + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType + + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume (or -1 to read to the end of the stream). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + This is the more "complete" version of Deserialize, which handles single instances of mapped types. + The value is read as a complete field, including field-header and (for sub-objects) a + length-prefix..kmc + + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IList sets of any type handled by TryDeserializeAuxiliaryType + + + + + Creates a new runtime model, to which the caller + can add support for a range of types. A model + can be used "as is", or can be compiled for + optimal performance. + + + + + Applies common proxy scenarios, resolving the actual type to consider + + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Provides the key that represents a given type in the current model. + The type is also normalized for proxies at the same time. + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Indicates that while an inheritance tree exists, the exact type encountered was not + specified in that hierarchy and cannot be processed. + + + + + Indicates that the given type was not expected, and cannot be processed. + + + + + Indicates that the given type cannot be constructed; it may still be possible to + deserialize into existing instances. + + + + + Returns true if the type supplied is either a recognised contract type, + or a *list* of a recognised contract type. + + Note that primitives always return false, even though the engine + will, if forced, try to serialize such + True if this type is recognised as a serializable entity, else false + + + + Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting + are provided on a single API as it is essential that both are mapped identically at all times. + + + + + Indicates the type of callback to be used + + + + + Invoked before an object is serialized + + + + + Invoked after an object is serialized + + + + + Invoked before an object is deserialized (or when a new instance is created) + + + + + Invoked after an object is deserialized + + + + + Not all frameworks are created equal (fx1.1 vs fx2.0, + micro-framework, compact-framework, + silverlight, etc). This class simply wraps up a few things that would + otherwise make the real code unnecessarily messy, providing fallback + implementations if necessary. + + + + + Intended to be a direct map to regular TypeCode, but: + - with missing types + - existing on WinRT + + + + + Sub-format to use when serializing/deserializing data + + + + + Uses the default encoding for the data-type. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that zigzag variant encoding will be used. This means that values + with small magnitude (regardless of sign) take a small amount + of space to encode. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that two's-complement variant encoding will be used. + This means that any -ve number will take 10 bytes (even for 32-bit), + so should only be used for compatibility. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that a fixed amount of space will be used. + + + + + When applied to a sub-message, indicates that the value should be treated + as group-delimited. + + + + + Used to hold particulars relating to nested objects. This is opaque to the caller - simply + give back the token you are given at the end of an object. + + + + + Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could + be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). + + + + + The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. + + + + + The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. + + + + + Delegate type used to perform type-formatting functions; the sender originates as the type-model. + + + + + This class acts as an internal wrapper allowing us to do a dynamic + methodinfo invoke; an't put into Serializer as don't want on public + API; can't put into Serializer<T> since we need to invoke + accross classes, which isn't allowed in Silverlight) + + + + + All this does is call GetExtendedValuesTyped with the correct type for "instance"; + this ensures that we don't get issues with subclasses declaring conflicting types - + the caller must respect the fields defined for the type they pass in. + + + + + Reads the given value(s) from the instance's stream; the serializer + is inferred from TValue and format. For singletons, each occurrence + is merged [only applies for sub-objects], and the composed + value if yielded once; otherwise ("repeated") each occurrence + is yielded separately. + + Needs to be public to be callable thru reflection in Silverlight + + + + Stores the given value into the instance's stream; the serializer + is inferred from TValue and format. + + Needs to be public to be callable thru reflection in Silverlight + + + + Provides support for common .NET types that do not have a direct representation + in protobuf, using the definitions from bcl.proto + + + + + Creates a new instance of the specified type, bypassing the constructor. + + The type to create + The new instance + If the platform does not support constructor-skipping + + + + Writes a TimeSpan to a protobuf stream + + + + + Parses a TimeSpan from a protobuf stream + + + + + Parses a DateTime from a protobuf stream + + + + + Writes a DateTime to a protobuf stream + + + + + Parses a decimal from a protobuf stream + + + + + Writes a decimal to a protobuf stream + + + + + Writes a Guid to a protobuf stream + + + + + Parses a Guid from a protobuf stream + + + + + Reads an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Writes an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Optional behaviours that introduce .NET-specific functionality + + + + + No special behaviour + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + If false, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Indicates the encoding used to represent an individual value in a protobuf stream + + + + + Represents an error condition + + + + + Base-128 variant-length encoding + + + + + Fixed-length 8-byte encoding + + + + + Length-variant-prefixed encoding + + + + + Indicates the start of a group + + + + + Indicates the end of a group + + + + + Fixed-length 4-byte encoding + 10 + + + + This is not a formal wire-type in the "protocol buffers" spec, but + denotes a variant integer that should be interpreted using + zig-zag semantics (so -ve numbers aren't a significant overhead) + + + + + Specifies the type of prefix that should be applied to messages. + + + + + No length prefix is applied to the data; the data is terminated only be the end of the stream. + + + + + A base-128 length prefix is applied to the data (efficient for short messages). + + + + + A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). + + + + + A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). + + + + + Provides protocol-buffer serialization capability for concrete, attributed types. This + is a *default* model, but custom serializer models are also supported. + + + Protocol-buffer serialization is a compact binary format, designed to take + advantage of sparse data and knowledge of specific data types; it is also + extensible, allowing a type to be deserialized / merged even if some data is + not recognised. + + + + + The field number that is used as a default when serializing/deserializing a list of objects. + The data is treated as repeated message with field number 1. + + + + + Suggest a .proto definition for the given type + + The type to generate a .proto definition for + The .proto definition as a string + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Applies a protocol-buffer stream to an existing instance. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Creates a new instance from a protocol-buffer stream + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Serializes a given instance and deserializes it as a different type; + this can be used to translate between wire-compatible objects (where + two .NET types represent the same data), or to promote/demote a type + through an inheritance hierarchy. + + No assumption of compatibility is made between the types. + The type of the object being copied. + The type of the new object to be created. + The existing instance to use as a template. + A new instane of type TNewType, with the data from TOldType. + + + + Precompiles the serializer for a given type. + + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + A new, initialized instance. + + + + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + The expected tag of the item (only used with base-128 prefix style). + A new, initialized instance. + + + + Applies a protocol-buffer stream to an existing instance, using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + Indicates the number of bytes expected for the next message. + The stream containing the data to investigate for a length. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + + Indicates the number of bytes expected for the next message. + The buffer containing the data to investigate for a length. + The offset of the first byte to read from the buffer. + The number of bytes to read from the buffer. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + + + Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization + operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense + of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). + + + + + Provides non-generic access to the default serializer. + + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Creates a new instance from a protocol-buffer stream + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. + + + Applies a protocol-buffer stream to an existing instance. + The existing instance to be modified (cannot be null). + The binary stream to apply to the instance (cannot be null). + The updated instance + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Global switches that change the behavior of protobuf-net + + + + + + + + + + Maps a field-number to a type + + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. + + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. This allows + ProtoIgnoreAttribute usage + even for partial classes where the individual members are not + under direct control. + + + + + Creates a new ProtoPartialIgnoreAttribute instance. + + Specifies the member to be ignored. + + + + The name of the member to be ignored. + + + + + Used to define protocol-buffer specific behavior for + enumerated values. + + + + + Indicates whether this instance has a customised value mapping + + true if a specific value is set + + + + Gets or sets the specific value to use for this enum during serialization. + + + + + Gets or sets the defined name of the enum, as used in .proto + (this name is not used during serialization). + + + + + Indicates that a type is defined for protocol-buffer serialization. + + + + + Gets or sets the defined name of the type. + + + + + Gets or sets the fist offset to use with implicit field tags; + only uesd if ImplicitFields is set. + + + + + If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. + + + + + If specified, do NOT treat this type as a list, even if it looks like one. + + + + + Gets or sets the mechanism used to automatically infer field tags + for members. This option should be used in advanced scenarios only. + Please review the important notes against the ImplicitFields enumeration. + + + + + Enables/disables automatic tag generation based on the existing name / order + of the defined members. This option is not used for members marked + with ProtoMemberAttribute, as intended to provide compatibility with + WCF serialization. WARNING: when adding new fields you must take + care to increase the Order for new elements, otherwise data corruption + may occur. + + If not explicitly specified, the default is assumed from . + + + + Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. + + + + + Specifies an offset to apply to [DataMember(Order=...)] markers; + this is useful when working with mex-generated classes that have + a different origin (usually 1 vs 0) than the original data-contract. + + This value is added to the Order of each member. + + + + + If true, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Indicates an error during serialization/deserialization of a proto stream. + + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + + Provides protobuf serialization support for a number of types that can be defined at runtime + + + + + Returns a sequence of the Type instances that can be + processed by this model. + + + + + Adds support for an additional type in this model, optionally + appplying inbuilt patterns. If the type is already known to the + model, the existing type is returned **without** applying + any additional behaviour. + + Inbuilt patterns include: + [ProtoContract]/[ProtoMember(n)] + [DataContract]/[DataMember(Order=n)] + [XmlType]/[XmlElement(Order=n)] + [On{Des|S}erializ{ing|ed}] + ShouldSerialize*/*Specified + + The type to be supported + Whether to apply the inbuilt configuration patterns (via attributes etc), or + just add the type with no additional configuration (the type must then be manually configured). + The MetaType representing this type, allowing + further configuration. + + + + Verifies that the model is still open to changes; if not, an exception is thrown + + + + + Prevents further changes to this model + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Global default for that + enables/disables automatic tag generation based on the existing name / order + of the defined members. See + for usage and important warning / explanation. + You must set the global default before attempting to serialize/deserialize any + impacted type. + + + + + Global switch that enables or disables the implicit + handling of "zero defaults"; meanning: if no other default is specified, + it assumes bools always default to false, integers to zero, etc. + + If this is disabled, no such assumptions are made and only *explicit* + default values are processed. This is enabled by default to + preserve similar logic to v1. + + + + + The default model, used to support ProtoBuf.Serializer + + + + + Obtains the MetaType associated with a given Type for the current model, + allowing additional configuration. + + + + + Should support for unexpected types be added automatically? + If false, an exception is thrown when unexpected types + are encountered. + + + + + The amount of time to wait if there are concurrent metadata access operations + + + + + If a lock-contention is detected, this event signals the *owner* of the lock responsible for the blockage, indicating + what caused the problem; this is only raised if the lock-owning code successfully completes. + + + + + Contains the stack-trace of the owning code when a lock-contention scenario is detected + + + + + The stack-trace of the code that owned the lock when a lock-contention scenario occurred + + + + + Event-type that is raised when a lock-contention scenario is detected + + + + + Provides addition capability for supporting unexpected fields during + protocol-buffer serialization/deserialization. This allows for loss-less + round-trip/merge, even when the data is not fully understood. + + + + + Requests a stream into which any unexpected fields can be persisted. + + A new stream suitable for storing data. + + + + Indicates that all unexpected fields have now been stored. The + implementing class is responsible for closing the stream. If + "commit" is not true the data may be discarded. + + The stream originally obtained by BeginAppend. + True if the append operation completed successfully. + + + + Requests a stream of the unexpected fields previously stored. + + A prepared stream of the unexpected fields. + + + + Indicates that all unexpected fields have now been read. The + implementing class is responsible for closing the stream. + + The stream originally obtained by BeginQuery. + + + + Requests the length of the raw binary stream; this is used + when serializing sub-entities to indicate the expected size. + + The length of the binary stream representing unexpected data. + + + + Provides a simple buffer-based implementation of an extension object. + + + + diff --git a/packages/protobuf-net.2.0.0.480/lib/sl3-wp/protobuf-net.dll b/packages/protobuf-net.2.0.0.480/lib/sl3-wp/protobuf-net.dll new file mode 100644 index 0000000..d57aa30 Binary files /dev/null and b/packages/protobuf-net.2.0.0.480/lib/sl3-wp/protobuf-net.dll differ diff --git a/packages/protobuf-net.2.0.0.480/lib/sl4/protobuf-net.dll b/packages/protobuf-net.2.0.0.480/lib/sl4/protobuf-net.dll new file mode 100644 index 0000000..32f36a1 Binary files /dev/null and b/packages/protobuf-net.2.0.0.480/lib/sl4/protobuf-net.dll differ diff --git a/packages/protobuf-net.2.0.0.480/lib/sl4/protobuf-net.xml b/packages/protobuf-net.2.0.0.480/lib/sl4/protobuf-net.xml new file mode 100644 index 0000000..f21d9c7 --- /dev/null +++ b/packages/protobuf-net.2.0.0.480/lib/sl4/protobuf-net.xml @@ -0,0 +1,2403 @@ + + + + protobuf-net + + + + + Provides support for common .NET types that do not have a direct representation + in protobuf, using the definitions from bcl.proto + + + + + Creates a new instance of the specified type, bypassing the constructor. + + The type to create + The new instance + If the platform does not support constructor-skipping + + + + Writes a TimeSpan to a protobuf stream + + + + + Parses a TimeSpan from a protobuf stream + + + + + Parses a DateTime from a protobuf stream + + + + + Writes a DateTime to a protobuf stream + + + + + Parses a decimal from a protobuf stream + + + + + Writes a decimal to a protobuf stream + + + + + Writes a Guid to a protobuf stream + + + + + Parses a Guid from a protobuf stream + + + + + Reads an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Writes an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. + + + + + Optional behaviours that introduce .NET-specific functionality + + + + + No special behaviour + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + If false, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Provides a simple buffer-based implementation of an extension object. + + + + + Provides addition capability for supporting unexpected fields during + protocol-buffer serialization/deserialization. This allows for loss-less + round-trip/merge, even when the data is not fully understood. + + + + + Requests a stream into which any unexpected fields can be persisted. + + A new stream suitable for storing data. + + + + Indicates that all unexpected fields have now been stored. The + implementing class is responsible for closing the stream. If + "commit" is not true the data may be discarded. + + The stream originally obtained by BeginAppend. + True if the append operation completed successfully. + + + + Requests a stream of the unexpected fields previously stored. + + A prepared stream of the unexpected fields. + + + + Indicates that all unexpected fields have now been read. The + implementing class is responsible for closing the stream. + + The stream originally obtained by BeginQuery. + + + + Requests the length of the raw binary stream; this is used + when serializing sub-entities to indicate the expected size. + + The length of the binary stream representing unexpected data. + + + Specifies a method on the root-contract in an hierarchy to be invoked before serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. + + + + Sub-format to use when serializing/deserializing data + + + + + Uses the default encoding for the data-type. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that zigzag variant encoding will be used. This means that values + with small magnitude (regardless of sign) take a small amount + of space to encode. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that two's-complement variant encoding will be used. + This means that any -ve number will take 10 bytes (even for 32-bit), + so should only be used for compatibility. + + + + + When applied to signed integer-based data (including Decimal), this + indicates that a fixed amount of space will be used. + + + + + When applied to a sub-message, indicates that the value should be treated + as group-delimited. + + + + + Simple base class for supporting unexpected fields allowing + for loss-less round-tips/merge, even if the data is not understod. + The additional fields are (by default) stored in-memory in a buffer. + + As an example of an alternative implementation, you might + choose to use the file system (temporary files) as the back-end, tracking + only the paths [such an object would ideally be IDisposable and use + a finalizer to ensure that the files are removed]. + + + + + Indicates that the implementing type has support for protocol-buffer + extensions. + + Can be implemented by deriving from . + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Provides a simple, default implementation for extension support, + optionally creating it if it does not already exist. Designed to be called by + classes implementing . + + Should a new extension object be + created if it does not already exist? + The extension field to check (and possibly update). + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The type of the value to append. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The model that represents the data. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + Allow tags that are present as part of the definition; for example, to query unknown enum values. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + An enumerator that yields each occurrence of the field. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + An enumerator that yields each occurrence of the field. + + + + This class acts as an internal wrapper allowing us to do a dynamic + methodinfo invoke; an't put into Serializer as don't want on public + API; can't put into Serializer<T> since we need to invoke + accross classes, which isn't allowed in Silverlight) + + + + + All this does is call GetExtendedValuesTyped with the correct type for "instance"; + this ensures that we don't get issues with subclasses declaring conflicting types - + the caller must respect the fields defined for the type they pass in. + + + + + Reads the given value(s) from the instance's stream; the serializer + is inferred from TValue and format. For singletons, each occurrence + is merged [only applies for sub-objects], and the composed + value if yielded once; otherwise ("repeated") each occurrence + is yielded separately. + + Needs to be public to be callable thru reflection in Silverlight + + + + Stores the given value into the instance's stream; the serializer + is inferred from TValue and format. + + Needs to be public to be callable thru reflection in Silverlight + + + + Not all frameworks are created equal (fx1.1 vs fx2.0, + micro-framework, compact-framework, + silverlight, etc). This class simply wraps up a few things that would + otherwise make the real code unnecessarily messy, providing fallback + implementations if necessary. + + + + + Intended to be a direct map to regular TypeCode, but: + - with missing types + - existing on WinRT + + + + + Specifies the method used to infer field tags for members of the type + under consideration. Tags are deduced using the invariant alphabetic + sequence of the members' names; this makes implicit field tags very brittle, + and susceptible to changes such as field names (normally an isolated + change). + + + + + No members are serialized implicitly; all members require a suitable + attribute such as [ProtoMember]. This is the recmomended mode for + most scenarios. + + + + + Public properties and fields are eligible for implicit serialization; + this treats the public API as a contract. Ordering beings from ImplicitFirstTag. + + + + + Public and non-public fields are eligible for implicit serialization; + this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. + + + + + Represents the set of serialization callbacks to be used when serializing/deserializing a type. + + + + Called before serializing an instance + + + Called before deserializing an instance + + + Called after serializing an instance + + + Called after deserializing an instance + + + + True if any callback is set, else False + + + + + Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined + + + + + Get the name of the type being represented + + + + + Adds a known sub-type to the inheritance model + + + + + Obtains the subtypes that are defined for the current type + + + + + Assigns the callbacks to use during serialiation/deserialization. + + The method (or null) called before serialization begins. + The method (or null) called when serialization is complete. + The method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The method (or null) called when deserialization is complete. + The set of callbacks. + + + + Assigns the callbacks to use during serialiation/deserialization. + + The name of the method (or null) called before serialization begins. + The name of the method (or null) called when serialization is complete. + The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The name of the method (or null) called when deserialization is complete. + The set of callbacks. + + + + Designate a factory-method to use to create instances of this type + + + + + Designate a factory-method to use to create instances of this type + + + + + Throws an exception if the type has been made immutable + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, returning the ValueMember rather than the fluent API. + This is otherwise identical to Add. + + + + + Adds a member (by name) to the MetaType + + + + + Performs serialization of this type via a surrogate; all + other serialization options are ignored and handled + by the surrogate's configuration. + + + + + Adds a set of members (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists, returning the ValueMember rather than the fluent API. + This is otherwise identical to Add. + + + + + Gets the base-type for this type + + + + + When used to compile a model, should public serialization/deserialzation methods + be included for this type? + + + + + Should this type be treated as a reference by default? + + + + + Indicates whether the current type has defined callbacks + + + + + Indicates whether the current type has defined subtypes + + + + + Returns the set of callbacks defined for this type + + + + + The runtime type that the meta-type represents + + + + + Gets or sets whether the type should use a parameterless constructor (the default), + or whether the type should skip the constructor completely. This option is not supported + on compact-framework. + + + + + The concrete type to create when a new instance of this type is needed; this may be useful when dealing + with dynamic proxies, or with interface-based APIs + + + + + Returns the ValueMember that matchs a given field number, or null if not found + + + + + Returns the ValueMember that matchs a given member (property/field), or null if not found + + + + + Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather + than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. + + + + + Gets or sets a value indicating that this type should NOT be treated as a list, even if it has + familiar list-like characteristics (enumerable, add, etc) + + + + + Provides protobuf serialization support for a number of types that can be defined at runtime + + + + + Provides protobuf serialization support for a number of types + + + + + This is the more "complete" version of Serialize, which handles single instances of mapped types. + The value is written as a complete field, including field-header and (for sub-objects) a + length-prefix + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType + + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). + The type of object to deserialize (can be null if "resolver" is specified). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + Additional information about this serialization operation. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The number of bytes to consume (or -1 to read to the end of the stream). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + Additional information about this serialization operation. + + + + This is the more "complete" version of Deserialize, which handles single instances of mapped types. + The value is read as a complete field, including field-header and (for sub-objects) a + length-prefix..kmc + + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IList sets of any type handled by TryDeserializeAuxiliaryType + + + + + Creates a new runtime model, to which the caller + can add support for a range of types. A model + can be used "as is", or can be compiled for + optimal performance. + + + + + Applies common proxy scenarios, resolving the actual type to consider + + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Provides the key that represents a given type in the current model. + The type is also normalized for proxies at the same time. + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Indicates that while an inheritance tree exists, the exact type encountered was not + specified in that hierarchy and cannot be processed. + + + + + Indicates that the given type was not expected, and cannot be processed. + + + + + Indicates that the given type cannot be constructed; it may still be possible to + deserialize into existing instances. + + + + + Returns true if the type supplied is either a recognised contract type, + or a *list* of a recognised contract type. + + Note that primitives always return false, even though the engine + will, if forced, try to serialize such + True if this type is recognised as a serializable entity, else false + + + + Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting + are provided on a single API as it is essential that both are mapped identically at all times. + + + + + Indicates the type of callback to be used + + + + + Invoked before an object is serialized + + + + + Invoked after an object is serialized + + + + + Invoked before an object is deserialized (or when a new instance is created) + + + + + Invoked after an object is deserialized + + + + + Returns a sequence of the Type instances that can be + processed by this model. + + + + + Adds support for an additional type in this model, optionally + appplying inbuilt patterns. If the type is already known to the + model, the existing type is returned **without** applying + any additional behaviour. + + Inbuilt patterns include: + [ProtoContract]/[ProtoMember(n)] + [DataContract]/[DataMember(Order=n)] + [XmlType]/[XmlElement(Order=n)] + [On{Des|S}erializ{ing|ed}] + ShouldSerialize*/*Specified + + The type to be supported + Whether to apply the inbuilt configuration patterns (via attributes etc), or + just add the type with no additional configuration (the type must then be manually configured). + The MetaType representing this type, allowing + further configuration. + + + + Verifies that the model is still open to changes; if not, an exception is thrown + + + + + Prevents further changes to this model + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Global default for that + enables/disables automatic tag generation based on the existing name / order + of the defined members. See + for usage and important warning / explanation. + You must set the global default before attempting to serialize/deserialize any + impacted type. + + + + + Global switch that enables or disables the implicit + handling of "zero defaults"; meanning: if no other default is specified, + it assumes bools always default to false, integers to zero, etc. + + If this is disabled, no such assumptions are made and only *explicit* + default values are processed. This is enabled by default to + preserve similar logic to v1. + + + + + The default model, used to support ProtoBuf.Serializer + + + + + Obtains the MetaType associated with a given Type for the current model, + allowing additional configuration. + + + + + Should support for unexpected types be added automatically? + If false, an exception is thrown when unexpected types + are encountered. + + + + + The amount of time to wait if there are concurrent metadata access operations + + + + + If a lock-contention is detected, this event signals the *owner* of the lock responsible for the blockage, indicating + what caused the problem; this is only raised if the lock-owning code successfully completes. + + + + + Contains the stack-trace of the owning code when a lock-contention scenario is detected + + + + + The stack-trace of the code that owned the lock when a lock-contention scenario occurred + + + + + Event-type that is raised when a lock-contention scenario is detected + + + + + Represents an inherited type in a type hierarchy. + + + + + Creates a new SubType instance. + + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + The sub-type to be considered. + + + + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + + + + + The sub-type to be considered. + + + + + Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could + be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). + + + + + The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. + + + + + The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. + + + + + Delegate type used to perform type-formatting functions; the sender originates as the type-model. + + + + + Represents a member (property/field) that is mapped to a protobuf field + + + + + Creates a new ValueMember instance + + + + + Creates a new ValueMember instance + + + + + Specifies methods for working with optional data members. + + Provides a method (null for none) to query whether this member should + be serialized; it must be of the form "bool {Method}()". The member is only serialized if the + method returns true. + Provides a method (null for none) to indicate that a member was + deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" + when data is found. + + + + The number that identifies this member in a protobuf stream + + + + + Gets the member (field/property) which this member relates to. + + + + + Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) + + + + + The underlying type of the member + + + + + For abstract types (IList etc), the type of concrete object to create (if required) + + + + + The type the defines the member + + + + + The default value of the item (members with this value will not be serialized) + + + + + Specifies the rules used to process the field; this is used to determine the most appropriate + wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) + + + + + Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" + is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that + when serializing the defined type is always used. + + + + + Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Indicates whether this field is mandatory. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used + when inferring a schema). + + + + + Should lists have extended support for null values? Note this makes the serialization less efficient. + + + + + Specifies the type of prefix that should be applied to messages. + + + + + No length prefix is applied to the data; the data is terminated only be the end of the stream. + + + + + A base-128 length prefix is applied to the data (efficient for short messages). + + + + + A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). + + + + + A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). + + + + + Indicates that a type is defined for protocol-buffer serialization. + + + + + Gets or sets the defined name of the type. + + + + + Gets or sets the fist offset to use with implicit field tags; + only uesd if ImplicitFields is set. + + + + + If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. + + + + + If specified, do NOT treat this type as a list, even if it looks like one. + + + + + Gets or sets the mechanism used to automatically infer field tags + for members. This option should be used in advanced scenarios only. + Please review the important notes against the ImplicitFields enumeration. + + + + + Enables/disables automatic tag generation based on the existing name / order + of the defined members. This option is not used for members marked + with ProtoMemberAttribute, as intended to provide compatibility with + WCF serialization. WARNING: when adding new fields you must take + care to increase the Order for new elements, otherwise data corruption + may occur. + + If not explicitly specified, the default is assumed from . + + + + Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. + + + + + Specifies an offset to apply to [DataMember(Order=...)] markers; + this is useful when working with mex-generated classes that have + a different origin (usually 1 vs 0) than the original data-contract. + + This value is added to the Order of each member. + + + + + If true, the constructor for the type is bypassed during deserialization, meaning any field initializers + or other initialization code is skipped. + + + + + Used to define protocol-buffer specific behavior for + enumerated values. + + + + + Indicates whether this instance has a customised value mapping + + true if a specific value is set + + + + Gets or sets the specific value to use for this enum during serialization. + + + + + Gets or sets the defined name of the enum, as used in .proto + (this name is not used during serialization). + + + + + Indicates an error during serialization/deserialization of a proto stream. + + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. + + + + + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. This allows + ProtoIgnoreAttribute usage + even for partial classes where the individual members are not + under direct control. + + + + + Creates a new ProtoPartialIgnoreAttribute instance. + + Specifies the member to be ignored. + + + + The name of the member to be ignored. + + + + + Indicates the known-types to support for an individual + message. This serializes each level in the hierarchy as + a nested message to retain wire-compatibility with + other protocol-buffer implementations. + + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Creates a new instance of the ProtoIncludeAttribute. + + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. + + + + Gets the unique index (within the type) that will identify this data. + + + + + Gets the additional type to serialize/deserialize. + + + + + Gets the additional type to serialize/deserialize. + + + + + Specifies whether the inherited sype's sub-message should be + written with a length-prefix (default), or with group markers. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag. A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Compare with another ProtoMemberAttribute for sorting purposes + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + + + + Gets or sets the original name defined in the .proto; not used + during serialization. + + + + + Gets or sets the data-format to be used when encoding this value. + + + + + Gets the unique tag used to identify this member within the type. + + + + + Gets or sets a value indicating whether this member is mandatory. + + + + + Gets a value indicating whether this member is packed. + This option only applies to list/array data of primitive types (int, double, etc). + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Enables full object-tracking/full-graph support. + + + + + Embeds the type information into the stream, allowing usage with types not known in advance. + + + + + Gets or sets a value indicating whether this member is packed (lists/arrays). + + + + + Additional (optional) settings that control serialization of members + + + + + Default; no additional options + + + + + Indicates that repeated elements should use packed (length-prefixed) encoding + + + + + Indicates that the given item is required + + + + + Enables full object-tracking/full-graph support + + + + + Embeds the type information into the stream, allowing usage with types not known in advance + + + + + Indicates whether this field should *repace* existing values (the default is false, meaning *append*). + This option only applies to list/array data. + + + + + Declares a member to be used in protocol-buffer serialization, using + the given Tag and MemberName. This allows ProtoMemberAttribute usage + even for partial classes where the individual members are not + under direct control. + A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. + + + + + Creates a new ProtoMemberAttribute instance. + + Specifies the unique tag used to identify this member within the type. + Specifies the member to be serialized. + + + + The name of the member to be serialized. + + + + + A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call + ReadFieldHeader and (after matching the field) an appropriate Read* method. + + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + + + + Creates a new reader against a stream + + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects + Additional context about this serialization operation + The number of bytes to read, or -1 to read until the end of the stream + + + + Releases resources used by the reader, but importantly does not Dispose the + underlying stream; in many typical use-cases the stream is used for different + processes, so it is assumed that the consumer will Dispose their stream separately. + + + + + Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Reads a string from the stream (using UTF8); supported wire-types: String + + + + + Throws an exception indication that the given value cannot be mapped to an enum. + + + + + Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) + parsing the message in accordance with the model associated with the reader + + + + + Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup + marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader + should return zero) + + + + + Begins consuming a nested message in the stream; supported wire-types: StartGroup, String + + The token returned must be help and used when callining EndSubItem + + + + Reads a field header from the stream, setting the wire-type and retuning the field number. If no + more fields are available, then 0 is returned. This methods respects sub-messages. + + + + + Looks ahead to see whether the next field in the stream is what we expect + (typically; what we've just finished reading - for example ot read successive list items) + + + + + Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, + a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. + + + + + Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, + SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. + + + + + Discards the data for the current field. + + + + + Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 + + + + + Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + + Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + + Reads a little-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a big-endian encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a varint encoded integer. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available. + + + + + Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available. + + + + + Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available. + + + + + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. + + + + The number of bytes consumed; 0 if no data available + + + + Copies the current field into the instance as extension data + + + + + Indicates whether the reader still has data remaining in the current sub-item, + additionally setting the wire-type for the next field if there is more data. + This is used when decoding packed data. + + + + + Utility method, not intended for public use; this helps maintain the root object is complex scenarios + + + + + Gets the number of the field being processed. + + + + + Indicates the underlying proto serialization format on the wire. + + + + + Addition information about this deserialization operation. + + + + + Returns the position of the current reader (note that this is not necessarily the same as the position + in the underlying stream, if multiple readers are used on the same stream) + + + + + Represents an output stream for writing protobuf data. + + Why is the API backwards (static methods with writer arguments)? + See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html + + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type) - but the + caller is asserting that this relationship is non-recursive; no recursion check will be + performed. + + The object to write. + The key that uniquely identifies the type within the model. + The destination. + + + + Writes a field-header, indicating the format of the next data we plan to write. + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Writes a byte-array to the stream; supported wire-types: String + + + + + Indicates the start of a nested record. + + The instance to write. + The destination. + A token representing the state of the stream; this token is given to EndSubItem. + + + + Indicates the end of a nested record. + + The token obtained from StartubItem. + The destination. + + + + Creates a new writer against a stream + + The destination stream + The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects + Additional context about this serialization operation + + + + Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed + by this operation. + + + + + Writes any buffered data (if possible) to the underlying stream. + + The writer to flush + It is not always possible to fully flush, since some sequences + may require values to be back-filled into the byte-stream. + + + + Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a string to the stream; supported wire-types: String + + + + + Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant + + + + + Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 + + + + + Throws an exception indicating that the given enum cannot be mapped to a serialized value. + + + + + Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 + + + + + Copies any extension data stored for the instance to the underlying stream + + + + + Used for packed encoding; indicates that the next field should be skipped rather than + a field header written. Note that the field number must match, else an exception is thrown + when the attempt is made to write the (incorrect) field. The wire-type is taken from the + subsequent call to WriteFieldHeader. Only primitive types can be packed. + + + + + Specifies a known root object to use during reference-tracked serialization + + + + + Addition information about this serialization operation. + + + + + Additional information about a serialization operation + + + + + Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. + + + + + A default SerializationContext, with minimal information. + + + + + Provides protocol-buffer serialization capability for concrete, attributed types. This + is a *default* model, but custom serializer models are also supported. + + + Protocol-buffer serialization is a compact binary format, designed to take + advantage of sparse data and knowledge of specific data types; it is also + extensible, allowing a type to be deserialized / merged even if some data is + not recognised. + + + + + The field number that is used as a default when serializing/deserializing a list of objects. + The data is treated as repeated message with field number 1. + + + + + Suggest a .proto definition for the given type + + The type to generate a .proto definition for + The .proto definition as a string + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Applies a protocol-buffer stream to an existing instance. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Creates a new instance from a protocol-buffer stream + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Serializes a given instance and deserializes it as a different type; + this can be used to translate between wire-compatible objects (where + two .NET types represent the same data), or to promote/demote a type + through an inheritance hierarchy. + + No assumption of compatibility is made between the types. + The type of the object being copied. + The type of the new object to be created. + The existing instance to use as a template. + A new instane of type TNewType, with the data from TOldType. + + + + Precompiles the serializer for a given type. + + + + + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. + + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. + + + + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + A new, initialized instance. + + + + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + The expected tag of the item (only used with base-128 prefix style). + A new, initialized instance. + + + + Applies a protocol-buffer stream to an existing instance, using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + Indicates the number of bytes expected for the next message. + The stream containing the data to investigate for a length. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + + Indicates the number of bytes expected for the next message. + The buffer containing the data to investigate for a length. + The offset of the first byte to read from the buffer. + The number of bytes to read from the buffer. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + + + Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization + operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense + of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). + + + + + Provides non-generic access to the default serializer. + + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Creates a new instance from a protocol-buffer stream + + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. + + + Applies a protocol-buffer stream to an existing instance. + The existing instance to be modified (cannot be null). + The binary stream to apply to the instance (cannot be null). + The updated instance + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Global switches that change the behavior of protobuf-net + + + + + + + + + + Maps a field-number to a type + + + + + Perform the steps necessary to serialize this data. + + The value to be serialized. + The writer entity that is accumulating the output data. + + + + Perform the steps necessary to deserialize this data. + + The current value, if appropriate. + The reader providing the input data. + The updated / replacement value. + + + + The type that this serializer is intended to work for. + + + + + Indicates whether a Read operation replaces the existing value, or + extends the value. If false, the "value" parameter to Read is + discarded, and should be passed in as null. + + + + + Now all Read operations return a value (although most do); if false no + value should be expected. + + + + + An xml object serializer that can embed protobuf data in a base-64 hunk (looking like a byte[]) + + + + + Attempt to create a new serializer for the given model and type + + A new serializer instance if the type is recognised by the model; null otherwise + + + + Creates a new serializer for the given model and type + + + + + Ends an object in the output + + + + + Begins an object in the output + + + + + Writes the body of an object in the output + + + + + Indicates whether this is the start of an object we are prepared to handle + + + + + Reads the body of an object + + + + + Used to hold particulars relating to nested objects. This is opaque to the caller - simply + give back the token you are given at the end of an object. + + + + + Indicates the encoding used to represent an individual value in a protobuf stream + + + + + Represents an error condition + + + + + Base-128 variant-length encoding + + + + + Fixed-length 8-byte encoding + + + + + Length-variant-prefixed encoding + + + + + Indicates the start of a group + + + + + Indicates the end of a group + + + + + Fixed-length 4-byte encoding + 10 + + + + This is not a formal wire-type in the "protocol buffers" spec, but + denotes a variant integer that should be interpreted using + zig-zag semantics (so -ve numbers aren't a significant overhead) + + + + diff --git a/packages/protobuf-net.2.0.0.480/protobuf-net.2.0.0.480.nupkg b/packages/protobuf-net.2.0.0.480/protobuf-net.2.0.0.480.nupkg new file mode 100644 index 0000000..7754ae7 Binary files /dev/null and b/packages/protobuf-net.2.0.0.480/protobuf-net.2.0.0.480.nupkg differ diff --git a/packages/repositories.config b/packages/repositories.config new file mode 100644 index 0000000..489a423 --- /dev/null +++ b/packages/repositories.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file