diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0.md new file mode 100644 index 00000000..26676658 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0.md @@ -0,0 +1,61 @@ +# API Difference netcoreapp2.2 vs netcoreapp3.0 + +API listing follows standard diff formatting. Lines preceded by a '+' are +additions and a '-' indicates removal. + +* [Microsoft.VisualBasic](3.0.0_Microsoft.VisualBasic.md) +* [Microsoft.VisualBasic.CompilerServices](3.0.0_Microsoft.VisualBasic.CompilerServices.md) +* [Microsoft.VisualBasic.FileIO](3.0.0_Microsoft.VisualBasic.FileIO.md) +* [System](3.0.0_System.md) +* [System.Buffers](3.0.0_System.Buffers.md) +* [System.Collections.Generic](3.0.0_System.Collections.Generic.md) +* [System.Collections.Immutable](3.0.0_System.Collections.Immutable.md) +* [System.ComponentModel](3.0.0_System.ComponentModel.md) +* [System.ComponentModel.DataAnnotations](3.0.0_System.ComponentModel.DataAnnotations.md) +* [System.Data](3.0.0_System.Data.md) +* [System.Data.Common](3.0.0_System.Data.Common.md) +* [System.Diagnostics](3.0.0_System.Diagnostics.md) +* [System.Diagnostics.CodeAnalysis](3.0.0_System.Diagnostics.CodeAnalysis.md) +* [System.Diagnostics.Tracing](3.0.0_System.Diagnostics.Tracing.md) +* [System.Drawing](3.0.0_System.Drawing.md) +* [System.Globalization](3.0.0_System.Globalization.md) +* [System.IO](3.0.0_System.IO.md) +* [System.IO.Compression](3.0.0_System.IO.Compression.md) +* [System.IO.IsolatedStorage](3.0.0_System.IO.IsolatedStorage.md) +* [System.IO.Pipes](3.0.0_System.IO.Pipes.md) +* [System.Linq](3.0.0_System.Linq.md) +* [System.Net](3.0.0_System.Net.md) +* [System.Net.Http](3.0.0_System.Net.Http.md) +* [System.Net.Security](3.0.0_System.Net.Security.md) +* [System.Net.Sockets](3.0.0_System.Net.Sockets.md) +* [System.Net.WebSockets](3.0.0_System.Net.WebSockets.md) +* [System.Numerics](3.0.0_System.Numerics.md) +* [System.Reflection](3.0.0_System.Reflection.md) +* [System.Reflection.Emit](3.0.0_System.Reflection.Emit.md) +* [System.Reflection.Metadata](3.0.0_System.Reflection.Metadata.md) +* [System.Runtime](3.0.0_System.Runtime.md) +* [System.Runtime.CompilerServices](3.0.0_System.Runtime.CompilerServices.md) +* [System.Runtime.InteropServices](3.0.0_System.Runtime.InteropServices.md) +* [System.Runtime.Intrinsics](3.0.0_System.Runtime.Intrinsics.md) +* [System.Runtime.Intrinsics.X86](3.0.0_System.Runtime.Intrinsics.X86.md) +* [System.Runtime.Loader](3.0.0_System.Runtime.Loader.md) +* [System.Runtime.Remoting](3.0.0_System.Runtime.Remoting.md) +* [System.Runtime.Serialization](3.0.0_System.Runtime.Serialization.md) +* [System.Security](3.0.0_System.Security.md) +* [System.Security.Authentication](3.0.0_System.Security.Authentication.md) +* [System.Security.Cryptography](3.0.0_System.Security.Cryptography.md) +* [System.Security.Permissions](3.0.0_System.Security.Permissions.md) +* [System.Text](3.0.0_System.Text.md) +* [System.Text.Encodings.Web](3.0.0_System.Text.Encodings.Web.md) +* [System.Text.Json](3.0.0_System.Text.Json.md) +* [System.Text.Json.Serialization](3.0.0_System.Text.Json.Serialization.md) +* [System.Text.RegularExpressions](3.0.0_System.Text.RegularExpressions.md) +* [System.Text.Unicode](3.0.0_System.Text.Unicode.md) +* [System.Threading](3.0.0_System.Threading.md) +* [System.Threading.Channels](3.0.0_System.Threading.Channels.md) +* [System.Threading.Tasks](3.0.0_System.Threading.Tasks.md) +* [System.Threading.Tasks.Sources](3.0.0_System.Threading.Tasks.Sources.md) +* [System.Windows.Markup](3.0.0_System.Windows.Markup.md) +* [System.Xml](3.0.0_System.Xml.md) +* [System.Xml.Schema](3.0.0_System.Xml.Schema.md) + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_Microsoft.VisualBasic.CompilerServices.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_Microsoft.VisualBasic.CompilerServices.md new file mode 100644 index 00000000..05b59e7c --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_Microsoft.VisualBasic.CompilerServices.md @@ -0,0 +1,163 @@ +# Microsoft.VisualBasic.CompilerServices + +``` diff + namespace Microsoft.VisualBasic.CompilerServices { ++ public sealed class BooleanType { ++ public static bool FromObject(object Value); ++ public static bool FromString(string Value); ++ } ++ public sealed class ByteType { ++ public static byte FromObject(object Value); ++ public static byte FromString(string Value); ++ } ++ public sealed class CharArrayType { ++ public static char[] FromObject(object Value); ++ public static char[] FromString(string Value); ++ } ++ public sealed class CharType { ++ public static char FromObject(object Value); ++ public static char FromString(string Value); ++ } + public sealed class Conversions { ++ public static object FallbackUserDefinedConversion(object Expression, Type TargetType); ++ public static string FromCharAndCount(char Value, int Count); ++ public static string FromCharArray(char[] Value); ++ public static string FromCharArraySubset(char[] Value, int StartIndex, int Length); + public static Decimal ToDecimal(bool Value); + public static Decimal ToDecimal(object Value); + public static Decimal ToDecimal(string Value); + public static string ToString(Decimal Value); ++ public static string ToString(decimal Value, NumberFormatInfo NumberFormat); ++ public static string ToString(double Value, NumberFormatInfo NumberFormat); ++ public static string ToString(float Value, NumberFormatInfo NumberFormat); + } ++ public sealed class DateType { ++ public static DateTime FromObject(object Value); ++ public static DateTime FromString(string Value); ++ public static DateTime FromString(string Value, CultureInfo culture); ++ } ++ public sealed class DecimalType { ++ public static decimal FromBoolean(bool Value); ++ public static decimal FromObject(object Value); ++ public static decimal FromObject(object Value, NumberFormatInfo NumberFormat); ++ public static decimal FromString(string Value); ++ public static decimal FromString(string Value, NumberFormatInfo NumberFormat); ++ public static decimal Parse(string Value, NumberFormatInfo NumberFormat); ++ } ++ public sealed class DoubleType { ++ public static double FromObject(object Value); ++ public static double FromObject(object Value, NumberFormatInfo NumberFormat); ++ public static double FromString(string Value); ++ public static double FromString(string Value, NumberFormatInfo NumberFormat); ++ public static double Parse(string Value); ++ public static double Parse(string Value, NumberFormatInfo NumberFormat); ++ } ++ public sealed class IntegerType { ++ public static int FromObject(object Value); ++ public static int FromString(string Value); ++ } ++ public sealed class LateBinding { ++ public static void LateCall(object o, Type objType, string name, object[] args, string[] paramnames, bool[] CopyBack); ++ public static object LateGet(object o, Type objType, string name, object[] args, string[] paramnames, bool[] CopyBack); ++ public static object LateIndexGet(object o, object[] args, string[] paramnames); ++ public static void LateIndexSet(object o, object[] args, string[] paramnames); ++ public static void LateIndexSetComplex(object o, object[] args, string[] paramnames, bool OptimisticSet, bool RValueBase); ++ public static void LateSet(object o, Type objType, string name, object[] args, string[] paramnames); ++ public static void LateSetComplex(object o, Type objType, string name, object[] args, string[] paramnames, bool OptimisticSet, bool RValueBase); ++ } ++ public sealed class LikeOperator { ++ public static object LikeObject(object Source, object Pattern, CompareMethod CompareOption); ++ public static bool LikeString(string Source, string Pattern, CompareMethod CompareOption); ++ } ++ public sealed class LongType { ++ public static long FromObject(object Value); ++ public static long FromString(string Value); ++ } + public sealed class NewLateBinding { ++ public static object FallbackCall(object Instance, string MemberName, object[] Arguments, string[] ArgumentNames, bool IgnoreReturn); ++ public static object FallbackGet(object Instance, string MemberName, object[] Arguments, string[] ArgumentNames); ++ public static void FallbackIndexSet(object Instance, object[] Arguments, string[] ArgumentNames); ++ public static void FallbackIndexSetComplex(object Instance, object[] Arguments, string[] ArgumentNames, bool OptimisticSet, bool RValueBase); ++ public static object FallbackInvokeDefault1(object Instance, object[] Arguments, string[] ArgumentNames, bool ReportErrors); ++ public static object FallbackInvokeDefault2(object Instance, object[] Arguments, string[] ArgumentNames, bool ReportErrors); ++ public static void FallbackSet(object Instance, string MemberName, object[] Arguments); ++ public static void FallbackSetComplex(object Instance, string MemberName, object[] Arguments, bool OptimisticSet, bool RValueBase); ++ public static object LateCallInvokeDefault(object Instance, object[] Arguments, string[] ArgumentNames, bool ReportErrors); ++ public static object LateGetInvokeDefault(object Instance, object[] Arguments, string[] ArgumentNames, bool ReportErrors); + } + public sealed class ObjectFlowControl { + public sealed class ForLoopControl { + public static bool ForNextCheckDec(Decimal count, Decimal limit, Decimal StepValue); + } + } ++ public sealed class ObjectType { ++ public ObjectType(); ++ public static object AddObj(object o1, object o2); ++ public static object BitAndObj(object obj1, object obj2); ++ public static object BitOrObj(object obj1, object obj2); ++ public static object BitXorObj(object obj1, object obj2); ++ public static object DivObj(object o1, object o2); ++ public static object GetObjectValuePrimitive(object o); ++ public static object IDivObj(object o1, object o2); ++ public static bool LikeObj(object vLeft, object vRight, CompareMethod CompareOption); ++ public static object ModObj(object o1, object o2); ++ public static object MulObj(object o1, object o2); ++ public static object NegObj(object obj); ++ public static object NotObj(object obj); ++ public static int ObjTst(object o1, object o2, bool TextCompare); ++ public static object PlusObj(object obj); ++ public static object PowObj(object obj1, object obj2); ++ public static object ShiftLeftObj(object o1, int amount); ++ public static object ShiftRightObj(object o1, int amount); ++ public static object StrCatObj(object vLeft, object vRight); ++ public static object SubObj(object o1, object o2); ++ public static object XorObj(object obj1, object obj2); ++ } + public sealed class Operators { ++ public static object FallbackInvokeUserDefinedOperator(object vbOp, object[] arguments); + } + public sealed class ProjectData { ++ public static Exception CreateProjectError(int hr); ++ public static void EndApp(); + } ++ public sealed class ShortType { ++ public static short FromObject(object Value); ++ public static short FromString(string Value); ++ } ++ public sealed class SingleType { ++ public static float FromObject(object Value); ++ public static float FromObject(object Value, NumberFormatInfo NumberFormat); ++ public static float FromString(string Value); ++ public static float FromString(string Value, NumberFormatInfo NumberFormat); ++ } ++ public sealed class StringType { ++ public static string FromBoolean(bool Value); ++ public static string FromByte(byte Value); ++ public static string FromChar(char Value); ++ public static string FromDate(DateTime Value); ++ public static string FromDecimal(decimal Value); ++ public static string FromDecimal(decimal Value, NumberFormatInfo NumberFormat); ++ public static string FromDouble(double Value); ++ public static string FromDouble(double Value, NumberFormatInfo NumberFormat); ++ public static string FromInteger(int Value); ++ public static string FromLong(long Value); ++ public static string FromObject(object Value); ++ public static string FromShort(short Value); ++ public static string FromSingle(float Value); ++ public static string FromSingle(float Value, NumberFormatInfo NumberFormat); ++ public static void MidStmtStr(ref string sDest, int StartPosition, int MaxInsertLength, string sInsert); ++ public static int StrCmp(string sLeft, string sRight, bool TextCompare); ++ public static bool StrLike(string Source, string Pattern, CompareMethod CompareOption); ++ public static bool StrLikeBinary(string Source, string Pattern); ++ public static bool StrLikeText(string Source, string Pattern); ++ } ++ public sealed class Versioned { ++ public static object CallByName(object Instance, string MethodName, CallType UseCallType, params object[] Arguments); ++ public static bool IsNumeric(object Expression); ++ public static string SystemTypeName(string VbName); ++ public static string TypeName(object Expression); ++ public static string VbTypeName(string SystemName); ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_Microsoft.VisualBasic.FileIO.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_Microsoft.VisualBasic.FileIO.md new file mode 100644 index 00000000..28c82092 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_Microsoft.VisualBasic.FileIO.md @@ -0,0 +1,142 @@ +# Microsoft.VisualBasic.FileIO + +``` diff ++namespace Microsoft.VisualBasic.FileIO { ++ public enum DeleteDirectoryOption { ++ DeleteAllContents = 5, ++ ThrowIfDirectoryNonEmpty = 4, ++ } ++ public enum FieldType { ++ Delimited = 0, ++ FixedWidth = 1, ++ } ++ public class FileSystem { ++ public FileSystem(); ++ public static string CurrentDirectory { get; set; } ++ public static ReadOnlyCollection Drives { get; } ++ public static string CombinePath(string baseDirectory, string relativePath); ++ public static void CopyDirectory(string sourceDirectoryName, string destinationDirectoryName); ++ public static void CopyDirectory(string sourceDirectoryName, string destinationDirectoryName, UIOption showUI); ++ public static void CopyDirectory(string sourceDirectoryName, string destinationDirectoryName, UIOption showUI, UICancelOption onUserCancel); ++ public static void CopyDirectory(string sourceDirectoryName, string destinationDirectoryName, bool overwrite); ++ public static void CopyFile(string sourceFileName, string destinationFileName); ++ public static void CopyFile(string sourceFileName, string destinationFileName, UIOption showUI); ++ public static void CopyFile(string sourceFileName, string destinationFileName, UIOption showUI, UICancelOption onUserCancel); ++ public static void CopyFile(string sourceFileName, string destinationFileName, bool overwrite); ++ public static void CreateDirectory(string directory); ++ public static void DeleteDirectory(string directory, DeleteDirectoryOption onDirectoryNotEmpty); ++ public static void DeleteDirectory(string directory, UIOption showUI, RecycleOption recycle); ++ public static void DeleteDirectory(string directory, UIOption showUI, RecycleOption recycle, UICancelOption onUserCancel); ++ public static void DeleteFile(string file); ++ public static void DeleteFile(string file, UIOption showUI, RecycleOption recycle); ++ public static void DeleteFile(string file, UIOption showUI, RecycleOption recycle, UICancelOption onUserCancel); ++ public static bool DirectoryExists(string directory); ++ public static bool FileExists(string file); ++ public static ReadOnlyCollection FindInFiles(string directory, string containsText, bool ignoreCase, SearchOption searchType); ++ public static ReadOnlyCollection FindInFiles(string directory, string containsText, bool ignoreCase, SearchOption searchType, params string[] fileWildcards); ++ public static ReadOnlyCollection GetDirectories(string directory); ++ public static ReadOnlyCollection GetDirectories(string directory, SearchOption searchType, params string[] wildcards); ++ public static DirectoryInfo GetDirectoryInfo(string directory); ++ public static DriveInfo GetDriveInfo(string drive); ++ public static FileInfo GetFileInfo(string file); ++ public static ReadOnlyCollection GetFiles(string directory); ++ public static ReadOnlyCollection GetFiles(string directory, SearchOption searchType, params string[] wildcards); ++ public static string GetName(string path); ++ public static string GetParentPath(string path); ++ public static string GetTempFileName(); ++ public static void MoveDirectory(string sourceDirectoryName, string destinationDirectoryName); ++ public static void MoveDirectory(string sourceDirectoryName, string destinationDirectoryName, UIOption showUI); ++ public static void MoveDirectory(string sourceDirectoryName, string destinationDirectoryName, UIOption showUI, UICancelOption onUserCancel); ++ public static void MoveDirectory(string sourceDirectoryName, string destinationDirectoryName, bool overwrite); ++ public static void MoveFile(string sourceFileName, string destinationFileName); ++ public static void MoveFile(string sourceFileName, string destinationFileName, UIOption showUI); ++ public static void MoveFile(string sourceFileName, string destinationFileName, UIOption showUI, UICancelOption onUserCancel); ++ public static void MoveFile(string sourceFileName, string destinationFileName, bool overwrite); ++ public static TextFieldParser OpenTextFieldParser(string file); ++ public static TextFieldParser OpenTextFieldParser(string file, params int[] fieldWidths); ++ public static TextFieldParser OpenTextFieldParser(string file, params string[] delimiters); ++ public static StreamReader OpenTextFileReader(string file); ++ public static StreamReader OpenTextFileReader(string file, Encoding encoding); ++ public static StreamWriter OpenTextFileWriter(string file, bool append); ++ public static StreamWriter OpenTextFileWriter(string file, bool append, Encoding encoding); ++ public static byte[] ReadAllBytes(string file); ++ public static string ReadAllText(string file); ++ public static string ReadAllText(string file, Encoding encoding); ++ public static void RenameDirectory(string directory, string newName); ++ public static void RenameFile(string file, string newName); ++ public static void WriteAllBytes(string file, byte[] data, bool append); ++ public static void WriteAllText(string file, string text, bool append); ++ public static void WriteAllText(string file, string text, bool append, Encoding encoding); ++ } ++ public class MalformedLineException : Exception { ++ public MalformedLineException(); ++ protected MalformedLineException(SerializationInfo info, StreamingContext context); ++ public MalformedLineException(string message); ++ public MalformedLineException(string message, Exception innerException); ++ public MalformedLineException(string message, long lineNumber); ++ public MalformedLineException(string message, long lineNumber, Exception innerException); ++ public long LineNumber { get; set; } ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ public override string ToString(); ++ } ++ public enum RecycleOption { ++ DeletePermanently = 2, ++ SendToRecycleBin = 3, ++ } ++ public enum SearchOption { ++ SearchAllSubDirectories = 3, ++ SearchTopLevelOnly = 2, ++ } ++ public class SpecialDirectories { ++ public SpecialDirectories(); ++ public static string AllUsersApplicationData { get; } ++ public static string CurrentUserApplicationData { get; } ++ public static string Desktop { get; } ++ public static string MyDocuments { get; } ++ public static string MyMusic { get; } ++ public static string MyPictures { get; } ++ public static string ProgramFiles { get; } ++ public static string Programs { get; } ++ public static string Temp { get; } ++ } ++ public class TextFieldParser : IDisposable { ++ public TextFieldParser(Stream stream); ++ public TextFieldParser(Stream stream, Encoding defaultEncoding); ++ public TextFieldParser(Stream stream, Encoding defaultEncoding, bool detectEncoding); ++ public TextFieldParser(Stream stream, Encoding defaultEncoding, bool detectEncoding, bool leaveOpen); ++ public TextFieldParser(TextReader reader); ++ public TextFieldParser(string path); ++ public TextFieldParser(string path, Encoding defaultEncoding); ++ public TextFieldParser(string path, Encoding defaultEncoding, bool detectEncoding); ++ public string[] CommentTokens { get; set; } ++ public string[] Delimiters { get; set; } ++ public bool EndOfData { get; } ++ public string ErrorLine { get; } ++ public long ErrorLineNumber { get; } ++ public int[] FieldWidths { get; set; } ++ public bool HasFieldsEnclosedInQuotes { get; set; } ++ public long LineNumber { get; } ++ public FieldType TextFieldType { get; set; } ++ public bool TrimWhiteSpace { get; set; } ++ public void Close(); ++ protected virtual void Dispose(bool disposing); ++ ~TextFieldParser(); ++ public string PeekChars(int numberOfChars); ++ public string[] ReadFields(); ++ public string ReadLine(); ++ public string ReadToEnd(); ++ public void SetDelimiters(params string[] delimiters); ++ public void SetFieldWidths(params int[] fieldWidths); ++ void System.IDisposable.Dispose(); ++ } ++ public enum UICancelOption { ++ DoNothing = 2, ++ ThrowException = 3, ++ } ++ public enum UIOption { ++ AllDialogs = 3, ++ OnlyErrorDialogs = 2, ++ } ++} +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_Microsoft.VisualBasic.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_Microsoft.VisualBasic.md new file mode 100644 index 00000000..393acdef --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_Microsoft.VisualBasic.md @@ -0,0 +1,589 @@ +# Microsoft.VisualBasic + +``` diff + namespace Microsoft.VisualBasic { ++ public enum AppWinStyle : short { ++ Hide = (short)0, ++ MaximizedFocus = (short)3, ++ MinimizedFocus = (short)2, ++ MinimizedNoFocus = (short)6, ++ NormalFocus = (short)1, ++ NormalNoFocus = (short)4, ++ } ++ public sealed class Collection : ICollection, IEnumerable, IList { ++ public Collection(); ++ public int Count { get; } ++ int System.Collections.ICollection.Count { get; } ++ bool System.Collections.ICollection.IsSynchronized { get; } ++ object System.Collections.ICollection.SyncRoot { get; } ++ bool System.Collections.IList.IsFixedSize { get; } ++ bool System.Collections.IList.IsReadOnly { get; } ++ object System.Collections.IList.this[int index] { get; set; } ++ public object this[int Index] { get; } ++ public object this[object Index] { get; } ++ public object this[string Key] { get; } ++ public void Add(object Item, string Key = null, object Before = null, object After = null); ++ public void Clear(); ++ public bool Contains(string Key); ++ public IEnumerator GetEnumerator(); ++ public void Remove(int Index); ++ public void Remove(string Key); ++ void System.Collections.ICollection.CopyTo(Array array, int index); ++ IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ int System.Collections.IList.Add(object value); ++ void System.Collections.IList.Clear(); ++ bool System.Collections.IList.Contains(object value); ++ int System.Collections.IList.IndexOf(object value); ++ void System.Collections.IList.Insert(int index, object value); ++ void System.Collections.IList.Remove(object value); ++ void System.Collections.IList.RemoveAt(int index); ++ } ++ public sealed class ComClassAttribute : Attribute { ++ public ComClassAttribute(); ++ public ComClassAttribute(string _ClassID); ++ public ComClassAttribute(string _ClassID, string _InterfaceID); ++ public ComClassAttribute(string _ClassID, string _InterfaceID, string _EventId); ++ public string ClassID { get; } ++ public string EventID { get; } ++ public string InterfaceID { get; } ++ public bool InterfaceShadows { get; set; } ++ } ++ public enum CompareMethod { ++ Binary = 0, ++ Text = 1, ++ } + public sealed class Constants { ++ public const AppWinStyle vbHide = AppWinStyle.Hide; ++ public const AppWinStyle vbMaximizedFocus = AppWinStyle.MaximizedFocus; ++ public const AppWinStyle vbMinimizedFocus = AppWinStyle.MinimizedFocus; ++ public const AppWinStyle vbMinimizedNoFocus = AppWinStyle.MinimizedNoFocus; ++ public const AppWinStyle vbNormalFocus = AppWinStyle.NormalFocus; ++ public const AppWinStyle vbNormalNoFocus = AppWinStyle.NormalNoFocus; ++ public const CallType vbGet = CallType.Get; ++ public const CallType vbLet = CallType.Let; ++ public const CallType vbMethod = CallType.Method; ++ public const CallType vbSet = CallType.Set; ++ public const CompareMethod vbBinaryCompare = CompareMethod.Binary; ++ public const CompareMethod vbTextCompare = CompareMethod.Text; ++ public const DateFormat vbGeneralDate = DateFormat.GeneralDate; ++ public const DateFormat vbLongDate = DateFormat.LongDate; ++ public const DateFormat vbLongTime = DateFormat.LongTime; ++ public const DateFormat vbShortDate = DateFormat.ShortDate; ++ public const DateFormat vbShortTime = DateFormat.ShortTime; ++ public const FileAttribute vbArchive = FileAttribute.Archive; ++ public const FileAttribute vbDirectory = FileAttribute.Directory; ++ public const FileAttribute vbHidden = FileAttribute.Hidden; ++ public const FileAttribute vbNormal = FileAttribute.Normal; ++ public const FileAttribute vbReadOnly = FileAttribute.ReadOnly; ++ public const FileAttribute vbSystem = FileAttribute.System; ++ public const FileAttribute vbVolume = FileAttribute.Volume; ++ public const FirstDayOfWeek vbFriday = FirstDayOfWeek.Friday; ++ public const FirstDayOfWeek vbMonday = FirstDayOfWeek.Monday; ++ public const FirstDayOfWeek vbSaturday = FirstDayOfWeek.Saturday; ++ public const FirstDayOfWeek vbSunday = FirstDayOfWeek.Sunday; ++ public const FirstDayOfWeek vbThursday = FirstDayOfWeek.Thursday; ++ public const FirstDayOfWeek vbTuesday = FirstDayOfWeek.Tuesday; ++ public const FirstDayOfWeek vbUseSystemDayOfWeek = FirstDayOfWeek.System; ++ public const FirstDayOfWeek vbWednesday = FirstDayOfWeek.Wednesday; ++ public const FirstWeekOfYear vbFirstFourDays = FirstWeekOfYear.FirstFourDays; ++ public const FirstWeekOfYear vbFirstFullWeek = FirstWeekOfYear.FirstFullWeek; ++ public const FirstWeekOfYear vbFirstJan1 = FirstWeekOfYear.Jan1; ++ public const FirstWeekOfYear vbUseSystem = FirstWeekOfYear.System; ++ public const MsgBoxResult vbAbort = MsgBoxResult.Abort; ++ public const MsgBoxResult vbCancel = MsgBoxResult.Cancel; ++ public const MsgBoxResult vbIgnore = MsgBoxResult.Ignore; ++ public const MsgBoxResult vbNo = MsgBoxResult.No; ++ public const MsgBoxResult vbOK = MsgBoxResult.Ok; ++ public const MsgBoxResult vbRetry = MsgBoxResult.Retry; ++ public const MsgBoxResult vbYes = MsgBoxResult.Yes; ++ public const MsgBoxStyle vbAbortRetryIgnore = MsgBoxStyle.AbortRetryIgnore; ++ public const MsgBoxStyle vbApplicationModal = MsgBoxStyle.ApplicationModal; ++ public const MsgBoxStyle vbCritical = MsgBoxStyle.Critical; ++ public const MsgBoxStyle vbDefaultButton1 = MsgBoxStyle.ApplicationModal; ++ public const MsgBoxStyle vbDefaultButton2 = MsgBoxStyle.DefaultButton2; ++ public const MsgBoxStyle vbDefaultButton3 = MsgBoxStyle.DefaultButton3; ++ public const MsgBoxStyle vbExclamation = MsgBoxStyle.Exclamation; ++ public const MsgBoxStyle vbInformation = MsgBoxStyle.Information; ++ public const MsgBoxStyle vbMsgBoxHelp = MsgBoxStyle.MsgBoxHelp; ++ public const MsgBoxStyle vbMsgBoxRight = MsgBoxStyle.MsgBoxRight; ++ public const MsgBoxStyle vbMsgBoxRtlReading = MsgBoxStyle.MsgBoxRtlReading; ++ public const MsgBoxStyle vbMsgBoxSetForeground = MsgBoxStyle.MsgBoxSetForeground; ++ public const MsgBoxStyle vbOKCancel = MsgBoxStyle.OkCancel; ++ public const MsgBoxStyle vbOKOnly = MsgBoxStyle.ApplicationModal; ++ public const MsgBoxStyle vbQuestion = MsgBoxStyle.Question; ++ public const MsgBoxStyle vbRetryCancel = MsgBoxStyle.RetryCancel; ++ public const MsgBoxStyle vbSystemModal = MsgBoxStyle.SystemModal; ++ public const MsgBoxStyle vbYesNo = MsgBoxStyle.YesNo; ++ public const MsgBoxStyle vbYesNoCancel = MsgBoxStyle.YesNoCancel; ++ public const TriState vbFalse = TriState.False; ++ public const TriState vbTrue = TriState.True; ++ public const TriState vbUseDefault = TriState.UseDefault; ++ public const VariantType vbArray = VariantType.Array; ++ public const VariantType vbBoolean = VariantType.Boolean; ++ public const VariantType vbByte = VariantType.Byte; ++ public const VariantType vbCurrency = VariantType.Currency; ++ public const VariantType vbDate = VariantType.Date; ++ public const VariantType vbDecimal = VariantType.Decimal; ++ public const VariantType vbDouble = VariantType.Double; ++ public const VariantType vbEmpty = VariantType.Empty; ++ public const VariantType vbInteger = VariantType.Integer; ++ public const VariantType vbLong = VariantType.Long; ++ public const VariantType vbNull = VariantType.Null; ++ public const VariantType vbObject = VariantType.Object; ++ public const VariantType vbSingle = VariantType.Single; ++ public const VariantType vbString = VariantType.String; ++ public const VariantType vbUserDefinedType = VariantType.UserDefinedType; ++ public const VariantType vbVariant = VariantType.Variant; ++ public const VbStrConv vbHiragana = VbStrConv.Hiragana; ++ public const VbStrConv vbKatakana = VbStrConv.Katakana; ++ public const VbStrConv vbLinguisticCasing = VbStrConv.LinguisticCasing; ++ public const VbStrConv vbLowerCase = VbStrConv.Lowercase; ++ public const VbStrConv vbNarrow = VbStrConv.Narrow; ++ public const VbStrConv vbProperCase = VbStrConv.ProperCase; ++ public const VbStrConv vbSimplifiedChinese = VbStrConv.SimplifiedChinese; ++ public const VbStrConv vbTraditionalChinese = VbStrConv.TraditionalChinese; ++ public const VbStrConv vbUpperCase = VbStrConv.Uppercase; ++ public const VbStrConv vbWide = VbStrConv.Wide; ++ public const int vbObjectError = -2147221504; + } ++ public sealed class ControlChars { ++ public const char Back = '\b'; ++ public const char Cr = '\r'; ++ public const char FormFeed = '\f'; ++ public const char Lf = '\n'; ++ public const char NullChar = '\0'; ++ public const char Quote = '"'; ++ public const char Tab = '\t'; ++ public const char VerticalTab = '\v'; ++ public const string CrLf = "\r\n"; ++ public const string NewLine = "\r\n"; ++ public ControlChars(); ++ } ++ public sealed class Conversion { ++ public static object CTypeDynamic(object Expression, Type TargetType); ++ public static TargetType CTypeDynamic(object Expression); ++ public static string ErrorToString(); ++ public static string ErrorToString(int ErrorNumber); ++ public static decimal Fix(decimal Number); ++ public static double Fix(double Number); ++ public static short Fix(short Number); ++ public static int Fix(int Number); ++ public static long Fix(long Number); ++ public static object Fix(object Number); ++ public static float Fix(float Number); ++ public static string Hex(byte Number); ++ public static string Hex(short Number); ++ public static string Hex(int Number); ++ public static string Hex(long Number); ++ public static string Hex(object Number); ++ public static string Hex(sbyte Number); ++ public static string Hex(ushort Number); ++ public static string Hex(uint Number); ++ public static string Hex(ulong Number); ++ public static decimal Int(decimal Number); ++ public static double Int(double Number); ++ public static short Int(short Number); ++ public static int Int(int Number); ++ public static long Int(long Number); ++ public static object Int(object Number); ++ public static float Int(float Number); ++ public static string Oct(byte Number); ++ public static string Oct(short Number); ++ public static string Oct(int Number); ++ public static string Oct(long Number); ++ public static string Oct(object Number); ++ public static string Oct(sbyte Number); ++ public static string Oct(ushort Number); ++ public static string Oct(uint Number); ++ public static string Oct(ulong Number); ++ public static string Str(object Number); ++ public static int Val(char Expression); ++ public static double Val(object Expression); ++ public static double Val(string InputStr); ++ } ++ public sealed class DateAndTime { ++ public static string DateString { get; set; } ++ public static DateTime Now { get; } ++ public static DateTime TimeOfDay { get; set; } ++ public static double Timer { get; } ++ public static string TimeString { get; set; } ++ public static DateTime Today { get; set; } ++ public static DateTime DateAdd(DateInterval Interval, double Number, DateTime DateValue); ++ public static DateTime DateAdd(string Interval, double Number, object DateValue); ++ public static long DateDiff(DateInterval Interval, DateTime Date1, DateTime Date2, FirstDayOfWeek DayOfWeek = FirstDayOfWeek.Sunday, FirstWeekOfYear WeekOfYear = FirstWeekOfYear.Jan1); ++ public static long DateDiff(string Interval, object Date1, object Date2, FirstDayOfWeek DayOfWeek = FirstDayOfWeek.Sunday, FirstWeekOfYear WeekOfYear = FirstWeekOfYear.Jan1); ++ public static int DatePart(DateInterval Interval, DateTime DateValue, FirstDayOfWeek FirstDayOfWeekValue = FirstDayOfWeek.Sunday, FirstWeekOfYear FirstWeekOfYearValue = FirstWeekOfYear.Jan1); ++ public static int DatePart(string Interval, object DateValue, FirstDayOfWeek DayOfWeek = FirstDayOfWeek.Sunday, FirstWeekOfYear WeekOfYear = FirstWeekOfYear.Jan1); ++ public static DateTime DateSerial(int Year, int Month, int Day); ++ public static DateTime DateValue(string StringDate); ++ public static int Day(DateTime DateValue); ++ public static int Hour(DateTime TimeValue); ++ public static int Minute(DateTime TimeValue); ++ public static int Month(DateTime DateValue); ++ public static string MonthName(int Month, bool Abbreviate = false); ++ public static int Second(DateTime TimeValue); ++ public static DateTime TimeSerial(int Hour, int Minute, int Second); ++ public static DateTime TimeValue(string StringTime); ++ public static int Weekday(DateTime DateValue, FirstDayOfWeek DayOfWeek = FirstDayOfWeek.Sunday); ++ public static string WeekdayName(int Weekday, bool Abbreviate = false, FirstDayOfWeek FirstDayOfWeekValue = FirstDayOfWeek.System); ++ public static int Year(DateTime DateValue); ++ } ++ public enum DateFormat { ++ GeneralDate = 0, ++ LongDate = 1, ++ LongTime = 3, ++ ShortDate = 2, ++ ShortTime = 4, ++ } ++ public enum DateInterval { ++ Day = 4, ++ DayOfYear = 3, ++ Hour = 7, ++ Minute = 8, ++ Month = 2, ++ Quarter = 1, ++ Second = 9, ++ Weekday = 6, ++ WeekOfYear = 5, ++ Year = 0, ++ } ++ public enum DueDate { ++ BegOfPeriod = 1, ++ EndOfPeriod = 0, ++ } ++ public sealed class ErrObject { ++ public string Description { get; set; } ++ public int Erl { get; } ++ public int LastDllError { get; } ++ public int Number { get; set; } ++ public void Clear(); ++ public Exception GetException(); ++ public void Raise(int Number, object Source = null, object Description = null, object HelpFile = null, object HelpContext = null); ++ } ++ public enum FileAttribute { ++ Archive = 32, ++ Directory = 16, ++ Hidden = 2, ++ Normal = 0, ++ ReadOnly = 1, ++ System = 4, ++ Volume = 8, ++ } ++ public sealed class FileSystem { ++ public static void ChDir(string Path); ++ public static void ChDrive(char Drive); ++ public static void ChDrive(string Drive); ++ public static string CurDir(); ++ public static string CurDir(char Drive); ++ public static string Dir(); ++ public static string Dir(string PathName, FileAttribute Attributes = FileAttribute.Normal); ++ public static bool EOF(int FileNumber); ++ public static OpenMode FileAttr(int FileNumber); ++ public static void FileClose(params int[] FileNumbers); ++ public static void FileCopy(string Source, string Destination); ++ public static DateTime FileDateTime(string PathName); ++ public static void FileGet(int FileNumber, ref Array Value, long RecordNumber = (long)-1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false); ++ public static void FileGet(int FileNumber, ref bool Value, long RecordNumber = (long)-1); ++ public static void FileGet(int FileNumber, ref byte Value, long RecordNumber = (long)-1); ++ public static void FileGet(int FileNumber, ref char Value, long RecordNumber = (long)-1); ++ public static void FileGet(int FileNumber, ref DateTime Value, long RecordNumber = (long)-1); ++ public static void FileGet(int FileNumber, ref decimal Value, long RecordNumber = (long)-1); ++ public static void FileGet(int FileNumber, ref double Value, long RecordNumber = (long)-1); ++ public static void FileGet(int FileNumber, ref short Value, long RecordNumber = (long)-1); ++ public static void FileGet(int FileNumber, ref int Value, long RecordNumber = (long)-1); ++ public static void FileGet(int FileNumber, ref long Value, long RecordNumber = (long)-1); ++ public static void FileGet(int FileNumber, ref float Value, long RecordNumber = (long)-1); ++ public static void FileGet(int FileNumber, ref string Value, long RecordNumber = (long)-1, bool StringIsFixedLength = false); ++ public static void FileGet(int FileNumber, ref ValueType Value, long RecordNumber = (long)-1); ++ public static void FileGetObject(int FileNumber, ref object Value, long RecordNumber = (long)-1); ++ public static long FileLen(string PathName); ++ public static void FileOpen(int FileNumber, string FileName, OpenMode Mode, OpenAccess Access = OpenAccess.Default, OpenShare Share = OpenShare.Default, int RecordLength = -1); ++ public static void FilePut(int FileNumber, Array Value, long RecordNumber = (long)-1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false); ++ public static void FilePut(int FileNumber, bool Value, long RecordNumber = (long)-1); ++ public static void FilePut(int FileNumber, byte Value, long RecordNumber = (long)-1); ++ public static void FilePut(int FileNumber, char Value, long RecordNumber = (long)-1); ++ public static void FilePut(int FileNumber, DateTime Value, long RecordNumber = (long)-1); ++ public static void FilePut(int FileNumber, decimal Value, long RecordNumber = (long)-1); ++ public static void FilePut(int FileNumber, double Value, long RecordNumber = (long)-1); ++ public static void FilePut(int FileNumber, short Value, long RecordNumber = (long)-1); ++ public static void FilePut(int FileNumber, int Value, long RecordNumber = (long)-1); ++ public static void FilePut(int FileNumber, long Value, long RecordNumber = (long)-1); ++ public static void FilePut(int FileNumber, float Value, long RecordNumber = (long)-1); ++ public static void FilePut(int FileNumber, string Value, long RecordNumber = (long)-1, bool StringIsFixedLength = false); ++ public static void FilePut(int FileNumber, ValueType Value, long RecordNumber = (long)-1); ++ public static void FilePut(object FileNumber, object Value, object RecordNumber); ++ public static void FilePutObject(int FileNumber, object Value, long RecordNumber = (long)-1); ++ public static void FileWidth(int FileNumber, int RecordWidth); ++ public static int FreeFile(); ++ public static FileAttribute GetAttr(string PathName); ++ public static void Input(int FileNumber, ref bool Value); ++ public static void Input(int FileNumber, ref byte Value); ++ public static void Input(int FileNumber, ref char Value); ++ public static void Input(int FileNumber, ref DateTime Value); ++ public static void Input(int FileNumber, ref decimal Value); ++ public static void Input(int FileNumber, ref double Value); ++ public static void Input(int FileNumber, ref short Value); ++ public static void Input(int FileNumber, ref int Value); ++ public static void Input(int FileNumber, ref long Value); ++ public static void Input(int FileNumber, ref object Value); ++ public static void Input(int FileNumber, ref float Value); ++ public static void Input(int FileNumber, ref string Value); ++ public static string InputString(int FileNumber, int CharCount); ++ public static void Kill(string PathName); ++ public static string LineInput(int FileNumber); ++ public static long Loc(int FileNumber); ++ public static void Lock(int FileNumber); ++ public static void Lock(int FileNumber, long Record); ++ public static void Lock(int FileNumber, long FromRecord, long ToRecord); ++ public static long LOF(int FileNumber); ++ public static void MkDir(string Path); ++ public static void Print(int FileNumber, params object[] Output); ++ public static void PrintLine(int FileNumber, params object[] Output); ++ public static void Rename(string OldPath, string NewPath); ++ public static void Reset(); ++ public static void RmDir(string Path); ++ public static long Seek(int FileNumber); ++ public static void Seek(int FileNumber, long Position); ++ public static void SetAttr(string PathName, FileAttribute Attributes); ++ public static SpcInfo SPC(short Count); ++ public static TabInfo TAB(); ++ public static TabInfo TAB(short Column); ++ public static void Unlock(int FileNumber); ++ public static void Unlock(int FileNumber, long Record); ++ public static void Unlock(int FileNumber, long FromRecord, long ToRecord); ++ public static void Write(int FileNumber, params object[] Output); ++ public static void WriteLine(int FileNumber, params object[] Output); ++ } ++ public sealed class Financial { ++ public static double DDB(double Cost, double Salvage, double Life, double Period, double Factor = 2); ++ public static double FV(double Rate, double NPer, double Pmt, double PV = 0, DueDate Due = DueDate.EndOfPeriod); ++ public static double IPmt(double Rate, double Per, double NPer, double PV, double FV = 0, DueDate Due = DueDate.EndOfPeriod); ++ public static double IRR(ref double[] ValueArray, double Guess = 0.1); ++ public static double MIRR(ref double[] ValueArray, double FinanceRate, double ReinvestRate); ++ public static double NPer(double Rate, double Pmt, double PV, double FV = 0, DueDate Due = DueDate.EndOfPeriod); ++ public static double NPV(double Rate, ref double[] ValueArray); ++ public static double Pmt(double Rate, double NPer, double PV, double FV = 0, DueDate Due = DueDate.EndOfPeriod); ++ public static double PPmt(double Rate, double Per, double NPer, double PV, double FV = 0, DueDate Due = DueDate.EndOfPeriod); ++ public static double PV(double Rate, double NPer, double Pmt, double FV = 0, DueDate Due = DueDate.EndOfPeriod); ++ public static double Rate(double NPer, double Pmt, double PV, double FV = 0, DueDate Due = DueDate.EndOfPeriod, double Guess = 0.1); ++ public static double SLN(double Cost, double Salvage, double Life); ++ public static double SYD(double Cost, double Salvage, double Life, double Period); ++ } ++ public enum FirstDayOfWeek { ++ Friday = 6, ++ Monday = 2, ++ Saturday = 7, ++ Sunday = 1, ++ System = 0, ++ Thursday = 5, ++ Tuesday = 3, ++ Wednesday = 4, ++ } ++ public enum FirstWeekOfYear { ++ FirstFourDays = 2, ++ FirstFullWeek = 3, ++ Jan1 = 1, ++ System = 0, ++ } ++ public sealed class Information { ++ public static ErrObject Err(); ++ public static bool IsArray(object VarName); ++ public static bool IsDate(object Expression); ++ public static bool IsDBNull(object Expression); ++ public static bool IsError(object Expression); ++ public static bool IsNothing(object Expression); ++ public static bool IsNumeric(object Expression); ++ public static bool IsReference(object Expression); ++ public static int LBound(Array Array, int Rank = 1); ++ public static int QBColor(int Color); ++ public static int RGB(int Red, int Green, int Blue); ++ public static string SystemTypeName(string VbName); ++ public static string TypeName(object VarName); ++ public static int UBound(Array Array, int Rank = 1); ++ public static VariantType VarType(object VarName); ++ public static string VbTypeName(string UrtName); ++ } ++ public sealed class Interaction { ++ public static void Beep(); ++ public static object CallByName(object ObjectRef, string ProcName, CallType UseCallType, params object[] Args); ++ public static object CreateObject(string ProgId, string ServerName = ""); ++ public static object IIf(bool Expression, object TruePart, object FalsePart); ++ } ++ public enum MsgBoxResult { ++ Abort = 3, ++ Cancel = 2, ++ Ignore = 5, ++ No = 7, ++ Ok = 1, ++ Retry = 4, ++ Yes = 6, ++ } ++ public enum MsgBoxStyle { ++ AbortRetryIgnore = 2, ++ ApplicationModal = 0, ++ Critical = 16, ++ DefaultButton1 = 0, ++ DefaultButton2 = 256, ++ DefaultButton3 = 512, ++ Exclamation = 48, ++ Information = 64, ++ MsgBoxHelp = 16384, ++ MsgBoxRight = 524288, ++ MsgBoxRtlReading = 1048576, ++ MsgBoxSetForeground = 65536, ++ OkCancel = 1, ++ OkOnly = 0, ++ Question = 32, ++ RetryCancel = 5, ++ SystemModal = 4096, ++ YesNo = 4, ++ YesNoCancel = 3, ++ } ++ public sealed class MyGroupCollectionAttribute : Attribute { ++ public MyGroupCollectionAttribute(string typeToCollect, string createInstanceMethodName, string disposeInstanceMethodName, string defaultInstanceAlias); ++ public string CreateMethod { get; } ++ public string DefaultInstanceAlias { get; } ++ public string DisposeMethod { get; } ++ public string MyGroupName { get; } ++ } ++ public enum OpenAccess { ++ Default = -1, ++ Read = 1, ++ ReadWrite = 3, ++ Write = 2, ++ } ++ public enum OpenMode { ++ Append = 8, ++ Binary = 32, ++ Input = 1, ++ Output = 2, ++ Random = 4, ++ } ++ public enum OpenShare { ++ Default = -1, ++ LockRead = 2, ++ LockReadWrite = 0, ++ LockWrite = 1, ++ Shared = 3, ++ } ++ public struct SpcInfo { ++ public short Count; ++ } + public sealed class Strings { ++ public static int Asc(char String); ++ public static int Asc(string String); ++ public static char Chr(int CharCode); ++ public static string[] Filter(object[] Source, string Match, bool Include = true, CompareMethod Compare = CompareMethod.Binary); ++ public static string[] Filter(string[] Source, string Match, bool Include = true, CompareMethod Compare = CompareMethod.Binary); ++ public static string Format(object Expression, string Style = ""); ++ public static string FormatCurrency(object Expression, int NumDigitsAfterDecimal = -1, TriState IncludeLeadingDigit = TriState.UseDefault, TriState UseParensForNegativeNumbers = TriState.UseDefault, TriState GroupDigits = TriState.UseDefault); ++ public static string FormatDateTime(DateTime Expression, DateFormat NamedFormat = DateFormat.GeneralDate); ++ public static string FormatNumber(object Expression, int NumDigitsAfterDecimal = -1, TriState IncludeLeadingDigit = TriState.UseDefault, TriState UseParensForNegativeNumbers = TriState.UseDefault, TriState GroupDigits = TriState.UseDefault); ++ public static string FormatPercent(object Expression, int NumDigitsAfterDecimal = -1, TriState IncludeLeadingDigit = TriState.UseDefault, TriState UseParensForNegativeNumbers = TriState.UseDefault, TriState GroupDigits = TriState.UseDefault); ++ public static char GetChar(string str, int Index); ++ public static int InStr(int StartPos, string String1, string String2, CompareMethod Compare = CompareMethod.Binary); ++ public static int InStr(string String1, string String2, CompareMethod Compare = CompareMethod.Binary); ++ public static int InStrRev(string StringCheck, string StringMatch, int Start = -1, CompareMethod Compare = CompareMethod.Binary); ++ public static string Join(object[] SourceArray, string Delimiter = " "); ++ public static string Join(string[] SourceArray, string Delimiter = " "); ++ public static char LCase(char Value); ++ public static string LCase(string Value); ++ public static string Left(string str, int Length); ++ public static int Len(bool Expression); ++ public static int Len(byte Expression); ++ public static int Len(char Expression); ++ public static int Len(DateTime Expression); ++ public static int Len(decimal Expression); ++ public static int Len(double Expression); ++ public static int Len(short Expression); ++ public static int Len(int Expression); ++ public static int Len(long Expression); ++ public static int Len(object Expression); ++ public static int Len(sbyte Expression); ++ public static int Len(float Expression); ++ public static int Len(string Expression); ++ public static int Len(ushort Expression); ++ public static int Len(uint Expression); ++ public static int Len(ulong Expression); ++ public static string LSet(string Source, int Length); ++ public static string LTrim(string str); ++ public static string Mid(string str, int Start); ++ public static string Mid(string str, int Start, int Length); ++ public static string Replace(string Expression, string Find, string Replacement, int Start = 1, int Count = -1, CompareMethod Compare = CompareMethod.Binary); ++ public static string Right(string str, int Length); ++ public static string RSet(string Source, int Length); ++ public static string RTrim(string str); ++ public static string Space(int Number); ++ public static string[] Split(string Expression, string Delimiter = " ", int Limit = -1, CompareMethod Compare = CompareMethod.Binary); ++ public static int StrComp(string String1, string String2, CompareMethod Compare = CompareMethod.Binary); ++ public static string StrConv(string str, VbStrConv Conversion, int LocaleID = 0); ++ public static string StrDup(int Number, char Character); ++ public static object StrDup(int Number, object Character); ++ public static string StrDup(int Number, string Character); ++ public static string StrReverse(string Expression); ++ public static string Trim(string str); ++ public static char UCase(char Value); ++ public static string UCase(string Value); + } ++ public struct TabInfo { ++ public short Column; ++ } ++ public enum TriState { ++ False = 0, ++ True = -1, ++ UseDefault = -2, ++ } ++ public enum VariantType { ++ Array = 8192, ++ Boolean = 11, ++ Byte = 17, ++ Char = 18, ++ Currency = 6, ++ DataObject = 13, ++ Date = 7, ++ Decimal = 14, ++ Double = 5, ++ Empty = 0, ++ Error = 10, ++ Integer = 3, ++ Long = 20, ++ Null = 1, ++ Object = 9, ++ Short = 2, ++ Single = 4, ++ String = 8, ++ UserDefinedType = 36, ++ Variant = 12, ++ } ++ public sealed class VBFixedArrayAttribute : Attribute { ++ public VBFixedArrayAttribute(int UpperBound1); ++ public VBFixedArrayAttribute(int UpperBound1, int UpperBound2); ++ public int[] Bounds { get; } ++ public int Length { get; } ++ } ++ public sealed class VBFixedStringAttribute : Attribute { ++ public VBFixedStringAttribute(int Length); ++ public int Length { get; } ++ } ++ public sealed class VBMath { ++ public static void Randomize(); ++ public static void Randomize(double Number); ++ public static float Rnd(); ++ public static float Rnd(float Number); ++ } ++ public enum VbStrConv { ++ Hiragana = 32, ++ Katakana = 16, ++ LinguisticCasing = 1024, ++ Lowercase = 2, ++ Narrow = 8, ++ None = 0, ++ ProperCase = 3, ++ SimplifiedChinese = 256, ++ TraditionalChinese = 512, ++ Uppercase = 1, ++ Wide = 4, ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Buffers.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Buffers.md new file mode 100644 index 00000000..aea94462 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Buffers.md @@ -0,0 +1,67 @@ +# System.Buffers + +``` diff + namespace System.Buffers { ++ public sealed class ArrayBufferWriter : IBufferWriter { ++ public ArrayBufferWriter(); ++ public ArrayBufferWriter(int initialCapacity); ++ public int Capacity { get; } ++ public int FreeCapacity { get; } ++ public int WrittenCount { get; } ++ public ReadOnlyMemory WrittenMemory { get; } ++ public ReadOnlySpan WrittenSpan { get; } ++ public void Advance(int count); ++ public void Clear(); ++ public Memory GetMemory(int sizeHint = 0); ++ public Span GetSpan(int sizeHint = 0); ++ } + public readonly struct ReadOnlySequence { ++ public ReadOnlySpan FirstSpan { get; } + } ++ public ref struct SequenceReader where T : struct, IEquatable { ++ public SequenceReader(ReadOnlySequence sequence); ++ public long Consumed { get; } ++ public ReadOnlySpan CurrentSpan { get; } ++ public int CurrentSpanIndex { get; } ++ public bool End { get; } ++ public long Length { get; } ++ public SequencePosition Position { get; } ++ public long Remaining { get; } ++ public ReadOnlySequence Sequence { get; } ++ public ReadOnlySpan UnreadSpan { get; } ++ public void Advance(long count); ++ public long AdvancePast(T value); ++ public long AdvancePastAny(ReadOnlySpan values); ++ public long AdvancePastAny(T value0, T value1); ++ public long AdvancePastAny(T value0, T value1, T value2); ++ public long AdvancePastAny(T value0, T value1, T value2, T value3); ++ public bool IsNext(ReadOnlySpan next, bool advancePast = false); ++ public bool IsNext(T next, bool advancePast = false); ++ public void Rewind(long count); ++ public bool TryAdvanceTo(T delimiter, bool advancePastDelimiter = true); ++ public bool TryAdvanceToAny(ReadOnlySpan delimiters, bool advancePastDelimiter = true); ++ public bool TryCopyTo(Span destination); ++ public bool TryPeek(out T value); ++ public bool TryRead(out T value); ++ public bool TryReadTo(out ReadOnlySequence sequence, ReadOnlySpan delimiter, bool advancePastDelimiter = true); ++ public bool TryReadTo(out ReadOnlySequence sequence, T delimiter, bool advancePastDelimiter = true); ++ public bool TryReadTo(out ReadOnlySequence sequence, T delimiter, T delimiterEscape, bool advancePastDelimiter = true); ++ public bool TryReadTo(out ReadOnlySpan span, T delimiter, bool advancePastDelimiter = true); ++ public bool TryReadTo(out ReadOnlySpan span, T delimiter, T delimiterEscape, bool advancePastDelimiter = true); ++ public bool TryReadToAny(out ReadOnlySequence sequence, ReadOnlySpan delimiters, bool advancePastDelimiter = true); ++ public bool TryReadToAny(out ReadOnlySpan span, ReadOnlySpan delimiters, bool advancePastDelimiter = true); ++ } ++ public static class SequenceReaderExtensions { ++ public static bool TryReadBigEndian(this ref SequenceReader reader, out short value); ++ public static bool TryReadBigEndian(this ref SequenceReader reader, out int value); ++ public static bool TryReadBigEndian(this ref SequenceReader reader, out long value); ++ public static bool TryReadLittleEndian(this ref SequenceReader reader, out short value); ++ public static bool TryReadLittleEndian(this ref SequenceReader reader, out int value); ++ public static bool TryReadLittleEndian(this ref SequenceReader reader, out long value); ++ } + public readonly struct StandardFormat : IEquatable { ++ public static bool TryParse(ReadOnlySpan format, out StandardFormat result); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Collections.Generic.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Collections.Generic.md new file mode 100644 index 00000000..d2dd19b1 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Collections.Generic.md @@ -0,0 +1,14 @@ +# System.Collections.Generic + +``` diff + namespace System.Collections.Generic { ++ public interface IAsyncEnumerable { ++ IAsyncEnumerator GetAsyncEnumerator(CancellationToken cancellationToken = default(CancellationToken)); ++ } ++ public interface IAsyncEnumerator : IAsyncDisposable { ++ T Current { get; } ++ ValueTask MoveNextAsync(); ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Collections.Immutable.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Collections.Immutable.md new file mode 100644 index 00000000..46b856d4 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Collections.Immutable.md @@ -0,0 +1,29 @@ +# System.Collections.Immutable + +``` diff + namespace System.Collections.Immutable { + public static class ImmutableArray { ++ public static ImmutableArray ToImmutableArray(this ImmutableArray.Builder builder); + } + public struct ImmutableArray : ICollection, ICollection, IEnumerable, IEnumerable, IEquatable>, IImmutableList, IList, IList, IReadOnlyCollection, IReadOnlyList, IStructuralComparable, IStructuralEquatable { ++ public ReadOnlyMemory AsMemory(); ++ public ReadOnlySpan AsSpan(); + } + public static class ImmutableDictionary { ++ public static ImmutableDictionary ToImmutableDictionary(this ImmutableDictionary.Builder builder); + } + public static class ImmutableHashSet { ++ public static ImmutableHashSet ToImmutableHashSet(this ImmutableHashSet.Builder builder); + } + public static class ImmutableList { ++ public static ImmutableList ToImmutableList(this ImmutableList.Builder builder); + } + public static class ImmutableSortedDictionary { ++ public static ImmutableSortedDictionary ToImmutableSortedDictionary(this ImmutableSortedDictionary.Builder builder); + } + public static class ImmutableSortedSet { ++ public static ImmutableSortedSet ToImmutableSortedSet(this ImmutableSortedSet.Builder builder); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.ComponentModel.DataAnnotations.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.ComponentModel.DataAnnotations.md new file mode 100644 index 00000000..a5943216 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.ComponentModel.DataAnnotations.md @@ -0,0 +1,16 @@ +# System.ComponentModel.DataAnnotations + +``` diff + namespace System.ComponentModel.DataAnnotations { ++ public class AssociatedMetadataTypeTypeDescriptionProvider : TypeDescriptionProvider { ++ public AssociatedMetadataTypeTypeDescriptionProvider(Type type); ++ public AssociatedMetadataTypeTypeDescriptionProvider(Type type, Type associatedMetadataType); ++ public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance); ++ } ++ public sealed class MetadataTypeAttribute : Attribute { ++ public MetadataTypeAttribute(Type metadataClassType); ++ public Type MetadataClassType { get; } ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.ComponentModel.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.ComponentModel.md new file mode 100644 index 00000000..ca89af76 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.ComponentModel.md @@ -0,0 +1,25 @@ +# System.ComponentModel + +``` diff + namespace System.ComponentModel { + public class BackgroundWorker : Component { ++ protected override void Dispose(bool disposing); + } + public abstract class BaseNumberConverter : TypeConverter { +- protected BaseNumberConverter(); + + } ++ public class VersionConverter : TypeConverter { ++ public VersionConverter(); ++ public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType); ++ public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType); ++ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value); ++ public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType); ++ public override bool IsValid(ITypeDescriptorContext context, object value); ++ } + public class Win32Exception : ExternalException, ISerializable { ++ public override string ToString(); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Data.Common.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Data.Common.md new file mode 100644 index 00000000..9d460ade --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Data.Common.md @@ -0,0 +1,36 @@ +# System.Data.Common + +``` diff + namespace System.Data.Common { +- public abstract class DbCommand : Component, IDbCommand, IDisposable { ++ public abstract class DbCommand : Component, IAsyncDisposable, IDbCommand, IDisposable { ++ public virtual ValueTask DisposeAsync(); ++ public virtual Task PrepareAsync(CancellationToken cancellationToken = default(CancellationToken)); + } +- public abstract class DbConnection : Component, IDbConnection, IDisposable { ++ public abstract class DbConnection : Component, IAsyncDisposable, IDbConnection, IDisposable { ++ protected virtual ValueTask BeginDbTransactionAsync(IsolationLevel isolationLevel, CancellationToken cancellationToken); ++ public ValueTask BeginTransactionAsync(IsolationLevel isolationLevel, CancellationToken cancellationToken = default(CancellationToken)); ++ public ValueTask BeginTransactionAsync(CancellationToken cancellationToken = default(CancellationToken)); ++ public virtual Task ChangeDatabaseAsync(string databaseName, CancellationToken cancellationToken = default(CancellationToken)); ++ public virtual Task CloseAsync(); ++ public virtual ValueTask DisposeAsync(); + } +- public abstract class DbDataReader : MarshalByRefObject, IDataReader, IDataRecord, IDisposable, IEnumerable { ++ public abstract class DbDataReader : MarshalByRefObject, IAsyncDisposable, IDataReader, IDataRecord, IDisposable, IEnumerable { ++ public virtual Task CloseAsync(); ++ public virtual ValueTask DisposeAsync(); + } + public abstract class DbProviderFactory { ++ public virtual bool CanCreateCommandBuilder { get; } ++ public virtual bool CanCreateDataAdapter { get; } + } +- public abstract class DbTransaction : MarshalByRefObject, IDbTransaction, IDisposable { ++ public abstract class DbTransaction : MarshalByRefObject, IAsyncDisposable, IDbTransaction, IDisposable { ++ public virtual Task CommitAsync(CancellationToken cancellationToken = default(CancellationToken)); ++ public virtual ValueTask DisposeAsync(); ++ public virtual Task RollbackAsync(CancellationToken cancellationToken = default(CancellationToken)); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Data.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Data.md new file mode 100644 index 00000000..49f6b680 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Data.md @@ -0,0 +1,104 @@ +# System.Data + +``` diff + namespace System.Data { + public abstract class Constraint { +- protected Constraint(); + + } ++ public static class DataReaderExtensions { ++ public static bool GetBoolean(this DbDataReader reader, string name); ++ public static byte GetByte(this DbDataReader reader, string name); ++ public static long GetBytes(this DbDataReader reader, string name, long dataOffset, byte[] buffer, int bufferOffset, int length); ++ public static char GetChar(this DbDataReader reader, string name); ++ public static long GetChars(this DbDataReader reader, string name, long dataOffset, char[] buffer, int bufferOffset, int length); ++ public static DbDataReader GetData(this DbDataReader reader, string name); ++ public static string GetDataTypeName(this DbDataReader reader, string name); ++ public static DateTime GetDateTime(this DbDataReader reader, string name); ++ public static decimal GetDecimal(this DbDataReader reader, string name); ++ public static double GetDouble(this DbDataReader reader, string name); ++ public static Type GetFieldType(this DbDataReader reader, string name); ++ public static T GetFieldValue(this DbDataReader reader, string name); ++ public static Task GetFieldValueAsync(this DbDataReader reader, string name, CancellationToken cancellationToken = default(CancellationToken)); ++ public static float GetFloat(this DbDataReader reader, string name); ++ public static Guid GetGuid(this DbDataReader reader, string name); ++ public static short GetInt16(this DbDataReader reader, string name); ++ public static int GetInt32(this DbDataReader reader, string name); ++ public static long GetInt64(this DbDataReader reader, string name); ++ public static Type GetProviderSpecificFieldType(this DbDataReader reader, string name); ++ public static object GetProviderSpecificValue(this DbDataReader reader, string name); ++ public static Stream GetStream(this DbDataReader reader, string name); ++ public static string GetString(this DbDataReader reader, string name); ++ public static TextReader GetTextReader(this DbDataReader reader, string name); ++ public static object GetValue(this DbDataReader reader, string name); ++ public static bool IsDBNull(this DbDataReader reader, string name); ++ public static Task IsDBNullAsync(this DbDataReader reader, string name, CancellationToken cancellationToken = default(CancellationToken)); ++ } ++ public static class DataRowComparer { ++ public static DataRowComparer Default { get; } ++ } ++ public sealed class DataRowComparer : IEqualityComparer where TRow : DataRow { ++ public static DataRowComparer Default { get; } ++ public bool Equals(TRow leftRow, TRow rightRow); ++ public int GetHashCode(TRow row); ++ } ++ public static class DataRowExtensions { ++ public static T Field(this DataRow row, DataColumn column); ++ public static T Field(this DataRow row, DataColumn column, DataRowVersion version); ++ public static T Field(this DataRow row, int columnIndex); ++ public static T Field(this DataRow row, int columnIndex, DataRowVersion version); ++ public static T Field(this DataRow row, string columnName); ++ public static T Field(this DataRow row, string columnName, DataRowVersion version); ++ public static void SetField(this DataRow row, DataColumn column, T value); ++ public static void SetField(this DataRow row, int columnIndex, T value); ++ public static void SetField(this DataRow row, string columnName, T value); ++ } ++ public static class DataTableExtensions { ++ public static DataView AsDataView(this DataTable table); ++ public static DataView AsDataView(this EnumerableRowCollection source) where T : DataRow; ++ public static EnumerableRowCollection AsEnumerable(this DataTable source); ++ public static DataTable CopyToDataTable(this IEnumerable source) where T : DataRow; ++ public static void CopyToDataTable(this IEnumerable source, DataTable table, LoadOption options) where T : DataRow; ++ public static void CopyToDataTable(this IEnumerable source, DataTable table, LoadOption options, FillErrorEventHandler errorHandler) where T : DataRow; ++ } ++ public abstract class EnumerableRowCollection : IEnumerable { ++ IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ } ++ public class EnumerableRowCollection : EnumerableRowCollection, IEnumerable, IEnumerable { ++ public IEnumerator GetEnumerator(); ++ IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ } ++ public static class EnumerableRowCollectionExtensions { ++ public static EnumerableRowCollection Cast(this EnumerableRowCollection source); ++ public static OrderedEnumerableRowCollection OrderBy(this EnumerableRowCollection source, Func keySelector); ++ public static OrderedEnumerableRowCollection OrderBy(this EnumerableRowCollection source, Func keySelector, IComparer comparer); ++ public static OrderedEnumerableRowCollection OrderByDescending(this EnumerableRowCollection source, Func keySelector); ++ public static OrderedEnumerableRowCollection OrderByDescending(this EnumerableRowCollection source, Func keySelector, IComparer comparer); ++ public static EnumerableRowCollection Select(this EnumerableRowCollection source, Func selector); ++ public static OrderedEnumerableRowCollection ThenBy(this OrderedEnumerableRowCollection source, Func keySelector); ++ public static OrderedEnumerableRowCollection ThenBy(this OrderedEnumerableRowCollection source, Func keySelector, IComparer comparer); ++ public static OrderedEnumerableRowCollection ThenByDescending(this OrderedEnumerableRowCollection source, Func keySelector); ++ public static OrderedEnumerableRowCollection ThenByDescending(this OrderedEnumerableRowCollection source, Func keySelector, IComparer comparer); ++ public static EnumerableRowCollection Where(this EnumerableRowCollection source, Func predicate); ++ } ++ public sealed class OrderedEnumerableRowCollection : EnumerableRowCollection ++ public abstract class TypedTableBase : DataTable, IEnumerable, IEnumerable where T : DataRow { ++ protected TypedTableBase(); ++ protected TypedTableBase(SerializationInfo info, StreamingContext context); ++ public EnumerableRowCollection Cast(); ++ public IEnumerator GetEnumerator(); ++ IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ } ++ public static class TypedTableBaseExtensions { ++ public static EnumerableRowCollection AsEnumerable(this TypedTableBase source) where TRow : DataRow; ++ public static TRow ElementAtOrDefault(this TypedTableBase source, int index) where TRow : DataRow; ++ public static OrderedEnumerableRowCollection OrderBy(this TypedTableBase source, Func keySelector) where TRow : DataRow; ++ public static OrderedEnumerableRowCollection OrderBy(this TypedTableBase source, Func keySelector, IComparer comparer) where TRow : DataRow; ++ public static OrderedEnumerableRowCollection OrderByDescending(this TypedTableBase source, Func keySelector) where TRow : DataRow; ++ public static OrderedEnumerableRowCollection OrderByDescending(this TypedTableBase source, Func keySelector, IComparer comparer) where TRow : DataRow; ++ public static EnumerableRowCollection Select(this TypedTableBase source, Func selector) where TRow : DataRow; ++ public static EnumerableRowCollection Where(this TypedTableBase source, Func predicate) where TRow : DataRow; ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Diagnostics.CodeAnalysis.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Diagnostics.CodeAnalysis.md new file mode 100644 index 00000000..ee4226a9 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Diagnostics.CodeAnalysis.md @@ -0,0 +1,38 @@ +# System.Diagnostics.CodeAnalysis + +``` diff + namespace System.Diagnostics.CodeAnalysis { ++ public sealed class AllowNullAttribute : Attribute { ++ public AllowNullAttribute(); ++ } ++ public sealed class DisallowNullAttribute : Attribute { ++ public DisallowNullAttribute(); ++ } ++ public sealed class DoesNotReturnAttribute : Attribute { ++ public DoesNotReturnAttribute(); ++ } ++ public sealed class DoesNotReturnIfAttribute : Attribute { ++ public DoesNotReturnIfAttribute(bool parameterValue); ++ public bool ParameterValue { get; } ++ } ++ public sealed class MaybeNullAttribute : Attribute { ++ public MaybeNullAttribute(); ++ } ++ public sealed class MaybeNullWhenAttribute : Attribute { ++ public MaybeNullWhenAttribute(bool returnValue); ++ public bool ReturnValue { get; } ++ } ++ public sealed class NotNullAttribute : Attribute { ++ public NotNullAttribute(); ++ } ++ public sealed class NotNullIfNotNullAttribute : Attribute { ++ public NotNullIfNotNullAttribute(string parameterName); ++ public string ParameterName { get; } ++ } ++ public sealed class NotNullWhenAttribute : Attribute { ++ public NotNullWhenAttribute(bool returnValue); ++ public bool ReturnValue { get; } ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Diagnostics.Tracing.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Diagnostics.Tracing.md new file mode 100644 index 00000000..fbf6848c --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Diagnostics.Tracing.md @@ -0,0 +1,37 @@ +# System.Diagnostics.Tracing + +``` diff + namespace System.Diagnostics.Tracing { ++ public abstract class DiagnosticCounter : IDisposable { ++ public string DisplayName { get; set; } ++ public string DisplayUnits { get; set; } ++ public EventSource EventSource { get; } ++ public string Name { get; } ++ public void AddMetadata(string key, string value); ++ public void Dispose(); ++ } +- public class EventCounter : IDisposable { ++ public class EventCounter : DiagnosticCounter { +- public void Dispose(); + ++ public override string ToString(); ++ public void WriteMetric(double value); + } ++ public class IncrementingEventCounter : DiagnosticCounter { ++ public IncrementingEventCounter(string name, EventSource eventSource); ++ public TimeSpan DisplayRateTimeScale { get; set; } ++ public void Increment(double increment = 1); ++ public override string ToString(); ++ } ++ public class IncrementingPollingCounter : DiagnosticCounter { ++ public IncrementingPollingCounter(string name, EventSource eventSource, Func totalValueProvider); ++ public TimeSpan DisplayRateTimeScale { get; set; } ++ public override string ToString(); ++ } ++ public class PollingCounter : DiagnosticCounter { ++ public PollingCounter(string name, EventSource eventSource, Func metricProvider); ++ public override string ToString(); ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Diagnostics.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Diagnostics.md new file mode 100644 index 00000000..480d80f9 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Diagnostics.md @@ -0,0 +1,96 @@ +# System.Diagnostics + +``` diff + namespace System.Diagnostics { + public class Activity { ++ public ActivityTraceFlags ActivityTraceFlags { get; set; } +- public static Activity Current { get; private set; } ++ public static Activity Current { get; set; } ++ public static ActivityIdFormat DefaultIdFormat { get; set; } ++ public static bool ForceDefaultIdFormat { get; set; } ++ public ActivityIdFormat IdFormat { get; } ++ public ActivitySpanId ParentSpanId { get; } ++ public bool Recorded { get; } ++ public ActivitySpanId SpanId { get; } ++ public ActivityTraceId TraceId { get; } ++ public string TraceStateString { get; set; } ++ public Activity SetIdFormat(ActivityIdFormat format); ++ public Activity SetParentId(ActivityTraceId traceId, ActivitySpanId spanId, ActivityTraceFlags activityTraceFlags = ActivityTraceFlags.None); + } ++ public enum ActivityIdFormat { ++ Hierarchical = 1, ++ Unknown = 0, ++ W3C = 2, ++ } ++ public readonly struct ActivitySpanId : IEquatable { ++ public void CopyTo(Span destination); ++ public static ActivitySpanId CreateFromBytes(ReadOnlySpan idData); ++ public static ActivitySpanId CreateFromString(ReadOnlySpan idData); ++ public static ActivitySpanId CreateFromUtf8String(ReadOnlySpan idData); ++ public static ActivitySpanId CreateRandom(); ++ public bool Equals(ActivitySpanId spanId); ++ public override bool Equals(object obj); ++ public override int GetHashCode(); ++ public static bool operator ==(ActivitySpanId spanId1, ActivitySpanId spandId2); ++ public static bool operator !=(ActivitySpanId spanId1, ActivitySpanId spandId2); ++ public string ToHexString(); ++ public override string ToString(); ++ } ++ public enum ActivityTraceFlags { ++ None = 0, ++ Recorded = 1, ++ } ++ public readonly struct ActivityTraceId : IEquatable { ++ public void CopyTo(Span destination); ++ public static ActivityTraceId CreateFromBytes(ReadOnlySpan idData); ++ public static ActivityTraceId CreateFromString(ReadOnlySpan idData); ++ public static ActivityTraceId CreateFromUtf8String(ReadOnlySpan idData); ++ public static ActivityTraceId CreateRandom(); ++ public bool Equals(ActivityTraceId traceId); ++ public override bool Equals(object obj); ++ public override int GetHashCode(); ++ public static bool operator ==(ActivityTraceId traceId1, ActivityTraceId traceId2); ++ public static bool operator !=(ActivityTraceId traceId1, ActivityTraceId traceId2); ++ public string ToHexString(); ++ public override string ToString(); ++ } ++ public class ConsoleTraceListener : TextWriterTraceListener { ++ public ConsoleTraceListener(); ++ public ConsoleTraceListener(bool useErrorStream); ++ public override void Close(); ++ } + public class DiagnosticListener : DiagnosticSource, IDisposable, IObservable> { ++ public override void OnActivityExport(Activity activity, object payload); ++ public override void OnActivityImport(Activity activity, object payload); ++ public virtual IDisposable Subscribe(IObserver> observer, Func isEnabled, Action onActivityImport = null, Action onActivityExport = null); ++ public override string ToString(); +- public override void Write(string name, object parameters); ++ public override void Write(string name, object value); + } + public abstract class DiagnosticSource { ++ public virtual void OnActivityExport(Activity activity, object payload); ++ public virtual void OnActivityImport(Activity activity, object payload); + } + public class Process : Component { ++ public void Kill(bool entireProcessTree); + } ++ public class XmlWriterTraceListener : TextWriterTraceListener { ++ public XmlWriterTraceListener(Stream stream); ++ public XmlWriterTraceListener(Stream stream, string name); ++ public XmlWriterTraceListener(TextWriter writer); ++ public XmlWriterTraceListener(TextWriter writer, string name); ++ public XmlWriterTraceListener(string filename); ++ public XmlWriterTraceListener(string filename, string name); ++ public override void Close(); ++ public override void Fail(string message, string detailMessage); ++ public override void TraceData(TraceEventCache eventCache, string source, TraceEventType eventType, int id, object data); ++ public override void TraceData(TraceEventCache eventCache, string source, TraceEventType eventType, int id, params object[] data); ++ public override void TraceEvent(TraceEventCache eventCache, string source, TraceEventType eventType, int id, string message); ++ public override void TraceEvent(TraceEventCache eventCache, string source, TraceEventType eventType, int id, string format, params object[] args); ++ public override void TraceTransfer(TraceEventCache eventCache, string source, int id, string message, Guid relatedActivityId); ++ public override void Write(string message); ++ public override void WriteLine(string message); ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Drawing.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Drawing.md new file mode 100644 index 00000000..34515532 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Drawing.md @@ -0,0 +1,50 @@ +# System.Drawing + +``` diff + namespace System.Drawing { ++ public static class ColorTranslator { ++ public static Color FromHtml(string htmlColor); ++ public static Color FromOle(int oleColor); ++ public static Color FromWin32(int win32Color); ++ public static string ToHtml(Color c); ++ public static int ToOle(Color c); ++ public static int ToWin32(Color c); ++ } ++ public static class SystemColors { ++ public static Color ActiveBorder { get; } ++ public static Color ActiveCaption { get; } ++ public static Color ActiveCaptionText { get; } ++ public static Color AppWorkspace { get; } ++ public static Color ButtonFace { get; } ++ public static Color ButtonHighlight { get; } ++ public static Color ButtonShadow { get; } ++ public static Color Control { get; } ++ public static Color ControlDark { get; } ++ public static Color ControlDarkDark { get; } ++ public static Color ControlLight { get; } ++ public static Color ControlLightLight { get; } ++ public static Color ControlText { get; } ++ public static Color Desktop { get; } ++ public static Color GradientActiveCaption { get; } ++ public static Color GradientInactiveCaption { get; } ++ public static Color GrayText { get; } ++ public static Color Highlight { get; } ++ public static Color HighlightText { get; } ++ public static Color HotTrack { get; } ++ public static Color InactiveBorder { get; } ++ public static Color InactiveCaption { get; } ++ public static Color InactiveCaptionText { get; } ++ public static Color Info { get; } ++ public static Color InfoText { get; } ++ public static Color Menu { get; } ++ public static Color MenuBar { get; } ++ public static Color MenuHighlight { get; } ++ public static Color MenuText { get; } ++ public static Color ScrollBar { get; } ++ public static Color Window { get; } ++ public static Color WindowFrame { get; } ++ public static Color WindowText { get; } ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Globalization.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Globalization.md new file mode 100644 index 00000000..95a5e875 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Globalization.md @@ -0,0 +1,18 @@ +# System.Globalization + +``` diff + namespace System.Globalization { + public class CompareInfo : IDeserializationCallback { ++ public int GetHashCode(ReadOnlySpan source, CompareOptions options); + } ++ public static class ISOWeek { ++ public static int GetWeekOfYear(DateTime date); ++ public static int GetWeeksInYear(int year); ++ public static int GetYear(DateTime date); ++ public static DateTime GetYearEnd(int year); ++ public static DateTime GetYearStart(int year); ++ public static DateTime ToDateTime(int year, int week, DayOfWeek dayOfWeek); ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.IO.Compression.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.IO.Compression.md new file mode 100644 index 00000000..c792ddbd --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.IO.Compression.md @@ -0,0 +1,37 @@ +# System.IO.Compression + +``` diff + namespace System.IO.Compression { + public sealed class BrotliStream : Stream { ++ public override ValueTask DisposeAsync(); ++ public override Task FlushAsync(CancellationToken cancellationToken); ++ public override int Read(Span buffer); ++ public override ValueTask ReadAsync(Memory buffer, CancellationToken cancellationToken = default(CancellationToken)); ++ public override void Write(ReadOnlySpan buffer); ++ public override ValueTask WriteAsync(ReadOnlyMemory buffer, CancellationToken cancellationToken = default(CancellationToken)); + } + public class DeflateStream : Stream { ++ public override void CopyTo(Stream destination, int bufferSize); ++ public override Task CopyToAsync(Stream destination, int bufferSize, CancellationToken cancellationToken); ++ public override ValueTask DisposeAsync(); ++ public override Task FlushAsync(CancellationToken cancellationToken); ++ public override int Read(Span buffer); ++ public override ValueTask ReadAsync(Memory buffer, CancellationToken cancellationToken = default(CancellationToken)); ++ public override int ReadByte(); ++ public override void Write(ReadOnlySpan buffer); ++ public override ValueTask WriteAsync(ReadOnlyMemory buffer, CancellationToken cancellationToken = default(CancellationToken)); + } + public class GZipStream : Stream { ++ public override void CopyTo(Stream destination, int bufferSize); ++ public override Task CopyToAsync(Stream destination, int bufferSize, CancellationToken cancellationToken); ++ public override ValueTask DisposeAsync(); ++ public override Task FlushAsync(CancellationToken cancellationToken); ++ public override int Read(Span buffer); ++ public override ValueTask ReadAsync(Memory buffer, CancellationToken cancellationToken = default(CancellationToken)); ++ public override int ReadByte(); ++ public override void Write(ReadOnlySpan buffer); ++ public override ValueTask WriteAsync(ReadOnlyMemory buffer, CancellationToken cancellationToken = default(CancellationToken)); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.IO.IsolatedStorage.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.IO.IsolatedStorage.md new file mode 100644 index 00000000..433e2fb5 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.IO.IsolatedStorage.md @@ -0,0 +1,17 @@ +# System.IO.IsolatedStorage + +``` diff + namespace System.IO.IsolatedStorage { + public class IsolatedStorageFileStream : FileStream { ++ public override ValueTask DisposeAsync(); ++ public override Task FlushAsync(CancellationToken cancellationToken); ++ public override int Read(Span buffer); ++ public override Task ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken); ++ public override ValueTask ReadAsync(Memory buffer, CancellationToken cancellationToken = default(CancellationToken)); ++ public override void Write(ReadOnlySpan buffer); ++ public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken); ++ public override ValueTask WriteAsync(ReadOnlyMemory buffer, CancellationToken cancellationToken = default(CancellationToken)); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.IO.Pipes.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.IO.Pipes.md new file mode 100644 index 00000000..b2f1a7ba --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.IO.Pipes.md @@ -0,0 +1,13 @@ +# System.IO.Pipes + +``` diff + namespace System.IO.Pipes { + public abstract class PipeStream : Stream { ++ public override int Read(Span buffer); ++ public override ValueTask ReadAsync(Memory buffer, CancellationToken cancellationToken = default(CancellationToken)); ++ public override void Write(ReadOnlySpan buffer); ++ public override ValueTask WriteAsync(ReadOnlyMemory buffer, CancellationToken cancellationToken = default(CancellationToken)); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.IO.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.IO.md new file mode 100644 index 00000000..926cad33 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.IO.md @@ -0,0 +1,90 @@ +# System.IO + +``` diff + namespace System.IO { +- public class BinaryWriter : IDisposable { ++ public class BinaryWriter : IAsyncDisposable, IDisposable { ++ public virtual ValueTask DisposeAsync(); + } + public sealed class BufferedStream : Stream { ++ public override void CopyTo(Stream destination, int bufferSize); ++ public override Task CopyToAsync(Stream destination, int bufferSize, CancellationToken cancellationToken); ++ public override ValueTask DisposeAsync(); ++ public override int Read(Span destination); ++ public override ValueTask ReadAsync(Memory buffer, CancellationToken cancellationToken = default(CancellationToken)); ++ public override void Write(ReadOnlySpan buffer); ++ public override ValueTask WriteAsync(ReadOnlyMemory buffer, CancellationToken cancellationToken = default(CancellationToken)); + } + public static class File { ++ public static void Move(string sourceFileName, string destFileName, bool overwrite); + } + public sealed class FileInfo : FileSystemInfo { ++ public void MoveTo(string destFileName, bool overwrite); + } + public class FileStream : Stream { ++ public override Task CopyToAsync(Stream destination, int bufferSize, CancellationToken cancellationToken); ++ public override ValueTask DisposeAsync(); ++ public override int Read(Span buffer); ++ public override ValueTask ReadAsync(Memory buffer, CancellationToken cancellationToken = default(CancellationToken)); ++ public override void Write(ReadOnlySpan buffer); ++ public override ValueTask WriteAsync(ReadOnlyMemory buffer, CancellationToken cancellationToken = default(CancellationToken)); + } + public abstract class FileSystemInfo : MarshalByRefObject, ISerializable { ++ public override string ToString(); + } + public class FileSystemWatcher : Component, ISupportInitialize { ++ public Collection Filters { get; } + } + public static class Path { ++ public static bool EndsInDirectorySeparator(ReadOnlySpan path); ++ public static bool EndsInDirectorySeparator(string path); ++ public static string Join(ReadOnlySpan path1, ReadOnlySpan path2, ReadOnlySpan path3, ReadOnlySpan path4); ++ public static string Join(string path1, string path2); ++ public static string Join(string path1, string path2, string path3); ++ public static string Join(string path1, string path2, string path3, string path4); ++ public static string Join(params string[] paths); ++ public static ReadOnlySpan TrimEndingDirectorySeparator(ReadOnlySpan path); ++ public static string TrimEndingDirectorySeparator(string path); + } +- public abstract class Stream : MarshalByRefObject, IDisposable { ++ public abstract class Stream : MarshalByRefObject, IAsyncDisposable, IDisposable { ++ public virtual ValueTask DisposeAsync(); + } + public class StreamReader : TextReader { +- public StreamReader(Stream stream, Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize, bool leaveOpen); ++ public StreamReader(Stream stream, Encoding encoding = null, bool detectEncodingFromByteOrderMarks = true, int bufferSize = -1, bool leaveOpen = false); + } + public class StreamWriter : TextWriter { +- public StreamWriter(Stream stream, Encoding encoding, int bufferSize, bool leaveOpen); ++ public StreamWriter(Stream stream, Encoding encoding = null, int bufferSize = -1, bool leaveOpen = false); ++ public override ValueTask DisposeAsync(); ++ public override void Write(string format, object arg0); ++ public override void Write(string format, object arg0, object arg1); ++ public override void Write(string format, object arg0, object arg1, object arg2); ++ public override void Write(string format, params object[] arg); ++ public override void WriteLine(string format, object arg0); ++ public override void WriteLine(string format, object arg0, object arg1); ++ public override void WriteLine(string format, object arg0, object arg1, object arg2); ++ public override void WriteLine(string format, params object[] arg); + } + public class StringWriter : TextWriter { ++ public override void Write(StringBuilder value); ++ public override Task WriteAsync(StringBuilder value, CancellationToken cancellationToken = default(CancellationToken)); ++ public override void WriteLine(StringBuilder value); ++ public override Task WriteLineAsync(StringBuilder value, CancellationToken cancellationToken = default(CancellationToken)); + } +- public abstract class TextWriter : MarshalByRefObject, IDisposable { ++ public abstract class TextWriter : MarshalByRefObject, IAsyncDisposable, IDisposable { ++ public virtual ValueTask DisposeAsync(); ++ public virtual void Write(StringBuilder value); ++ public virtual Task WriteAsync(StringBuilder value, CancellationToken cancellationToken = default(CancellationToken)); ++ public virtual void WriteLine(StringBuilder value); ++ public virtual Task WriteLineAsync(StringBuilder value, CancellationToken cancellationToken = default(CancellationToken)); + } + public class UnmanagedMemoryStream : Stream { ++ public override ValueTask ReadAsync(Memory buffer, CancellationToken cancellationToken = default(CancellationToken)); ++ public override ValueTask WriteAsync(ReadOnlyMemory buffer, CancellationToken cancellationToken = default(CancellationToken)); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Linq.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Linq.md new file mode 100644 index 00000000..068449d1 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Linq.md @@ -0,0 +1,21 @@ +# System.Linq + +``` diff + namespace System.Linq { + public static class Enumerable { ++ public static IEnumerable> Zip(this IEnumerable first, IEnumerable second); + } + public abstract class EnumerableExecutor { +- protected EnumerableExecutor(); + + } + public abstract class EnumerableQuery { +- protected EnumerableQuery(); + + } + public static class Queryable { ++ public static IQueryable> Zip(this IQueryable source1, IEnumerable source2); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.Http.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.Http.md new file mode 100644 index 00000000..41c3b7a3 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.Http.md @@ -0,0 +1,20 @@ +# System.Net.Http + +``` diff + namespace System.Net.Http { + public class HttpClient : HttpMessageInvoker { ++ public static IWebProxy DefaultProxy { get; set; } ++ public Version DefaultRequestVersion { get; set; } + } + public class HttpResponseMessage : IDisposable { ++ public HttpResponseHeaders TrailingHeaders { get; } + } + public class MultipartContent : HttpContent, IEnumerable, IEnumerable { ++ protected override Task CreateContentReadStreamAsync(); + } + public sealed class ReadOnlyMemoryContent : HttpContent { ++ protected override Task CreateContentReadStreamAsync(); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.Security.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.Security.md new file mode 100644 index 00000000..f1b47a51 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.Security.md @@ -0,0 +1,375 @@ +# System.Net.Security + +``` diff + namespace System.Net.Security { + public abstract class AuthenticatedStream : Stream { ++ public override ValueTask DisposeAsync(); + } ++ public sealed class CipherSuitesPolicy { ++ public CipherSuitesPolicy(IEnumerable allowedCipherSuites); ++ public IEnumerable AllowedCipherSuites { get; } ++ } + public class NegotiateStream : AuthenticatedStream { ++ public override ValueTask DisposeAsync(); + } + public class SslClientAuthenticationOptions { ++ public CipherSuitesPolicy CipherSuitesPolicy { get; set; } + } + public class SslServerAuthenticationOptions { ++ public CipherSuitesPolicy CipherSuitesPolicy { get; set; } + } + public class SslStream : AuthenticatedStream { ++ public virtual TlsCipherSuite NegotiatedCipherSuite { get; } +- public Task AuthenticateAsClientAsync(SslClientAuthenticationOptions sslClientAuthenticationOptions, CancellationToken cancellationToken); ++ public Task AuthenticateAsClientAsync(SslClientAuthenticationOptions sslClientAuthenticationOptions, CancellationToken cancellationToken = default(CancellationToken)); +- public Task AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken); ++ public Task AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken = default(CancellationToken)); ++ public override ValueTask DisposeAsync(); ++ public override Task ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken); ++ public override ValueTask ReadAsync(Memory buffer, CancellationToken cancellationToken = default(CancellationToken)); ++ public override int ReadByte(); ++ public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken); ++ public override ValueTask WriteAsync(ReadOnlyMemory buffer, CancellationToken cancellationToken = default(CancellationToken)); + } ++ public enum TlsCipherSuite : ushort { ++ TLS_AES_128_CCM_8_SHA256 = (ushort)4869, ++ TLS_AES_128_CCM_SHA256 = (ushort)4868, ++ TLS_AES_128_GCM_SHA256 = (ushort)4865, ++ TLS_AES_256_GCM_SHA384 = (ushort)4866, ++ TLS_CHACHA20_POLY1305_SHA256 = (ushort)4867, ++ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = (ushort)17, ++ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = (ushort)19, ++ TLS_DHE_DSS_WITH_AES_128_CBC_SHA = (ushort)50, ++ TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = (ushort)64, ++ TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = (ushort)162, ++ TLS_DHE_DSS_WITH_AES_256_CBC_SHA = (ushort)56, ++ TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = (ushort)106, ++ TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = (ushort)163, ++ TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 = (ushort)49218, ++ TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 = (ushort)49238, ++ TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 = (ushort)49219, ++ TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 = (ushort)49239, ++ TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA = (ushort)68, ++ TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 = (ushort)189, ++ TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 = (ushort)49280, ++ TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA = (ushort)135, ++ TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 = (ushort)195, ++ TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 = (ushort)49281, ++ TLS_DHE_DSS_WITH_DES_CBC_SHA = (ushort)18, ++ TLS_DHE_DSS_WITH_SEED_CBC_SHA = (ushort)153, ++ TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA = (ushort)143, ++ TLS_DHE_PSK_WITH_AES_128_CBC_SHA = (ushort)144, ++ TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = (ushort)178, ++ TLS_DHE_PSK_WITH_AES_128_CCM = (ushort)49318, ++ TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = (ushort)170, ++ TLS_DHE_PSK_WITH_AES_256_CBC_SHA = (ushort)145, ++ TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = (ushort)179, ++ TLS_DHE_PSK_WITH_AES_256_CCM = (ushort)49319, ++ TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = (ushort)171, ++ TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 = (ushort)49254, ++ TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 = (ushort)49260, ++ TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 = (ushort)49255, ++ TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 = (ushort)49261, ++ TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = (ushort)49302, ++ TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 = (ushort)49296, ++ TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = (ushort)49303, ++ TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 = (ushort)49297, ++ TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = (ushort)52397, ++ TLS_DHE_PSK_WITH_NULL_SHA = (ushort)45, ++ TLS_DHE_PSK_WITH_NULL_SHA256 = (ushort)180, ++ TLS_DHE_PSK_WITH_NULL_SHA384 = (ushort)181, ++ TLS_DHE_PSK_WITH_RC4_128_SHA = (ushort)142, ++ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = (ushort)20, ++ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = (ushort)22, ++ TLS_DHE_RSA_WITH_AES_128_CBC_SHA = (ushort)51, ++ TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = (ushort)103, ++ TLS_DHE_RSA_WITH_AES_128_CCM = (ushort)49310, ++ TLS_DHE_RSA_WITH_AES_128_CCM_8 = (ushort)49314, ++ TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = (ushort)158, ++ TLS_DHE_RSA_WITH_AES_256_CBC_SHA = (ushort)57, ++ TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = (ushort)107, ++ TLS_DHE_RSA_WITH_AES_256_CCM = (ushort)49311, ++ TLS_DHE_RSA_WITH_AES_256_CCM_8 = (ushort)49315, ++ TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = (ushort)159, ++ TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 = (ushort)49220, ++ TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 = (ushort)49234, ++ TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 = (ushort)49221, ++ TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 = (ushort)49235, ++ TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA = (ushort)69, ++ TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = (ushort)190, ++ TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = (ushort)49276, ++ TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA = (ushort)136, ++ TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 = (ushort)196, ++ TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = (ushort)49277, ++ TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = (ushort)52394, ++ TLS_DHE_RSA_WITH_DES_CBC_SHA = (ushort)21, ++ TLS_DHE_RSA_WITH_SEED_CBC_SHA = (ushort)154, ++ TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA = (ushort)25, ++ TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 = (ushort)23, ++ TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = (ushort)27, ++ TLS_DH_anon_WITH_AES_128_CBC_SHA = (ushort)52, ++ TLS_DH_anon_WITH_AES_128_CBC_SHA256 = (ushort)108, ++ TLS_DH_anon_WITH_AES_128_GCM_SHA256 = (ushort)166, ++ TLS_DH_anon_WITH_AES_256_CBC_SHA = (ushort)58, ++ TLS_DH_anon_WITH_AES_256_CBC_SHA256 = (ushort)109, ++ TLS_DH_anon_WITH_AES_256_GCM_SHA384 = (ushort)167, ++ TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 = (ushort)49222, ++ TLS_DH_anon_WITH_ARIA_128_GCM_SHA256 = (ushort)49242, ++ TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 = (ushort)49223, ++ TLS_DH_anon_WITH_ARIA_256_GCM_SHA384 = (ushort)49243, ++ TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA = (ushort)70, ++ TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 = (ushort)191, ++ TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 = (ushort)49284, ++ TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA = (ushort)137, ++ TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 = (ushort)197, ++ TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 = (ushort)49285, ++ TLS_DH_anon_WITH_DES_CBC_SHA = (ushort)26, ++ TLS_DH_anon_WITH_RC4_128_MD5 = (ushort)24, ++ TLS_DH_anon_WITH_SEED_CBC_SHA = (ushort)155, ++ TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = (ushort)11, ++ TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = (ushort)13, ++ TLS_DH_DSS_WITH_AES_128_CBC_SHA = (ushort)48, ++ TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = (ushort)62, ++ TLS_DH_DSS_WITH_AES_128_GCM_SHA256 = (ushort)164, ++ TLS_DH_DSS_WITH_AES_256_CBC_SHA = (ushort)54, ++ TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = (ushort)104, ++ TLS_DH_DSS_WITH_AES_256_GCM_SHA384 = (ushort)165, ++ TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 = (ushort)49214, ++ TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 = (ushort)49240, ++ TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 = (ushort)49215, ++ TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 = (ushort)49241, ++ TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA = (ushort)66, ++ TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 = (ushort)187, ++ TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 = (ushort)49282, ++ TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA = (ushort)133, ++ TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 = (ushort)193, ++ TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 = (ushort)49283, ++ TLS_DH_DSS_WITH_DES_CBC_SHA = (ushort)12, ++ TLS_DH_DSS_WITH_SEED_CBC_SHA = (ushort)151, ++ TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = (ushort)14, ++ TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = (ushort)16, ++ TLS_DH_RSA_WITH_AES_128_CBC_SHA = (ushort)49, ++ TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = (ushort)63, ++ TLS_DH_RSA_WITH_AES_128_GCM_SHA256 = (ushort)160, ++ TLS_DH_RSA_WITH_AES_256_CBC_SHA = (ushort)55, ++ TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = (ushort)105, ++ TLS_DH_RSA_WITH_AES_256_GCM_SHA384 = (ushort)161, ++ TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 = (ushort)49216, ++ TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 = (ushort)49236, ++ TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 = (ushort)49217, ++ TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 = (ushort)49237, ++ TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA = (ushort)67, ++ TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = (ushort)188, ++ TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = (ushort)49278, ++ TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA = (ushort)134, ++ TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 = (ushort)194, ++ TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = (ushort)49279, ++ TLS_DH_RSA_WITH_DES_CBC_SHA = (ushort)15, ++ TLS_DH_RSA_WITH_SEED_CBC_SHA = (ushort)152, ++ TLS_ECCPWD_WITH_AES_128_CCM_SHA256 = (ushort)49330, ++ TLS_ECCPWD_WITH_AES_128_GCM_SHA256 = (ushort)49328, ++ TLS_ECCPWD_WITH_AES_256_CCM_SHA384 = (ushort)49331, ++ TLS_ECCPWD_WITH_AES_256_GCM_SHA384 = (ushort)49329, ++ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = (ushort)49160, ++ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = (ushort)49161, ++ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = (ushort)49187, ++ TLS_ECDHE_ECDSA_WITH_AES_128_CCM = (ushort)49324, ++ TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 = (ushort)49326, ++ TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = (ushort)49195, ++ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = (ushort)49162, ++ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = (ushort)49188, ++ TLS_ECDHE_ECDSA_WITH_AES_256_CCM = (ushort)49325, ++ TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 = (ushort)49327, ++ TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = (ushort)49196, ++ TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 = (ushort)49224, ++ TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 = (ushort)49244, ++ TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 = (ushort)49225, ++ TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 = (ushort)49245, ++ TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = (ushort)49266, ++ TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = (ushort)49286, ++ TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = (ushort)49267, ++ TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = (ushort)49287, ++ TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = (ushort)52393, ++ TLS_ECDHE_ECDSA_WITH_NULL_SHA = (ushort)49158, ++ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA = (ushort)49159, ++ TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA = (ushort)49204, ++ TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA = (ushort)49205, ++ TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 = (ushort)49207, ++ TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256 = (ushort)53251, ++ TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 = (ushort)53253, ++ TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 = (ushort)53249, ++ TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA = (ushort)49206, ++ TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 = (ushort)49208, ++ TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 = (ushort)53250, ++ TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 = (ushort)49264, ++ TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 = (ushort)49265, ++ TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = (ushort)49306, ++ TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = (ushort)49307, ++ TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = (ushort)52396, ++ TLS_ECDHE_PSK_WITH_NULL_SHA = (ushort)49209, ++ TLS_ECDHE_PSK_WITH_NULL_SHA256 = (ushort)49210, ++ TLS_ECDHE_PSK_WITH_NULL_SHA384 = (ushort)49211, ++ TLS_ECDHE_PSK_WITH_RC4_128_SHA = (ushort)49203, ++ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = (ushort)49170, ++ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = (ushort)49171, ++ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = (ushort)49191, ++ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = (ushort)49199, ++ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = (ushort)49172, ++ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = (ushort)49192, ++ TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = (ushort)49200, ++ TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 = (ushort)49228, ++ TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 = (ushort)49248, ++ TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 = (ushort)49229, ++ TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 = (ushort)49249, ++ TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = (ushort)49270, ++ TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = (ushort)49290, ++ TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 = (ushort)49271, ++ TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = (ushort)49291, ++ TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = (ushort)52392, ++ TLS_ECDHE_RSA_WITH_NULL_SHA = (ushort)49168, ++ TLS_ECDHE_RSA_WITH_RC4_128_SHA = (ushort)49169, ++ TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA = (ushort)49175, ++ TLS_ECDH_anon_WITH_AES_128_CBC_SHA = (ushort)49176, ++ TLS_ECDH_anon_WITH_AES_256_CBC_SHA = (ushort)49177, ++ TLS_ECDH_anon_WITH_NULL_SHA = (ushort)49173, ++ TLS_ECDH_anon_WITH_RC4_128_SHA = (ushort)49174, ++ TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = (ushort)49155, ++ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = (ushort)49156, ++ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 = (ushort)49189, ++ TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 = (ushort)49197, ++ TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = (ushort)49157, ++ TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 = (ushort)49190, ++ TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 = (ushort)49198, ++ TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 = (ushort)49226, ++ TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 = (ushort)49246, ++ TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 = (ushort)49227, ++ TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 = (ushort)49247, ++ TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = (ushort)49268, ++ TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = (ushort)49288, ++ TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = (ushort)49269, ++ TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = (ushort)49289, ++ TLS_ECDH_ECDSA_WITH_NULL_SHA = (ushort)49153, ++ TLS_ECDH_ECDSA_WITH_RC4_128_SHA = (ushort)49154, ++ TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = (ushort)49165, ++ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = (ushort)49166, ++ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 = (ushort)49193, ++ TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 = (ushort)49201, ++ TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = (ushort)49167, ++ TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 = (ushort)49194, ++ TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 = (ushort)49202, ++ TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 = (ushort)49230, ++ TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 = (ushort)49250, ++ TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 = (ushort)49231, ++ TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 = (ushort)49251, ++ TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = (ushort)49272, ++ TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = (ushort)49292, ++ TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 = (ushort)49273, ++ TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = (ushort)49293, ++ TLS_ECDH_RSA_WITH_NULL_SHA = (ushort)49163, ++ TLS_ECDH_RSA_WITH_RC4_128_SHA = (ushort)49164, ++ TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 = (ushort)41, ++ TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA = (ushort)38, ++ TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 = (ushort)42, ++ TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA = (ushort)39, ++ TLS_KRB5_EXPORT_WITH_RC4_40_MD5 = (ushort)43, ++ TLS_KRB5_EXPORT_WITH_RC4_40_SHA = (ushort)40, ++ TLS_KRB5_WITH_3DES_EDE_CBC_MD5 = (ushort)35, ++ TLS_KRB5_WITH_3DES_EDE_CBC_SHA = (ushort)31, ++ TLS_KRB5_WITH_DES_CBC_MD5 = (ushort)34, ++ TLS_KRB5_WITH_DES_CBC_SHA = (ushort)30, ++ TLS_KRB5_WITH_IDEA_CBC_MD5 = (ushort)37, ++ TLS_KRB5_WITH_IDEA_CBC_SHA = (ushort)33, ++ TLS_KRB5_WITH_RC4_128_MD5 = (ushort)36, ++ TLS_KRB5_WITH_RC4_128_SHA = (ushort)32, ++ TLS_NULL_WITH_NULL_NULL = (ushort)0, ++ TLS_PSK_DHE_WITH_AES_128_CCM_8 = (ushort)49322, ++ TLS_PSK_DHE_WITH_AES_256_CCM_8 = (ushort)49323, ++ TLS_PSK_WITH_3DES_EDE_CBC_SHA = (ushort)139, ++ TLS_PSK_WITH_AES_128_CBC_SHA = (ushort)140, ++ TLS_PSK_WITH_AES_128_CBC_SHA256 = (ushort)174, ++ TLS_PSK_WITH_AES_128_CCM = (ushort)49316, ++ TLS_PSK_WITH_AES_128_CCM_8 = (ushort)49320, ++ TLS_PSK_WITH_AES_128_GCM_SHA256 = (ushort)168, ++ TLS_PSK_WITH_AES_256_CBC_SHA = (ushort)141, ++ TLS_PSK_WITH_AES_256_CBC_SHA384 = (ushort)175, ++ TLS_PSK_WITH_AES_256_CCM = (ushort)49317, ++ TLS_PSK_WITH_AES_256_CCM_8 = (ushort)49321, ++ TLS_PSK_WITH_AES_256_GCM_SHA384 = (ushort)169, ++ TLS_PSK_WITH_ARIA_128_CBC_SHA256 = (ushort)49252, ++ TLS_PSK_WITH_ARIA_128_GCM_SHA256 = (ushort)49258, ++ TLS_PSK_WITH_ARIA_256_CBC_SHA384 = (ushort)49253, ++ TLS_PSK_WITH_ARIA_256_GCM_SHA384 = (ushort)49259, ++ TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 = (ushort)49300, ++ TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 = (ushort)49294, ++ TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 = (ushort)49301, ++ TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 = (ushort)49295, ++ TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 = (ushort)52395, ++ TLS_PSK_WITH_NULL_SHA = (ushort)44, ++ TLS_PSK_WITH_NULL_SHA256 = (ushort)176, ++ TLS_PSK_WITH_NULL_SHA384 = (ushort)177, ++ TLS_PSK_WITH_RC4_128_SHA = (ushort)138, ++ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = (ushort)8, ++ TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = (ushort)6, ++ TLS_RSA_EXPORT_WITH_RC4_40_MD5 = (ushort)3, ++ TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA = (ushort)147, ++ TLS_RSA_PSK_WITH_AES_128_CBC_SHA = (ushort)148, ++ TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = (ushort)182, ++ TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = (ushort)172, ++ TLS_RSA_PSK_WITH_AES_256_CBC_SHA = (ushort)149, ++ TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = (ushort)183, ++ TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = (ushort)173, ++ TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 = (ushort)49256, ++ TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 = (ushort)49262, ++ TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 = (ushort)49257, ++ TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 = (ushort)49263, ++ TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 = (ushort)49304, ++ TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 = (ushort)49298, ++ TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 = (ushort)49305, ++ TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 = (ushort)49299, ++ TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 = (ushort)52398, ++ TLS_RSA_PSK_WITH_NULL_SHA = (ushort)46, ++ TLS_RSA_PSK_WITH_NULL_SHA256 = (ushort)184, ++ TLS_RSA_PSK_WITH_NULL_SHA384 = (ushort)185, ++ TLS_RSA_PSK_WITH_RC4_128_SHA = (ushort)146, ++ TLS_RSA_WITH_3DES_EDE_CBC_SHA = (ushort)10, ++ TLS_RSA_WITH_AES_128_CBC_SHA = (ushort)47, ++ TLS_RSA_WITH_AES_128_CBC_SHA256 = (ushort)60, ++ TLS_RSA_WITH_AES_128_CCM = (ushort)49308, ++ TLS_RSA_WITH_AES_128_CCM_8 = (ushort)49312, ++ TLS_RSA_WITH_AES_128_GCM_SHA256 = (ushort)156, ++ TLS_RSA_WITH_AES_256_CBC_SHA = (ushort)53, ++ TLS_RSA_WITH_AES_256_CBC_SHA256 = (ushort)61, ++ TLS_RSA_WITH_AES_256_CCM = (ushort)49309, ++ TLS_RSA_WITH_AES_256_CCM_8 = (ushort)49313, ++ TLS_RSA_WITH_AES_256_GCM_SHA384 = (ushort)157, ++ TLS_RSA_WITH_ARIA_128_CBC_SHA256 = (ushort)49212, ++ TLS_RSA_WITH_ARIA_128_GCM_SHA256 = (ushort)49232, ++ TLS_RSA_WITH_ARIA_256_CBC_SHA384 = (ushort)49213, ++ TLS_RSA_WITH_ARIA_256_GCM_SHA384 = (ushort)49233, ++ TLS_RSA_WITH_CAMELLIA_128_CBC_SHA = (ushort)65, ++ TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 = (ushort)186, ++ TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 = (ushort)49274, ++ TLS_RSA_WITH_CAMELLIA_256_CBC_SHA = (ushort)132, ++ TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 = (ushort)192, ++ TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 = (ushort)49275, ++ TLS_RSA_WITH_DES_CBC_SHA = (ushort)9, ++ TLS_RSA_WITH_IDEA_CBC_SHA = (ushort)7, ++ TLS_RSA_WITH_NULL_MD5 = (ushort)1, ++ TLS_RSA_WITH_NULL_SHA = (ushort)2, ++ TLS_RSA_WITH_NULL_SHA256 = (ushort)59, ++ TLS_RSA_WITH_RC4_128_MD5 = (ushort)4, ++ TLS_RSA_WITH_RC4_128_SHA = (ushort)5, ++ TLS_RSA_WITH_SEED_CBC_SHA = (ushort)150, ++ TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA = (ushort)49180, ++ TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA = (ushort)49183, ++ TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA = (ushort)49186, ++ TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA = (ushort)49179, ++ TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA = (ushort)49182, ++ TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA = (ushort)49185, ++ TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA = (ushort)49178, ++ TLS_SRP_SHA_WITH_AES_128_CBC_SHA = (ushort)49181, ++ TLS_SRP_SHA_WITH_AES_256_CBC_SHA = (ushort)49184, ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.Sockets.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.Sockets.md new file mode 100644 index 00000000..11865a14 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.Sockets.md @@ -0,0 +1,44 @@ +# System.Net.Sockets + +``` diff + namespace System.Net.Sockets { + public enum AddressFamily { ++ ControllerAreaNetwork = 65537, ++ Packet = 65536, + } + public class NetworkStream : Stream { ++ public override int Read(Span buffer); ++ public override ValueTask ReadAsync(Memory buffer, CancellationToken cancellationToken = default(CancellationToken)); ++ public override int ReadByte(); ++ public override void Write(ReadOnlySpan buffer); ++ public override ValueTask WriteAsync(ReadOnlyMemory buffer, CancellationToken cancellationToken = default(CancellationToken)); ++ public override void WriteByte(byte value); + } + public enum ProtocolFamily { ++ ControllerAreaNetwork = 65537, ++ Packet = 65536, + } ++ public sealed class SafeSocketHandle : SafeHandleMinusOneIsInvalid { ++ public SafeSocketHandle(IntPtr preexistingHandle, bool ownsHandle); ++ protected override bool ReleaseHandle(); ++ } + public class SendPacketsElement { ++ public SendPacketsElement(FileStream fileStream); ++ public SendPacketsElement(FileStream fileStream, long offset, int count); ++ public SendPacketsElement(FileStream fileStream, long offset, int count, bool endOfPacket); ++ public SendPacketsElement(string filepath, long offset, int count); ++ public SendPacketsElement(string filepath, long offset, int count, bool endOfPacket); ++ public FileStream FileStream { get; } ++ public long OffsetLong { get; } + } + public class Socket : IDisposable { ++ public SafeSocketHandle SafeHandle { get; } + } + public enum SocketOptionName { ++ TcpKeepAliveInterval = 17, ++ TcpKeepAliveRetryCount = 16, ++ TcpKeepAliveTime = 3, + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.WebSockets.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.WebSockets.md new file mode 100644 index 00000000..1fdf0987 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.WebSockets.md @@ -0,0 +1,11 @@ +# System.Net.WebSockets + +``` diff + namespace System.Net.WebSockets { + public sealed class ClientWebSocket : WebSocket { ++ public override ValueTask ReceiveAsync(Memory buffer, CancellationToken cancellationToken); ++ public override ValueTask SendAsync(ReadOnlyMemory buffer, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.md new file mode 100644 index 00000000..a5641d0d --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Net.md @@ -0,0 +1,31 @@ +# System.Net + +``` diff + namespace System.Net { +- public class CookieCollection : ICollection, IEnumerable { ++ public class CookieCollection : ICollection, ICollection, IEnumerable, IEnumerable, IReadOnlyCollection { ++ public void Clear(); ++ public bool Contains(Cookie cookie); ++ public bool Remove(Cookie cookie); ++ IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator(); + } + public enum DecompressionMethods { ++ All = -1, ++ Brotli = 4, + } + public class FileWebRequest : WebRequest, ISerializable { ++ public override Task GetRequestStreamAsync(); ++ public override Task GetResponseAsync(); + } + public class IPEndPoint : EndPoint { ++ public static IPEndPoint Parse(ReadOnlySpan s); ++ public static IPEndPoint Parse(string s); ++ public static bool TryParse(ReadOnlySpan s, out IPEndPoint result); ++ public static bool TryParse(string s, out IPEndPoint result); + } + public enum SecurityProtocolType { ++ Tls13 = 12288, + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Numerics.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Numerics.md new file mode 100644 index 00000000..fc461802 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Numerics.md @@ -0,0 +1,54 @@ +# System.Numerics + +``` diff + namespace System.Numerics { ++ public static class BitOperations { ++ public static int LeadingZeroCount(uint value); ++ public static int LeadingZeroCount(ulong value); ++ public static int Log2(uint value); ++ public static int Log2(ulong value); ++ public static int PopCount(uint value); ++ public static int PopCount(ulong value); ++ public static uint RotateLeft(uint value, int offset); ++ public static ulong RotateLeft(ulong value, int offset); ++ public static uint RotateRight(uint value, int offset); ++ public static ulong RotateRight(ulong value, int offset); ++ public static int TrailingZeroCount(int value); ++ public static int TrailingZeroCount(long value); ++ public static int TrailingZeroCount(uint value); ++ public static int TrailingZeroCount(ulong value); ++ } + public struct Complex : IEquatable, IFormattable { ++ public static readonly Complex Infinity; ++ public static readonly Complex NaN; ++ public static Complex Add(double left, Complex right); ++ public static Complex Add(Complex left, double right); ++ public static Complex Divide(double dividend, Complex divisor); ++ public static Complex Divide(Complex dividend, double divisor); ++ public static bool IsFinite(Complex value); ++ public static bool IsInfinity(Complex value); ++ public static bool IsNaN(Complex value); ++ public static Complex Multiply(double left, Complex right); ++ public static Complex Multiply(Complex left, double right); ++ public static Complex operator +(double left, Complex right); ++ public static Complex operator +(Complex left, double right); ++ public static Complex operator /(double left, Complex right); ++ public static Complex operator /(Complex left, double right); ++ public static Complex operator *(double left, Complex right); ++ public static Complex operator *(Complex left, double right); ++ public static Complex operator -(double left, Complex right); ++ public static Complex operator -(Complex left, double right); ++ public static Complex Subtract(double left, Complex right); ++ public static Complex Subtract(Complex left, double right); + } + public struct Vector : IEquatable>, IFormattable where T : struct { ++ public Vector(ReadOnlySpan values); ++ public Vector(ReadOnlySpan values); ++ public void CopyTo(Span destination); ++ public void CopyTo(Span destination); ++ public bool TryCopyTo(Span destination); ++ public bool TryCopyTo(Span destination); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Reflection.Emit.md b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Reflection.Emit.md new file mode 100644 index 00000000..b6dc4d5b --- /dev/null +++ b/release-notes/3.0/preview/api-diff/3.0 vs 2.2/3.0.0_System.Reflection.Emit.md @@ -0,0 +1,101 @@ +# System.Reflection.Emit + +``` diff + namespace System.Reflection.Emit { + public sealed class AssemblyBuilder : Assembly { ++ public override string CodeBase { get; } ++ public override MethodInfo EntryPoint { get; } ++ public override bool GlobalAssemblyCache { get; } ++ public override long HostContext { get; } ++ public override string ImageRuntimeVersion { get; } ++ public override string Location { get; } ++ public override bool ReflectionOnly { get; } ++ public override object[] GetCustomAttributes(bool inherit); ++ public override object[] GetCustomAttributes(Type attributeType, bool inherit); ++ public override IList GetCustomAttributesData(); ++ public override Type[] GetExportedTypes(); ++ public override FileStream GetFile(string name); ++ public override FileStream[] GetFiles(bool getResourceModules); ++ public override Module[] GetLoadedModules(bool getResourceModules); ++ public override Stream GetManifestResourceStream(Type type, string name); ++ public override Module GetModule(string name); ++ public override Module[] GetModules(bool getResourceModules); ++ public override AssemblyName GetName(bool copiedName); ++ public override AssemblyName[] GetReferencedAssemblies(); ++ public override Assembly GetSatelliteAssembly(CultureInfo culture); ++ public override Assembly GetSatelliteAssembly(CultureInfo culture, Version version); ++ public override Type GetType(string name, bool throwOnError, bool ignoreCase); ++ public override bool IsDefined(Type attributeType, bool inherit); + } ++ public sealed class DynamicILInfo { ++ public DynamicMethod DynamicMethod { get; } ++ public int GetTokenFor(byte[] signature); ++ public int GetTokenFor(DynamicMethod method); ++ public int GetTokenFor(RuntimeFieldHandle field); ++ public int GetTokenFor(RuntimeFieldHandle field, RuntimeTypeHandle contextType); ++ public int GetTokenFor(RuntimeMethodHandle method); ++ public int GetTokenFor(RuntimeMethodHandle method, RuntimeTypeHandle contextType); ++ public int GetTokenFor(RuntimeTypeHandle type); ++ public int GetTokenFor(string literal); ++ public unsafe void SetCode(byte* code, int codeSize, int maxStackSize); ++ public void SetCode(byte[] code, int maxStackSize); ++ public unsafe void SetExceptions(byte* exceptions, int exceptionsSize); ++ public void SetExceptions(byte[] exceptions); ++ public unsafe void SetLocalSignature(byte* localSignature, int signatureSize); ++ public void SetLocalSignature(byte[] localSignature); ++ } + public sealed class DynamicMethod : MethodInfo { ++ public override bool IsSecurityCritical { get; } ++ public override bool IsSecuritySafeCritical { get; } ++ public override bool IsSecurityTransparent { get; } ++ public override Module Module { get; } ++ public ParameterBuilder DefineParameter(int position, ParameterAttributes attributes, string parameterName); ++ public DynamicILInfo GetDynamicILInfo(); + } + public sealed class FieldBuilder : FieldInfo { ++ public override Module Module { get; } + } +- public struct Label ++ public readonly struct Label : IEquatable