From a789ba4db158b1c9c350e4b1d32f9727074e8ef8 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Tue, 16 Dec 2025 20:16:24 +0100 Subject: [PATCH 01/54] add changes to make compilable for hk 1.5.12301 --- Assembly-CSharp/Assembly-CSharp.csproj | 47 ++----------------- Assembly-CSharp/Menu/MenuUtils.cs | 2 +- Assembly-CSharp/Mod.cs | 1 + Assembly-CSharp/ModHooks.cs | 12 ++--- Assembly-CSharp/ModListMenu.cs | 2 +- Assembly-CSharp/Patches/GameManager.cs | 1 + Assembly-CSharp/Patches/HeroController.cs | 3 +- Assembly-CSharp/Patches/Language.cs | 55 ++++++++++++----------- 8 files changed, 45 insertions(+), 78 deletions(-) diff --git a/Assembly-CSharp/Assembly-CSharp.csproj b/Assembly-CSharp/Assembly-CSharp.csproj index 337c16c9..d9493277 100644 --- a/Assembly-CSharp/Assembly-CSharp.csproj +++ b/Assembly-CSharp/Assembly-CSharp.csproj @@ -148,7 +148,7 @@ ..\override\mscorlib.dll - + ../Vanilla/netstandard.dll @@ -158,47 +158,8 @@ ../Vanilla/PlayMaker.dll False - - ../Vanilla/UnityEngine.dll - - - ../Vanilla/UnityEngine.AnimationModule.dll - - - ../Vanilla/UnityEngine.AssetBundleModule.dll - - - ../Vanilla/UnityEngine.AudioModule.dll - - - ../Vanilla/UnityEngine.CoreModule.dll - - - ../Vanilla/UnityEngine.ImageConversionModule.dll - - - ../Vanilla/UnityEngine.IMGUIModule.dll - - - ../Vanilla/UnityEngine.InputLegacyModule.dll - - - ../Vanilla/UnityEngine.JSONSerializeModule.dll - - - ../Vanilla/UnityEngine.ParticleSystemModule.dll - - - ../Vanilla/UnityEngine.Physics2DModule.dll - - - ../Vanilla/UnityEngine.TextRenderingModule.dll - - - ../Vanilla/UnityEngine.UI.dll - - - ../Vanilla/UnityEngine.UIModule.dll - + + + diff --git a/Assembly-CSharp/Menu/MenuUtils.cs b/Assembly-CSharp/Menu/MenuUtils.cs index af0a1de8..0bd47d9a 100644 --- a/Assembly-CSharp/Menu/MenuUtils.cs +++ b/Assembly-CSharp/Menu/MenuUtils.cs @@ -8,7 +8,7 @@ using UnityEngine; using UnityEngine.UI; using Patch = Modding.Patches; -using Lang = Language.Language; +using Lang = TeamCherry.Localization.Language; namespace Modding.Menu diff --git a/Assembly-CSharp/Mod.cs b/Assembly-CSharp/Mod.cs index 3e476940..c64f4abf 100644 --- a/Assembly-CSharp/Mod.cs +++ b/Assembly-CSharp/Mod.cs @@ -10,6 +10,7 @@ using MonoMod.Utils; using System.Linq; using Newtonsoft.Json.Linq; +using Language = TeamCherry.Localization; // ReSharper disable file UnusedMember.Global diff --git a/Assembly-CSharp/ModHooks.cs b/Assembly-CSharp/ModHooks.cs index 1ba7815f..1364fc68 100644 --- a/Assembly-CSharp/ModHooks.cs +++ b/Assembly-CSharp/ModHooks.cs @@ -61,10 +61,10 @@ static ModHooks() { string[] versionNums = Constants.GAME_VERSION.Split('.'); - gameVersion.major = Convert.ToInt32(versionNums[0]); - gameVersion.minor = Convert.ToInt32(versionNums[1]); - gameVersion.revision = Convert.ToInt32(versionNums[2]); - gameVersion.package = Convert.ToInt32(versionNums[3]); + gameVersion.major = versionNums.Length > 0 ? Convert.ToInt32(versionNums[0]) : 0; + gameVersion.minor = versionNums.Length > 1 ? Convert.ToInt32(versionNums[1]) : 0; + gameVersion.revision = versionNums.Length > 2 ? Convert.ToInt32(versionNums[2]) : 0; + gameVersion.package = versionNums.Length > 3 ? Convert.ToInt32(versionNums[3]) : 0; } catch (Exception e) { @@ -225,7 +225,9 @@ internal static void LogConsole(string message, LogLevel level) /// N/A internal static string LanguageGet(string key, string sheet) { - string res = Patches.Language.GetInternal(key, sheet); + // todo: fixme: yea i think you know what would need fixing + // string res = Patches.Language.GetInternal(key, sheet); + string res = TeamCherry.Localization.Language.Get(key, sheet); if (LanguageGetHook == null) return res; diff --git a/Assembly-CSharp/ModListMenu.cs b/Assembly-CSharp/ModListMenu.cs index fec0f388..0a7b6082 100644 --- a/Assembly-CSharp/ModListMenu.cs +++ b/Assembly-CSharp/ModListMenu.cs @@ -6,7 +6,7 @@ using UnityEngine.UI; using static Modding.ModLoader; using Patch = Modding.Patches; -using Lang = Language.Language; +using Lang = TeamCherry.Localization.Language; namespace Modding { diff --git a/Assembly-CSharp/Patches/GameManager.cs b/Assembly-CSharp/Patches/GameManager.cs index 9510c2d5..90e6d013 100644 --- a/Assembly-CSharp/Patches/GameManager.cs +++ b/Assembly-CSharp/Patches/GameManager.cs @@ -8,6 +8,7 @@ using Newtonsoft.Json; using UnityEngine; using UnityEngine.SceneManagement; +using Encryption = TeamCherry.SharedUtils.Encryption; // ReSharper disable all #pragma warning disable 1591, 649, 414, 169, CS0108, CS0626 diff --git a/Assembly-CSharp/Patches/HeroController.cs b/Assembly-CSharp/Patches/HeroController.cs index 8d9bee86..cf98aec6 100644 --- a/Assembly-CSharp/Patches/HeroController.cs +++ b/Assembly-CSharp/Patches/HeroController.cs @@ -528,6 +528,7 @@ private void LookForQueueInput() [MonoModIgnore] public event HeroController.TakeDamageEvent OnTakenDamage; + // todo: fixme: this had changes in the method, check if more shit changed [MonoModReplace] public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount, int hazardType) { @@ -667,7 +668,7 @@ public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount if (this.cState.wallSliding) { this.cState.wallSliding = false; - this.wallSlideVibrationPlayer.Stop(); + this.vibrationCtrl.StopWallSlide(); } if (this.cState.touchingWall) diff --git a/Assembly-CSharp/Patches/Language.cs b/Assembly-CSharp/Patches/Language.cs index 5fbd34c2..093f62b9 100644 --- a/Assembly-CSharp/Patches/Language.cs +++ b/Assembly-CSharp/Patches/Language.cs @@ -7,31 +7,32 @@ namespace Modding.Patches { - [MonoModPatch("global::Language.Language")] - public static class Language - { - [MonoModIgnore] - private static Dictionary> currentEntrySheets; - - public static string GetInternal(string key, string sheetTitle) - { - if (currentEntrySheets == null || !currentEntrySheets.ContainsKey(sheetTitle)) - { - Debug.LogError($"The sheet with title \"{sheetTitle}\" does not exist!"); - return string.Empty; - } - - if (currentEntrySheets[sheetTitle].ContainsKey(key)) - { - return currentEntrySheets[sheetTitle][key]; - } - - return "#!#" + key + "#!#"; - } - - public static string Get(string key, string sheetTitle) - { - return ModHooks.LanguageGet(key, sheetTitle); - } - } + // todo: fixme: yea i think you know what would need fixing +// [MonoModPatch("global::Language.Language")] +// public static class Language +// { +// [MonoModIgnore] +// private static Dictionary> currentEntrySheets; +// +// public static string GetInternal(string key, string sheetTitle) +// { +// if (currentEntrySheets == null || !currentEntrySheets.ContainsKey(sheetTitle)) +// { +// Debug.LogError($"The sheet with title \"{sheetTitle}\" does not exist!"); +// return string.Empty; +// } +// +// if (currentEntrySheets[sheetTitle].ContainsKey(key)) +// { +// return currentEntrySheets[sheetTitle][key]; +// } +// +// return "#!#" + key + "#!#"; +// } +// +// public static string Get(string key, string sheetTitle) +// { +// return ModHooks.LanguageGet(key, sheetTitle); +// } +// } } \ No newline at end of file From ad0ffab370efc022b69ebdc1b49fcbb68816e40b Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Tue, 16 Dec 2025 20:35:55 +0100 Subject: [PATCH 02/54] it wasn't public, it was private --- Assembly-CSharp/Patches/HeroController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assembly-CSharp/Patches/HeroController.cs b/Assembly-CSharp/Patches/HeroController.cs index cf98aec6..2ad6fffe 100644 --- a/Assembly-CSharp/Patches/HeroController.cs +++ b/Assembly-CSharp/Patches/HeroController.cs @@ -668,7 +668,7 @@ public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount if (this.cState.wallSliding) { this.cState.wallSliding = false; - this.vibrationCtrl.StopWallSlide(); + ReflectionHelper.GetField("vibrationCtrl").StopWallSlide(); } if (this.cState.touchingWall) From bad9b709332acd10f980fe626af145e85668a9ba Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Tue, 16 Dec 2025 22:05:39 +0100 Subject: [PATCH 03/54] do fancy private stuff --- Assembly-CSharp/Patches/HeroController.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Assembly-CSharp/Patches/HeroController.cs b/Assembly-CSharp/Patches/HeroController.cs index 2ad6fffe..c4926810 100644 --- a/Assembly-CSharp/Patches/HeroController.cs +++ b/Assembly-CSharp/Patches/HeroController.cs @@ -528,6 +528,9 @@ private void LookForQueueInput() [MonoModIgnore] public event HeroController.TakeDamageEvent OnTakenDamage; + [MonoModIgnore] + private HeroVibrationController vibrationCtrl; + // todo: fixme: this had changes in the method, check if more shit changed [MonoModReplace] public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount, int hazardType) @@ -668,7 +671,7 @@ public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount if (this.cState.wallSliding) { this.cState.wallSliding = false; - ReflectionHelper.GetField("vibrationCtrl").StopWallSlide(); + this.vibrationCtrl.StopWallSlide(); } if (this.cState.touchingWall) From dcfaa9f4e8ebcbc2737d928421a684eb49642d24 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Wed, 17 Dec 2025 01:55:53 +0100 Subject: [PATCH 04/54] language doesn't need to get patched if it doesn't exist in the first place, so it can just be created - no clue what to do with `Language.Language.Get(key)` though --- Assembly-CSharp/Language/Language.cs | 33 ++++++++++++++++++++++++ Assembly-CSharp/Menu/MenuUtils.cs | 2 +- Assembly-CSharp/Mod.cs | 1 - Assembly-CSharp/ModHooks.cs | 4 +-- Assembly-CSharp/ModListMenu.cs | 2 +- Assembly-CSharp/Patches/Language.cs | 38 ---------------------------- 6 files changed, 36 insertions(+), 44 deletions(-) create mode 100644 Assembly-CSharp/Language/Language.cs delete mode 100644 Assembly-CSharp/Patches/Language.cs diff --git a/Assembly-CSharp/Language/Language.cs b/Assembly-CSharp/Language/Language.cs new file mode 100644 index 00000000..763b59cd --- /dev/null +++ b/Assembly-CSharp/Language/Language.cs @@ -0,0 +1,33 @@ +using System.Collections.Generic; +using Modding; +using TeamCherry.Localization; +using UnityEngine; +using UObject = UnityEngine.Object; +using TLLanguage = TeamCherry.Localization.Language; + +namespace Language; + +public static class Language +{ + public static void LoadLanguage() => TLLanguage.LoadLanguage(); + public static void LoadAvailableLanguages() => TLLanguage.LoadAvailableLanguages(); + public static string[] GetLanguages() => TLLanguage.GetLanguages(); + public static bool SwitchLanguage(string langCode) => TLLanguage.SwitchLanguage(langCode); + public static bool SwitchLanguage(LanguageCode code) => TLLanguage.SwitchLanguage(code); + public static UObject GetAsset(string name) => TLLanguage.GetAsset(name); + public static LanguageCode CurrentLanguage() => TLLanguage.CurrentLanguage(); + public static string Get(string key) => TLLanguage.Get(key); + //public static string Get(string key, string sheetTitle) => TLLanguage.Get(key, sheetTitle); + public static IEnumerable GetSheets() => TLLanguage.GetSheets(); + public static IEnumerable GetKeys(string sheetTitle) => TLLanguage.GetKeys(sheetTitle); + public static bool Has(string key) => TLLanguage.Has(key); + public static bool Has(string key, string sheet) => TLLanguage.Has(key, sheet); + public static bool HasSheet(string sheet) => TLLanguage.HasSheet(sheet); + public static LanguageCode LanguageNameToCode(SystemLanguage name) => TLLanguage.LanguageNameToCode(name); + + public static string GetInternal(string key, string sheetTitle) => TLLanguage.Get(key, sheetTitle); + public static string Get(string key, string sheetTitle) + { + return ModHooks.LanguageGet(key, sheetTitle); + } +} diff --git a/Assembly-CSharp/Menu/MenuUtils.cs b/Assembly-CSharp/Menu/MenuUtils.cs index 0bd47d9a..af0a1de8 100644 --- a/Assembly-CSharp/Menu/MenuUtils.cs +++ b/Assembly-CSharp/Menu/MenuUtils.cs @@ -8,7 +8,7 @@ using UnityEngine; using UnityEngine.UI; using Patch = Modding.Patches; -using Lang = TeamCherry.Localization.Language; +using Lang = Language.Language; namespace Modding.Menu diff --git a/Assembly-CSharp/Mod.cs b/Assembly-CSharp/Mod.cs index c64f4abf..3e476940 100644 --- a/Assembly-CSharp/Mod.cs +++ b/Assembly-CSharp/Mod.cs @@ -10,7 +10,6 @@ using MonoMod.Utils; using System.Linq; using Newtonsoft.Json.Linq; -using Language = TeamCherry.Localization; // ReSharper disable file UnusedMember.Global diff --git a/Assembly-CSharp/ModHooks.cs b/Assembly-CSharp/ModHooks.cs index 1364fc68..0ea986d3 100644 --- a/Assembly-CSharp/ModHooks.cs +++ b/Assembly-CSharp/ModHooks.cs @@ -225,9 +225,7 @@ internal static void LogConsole(string message, LogLevel level) /// N/A internal static string LanguageGet(string key, string sheet) { - // todo: fixme: yea i think you know what would need fixing - // string res = Patches.Language.GetInternal(key, sheet); - string res = TeamCherry.Localization.Language.Get(key, sheet); + string res = Language.Language.GetInternal(key, sheet); if (LanguageGetHook == null) return res; diff --git a/Assembly-CSharp/ModListMenu.cs b/Assembly-CSharp/ModListMenu.cs index 0a7b6082..fec0f388 100644 --- a/Assembly-CSharp/ModListMenu.cs +++ b/Assembly-CSharp/ModListMenu.cs @@ -6,7 +6,7 @@ using UnityEngine.UI; using static Modding.ModLoader; using Patch = Modding.Patches; -using Lang = TeamCherry.Localization.Language; +using Lang = Language.Language; namespace Modding { diff --git a/Assembly-CSharp/Patches/Language.cs b/Assembly-CSharp/Patches/Language.cs deleted file mode 100644 index 093f62b9..00000000 --- a/Assembly-CSharp/Patches/Language.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System.Collections.Generic; -using MonoMod; -using UnityEngine; - -// ReSharper disable All -#pragma warning disable 1591, CS0649 - -namespace Modding.Patches -{ - // todo: fixme: yea i think you know what would need fixing -// [MonoModPatch("global::Language.Language")] -// public static class Language -// { -// [MonoModIgnore] -// private static Dictionary> currentEntrySheets; -// -// public static string GetInternal(string key, string sheetTitle) -// { -// if (currentEntrySheets == null || !currentEntrySheets.ContainsKey(sheetTitle)) -// { -// Debug.LogError($"The sheet with title \"{sheetTitle}\" does not exist!"); -// return string.Empty; -// } -// -// if (currentEntrySheets[sheetTitle].ContainsKey(key)) -// { -// return currentEntrySheets[sheetTitle][key]; -// } -// -// return "#!#" + key + "#!#"; -// } -// -// public static string Get(string key, string sheetTitle) -// { -// return ModHooks.LanguageGet(key, sheetTitle); -// } -// } -} \ No newline at end of file From e4e10bc77adb57fcb5d8b5c647cb7692e120d111 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Thu, 18 Dec 2025 18:35:05 +0100 Subject: [PATCH 05/54] use `MonoMod.MonoModLinkFrom` - but that requires all `TeamCherry.Localization.Language` to be done dynamically, via strings, as *all* references to it are replaced, even ones manually written here --- Assembly-CSharp/Language/Language.cs | 95 +++++++++++++++++++++------- 1 file changed, 71 insertions(+), 24 deletions(-) diff --git a/Assembly-CSharp/Language/Language.cs b/Assembly-CSharp/Language/Language.cs index 763b59cd..00f8bdc1 100644 --- a/Assembly-CSharp/Language/Language.cs +++ b/Assembly-CSharp/Language/Language.cs @@ -1,33 +1,80 @@ +using System; using System.Collections.Generic; -using Modding; -using TeamCherry.Localization; -using UnityEngine; +using System.Reflection; using UObject = UnityEngine.Object; -using TLLanguage = TeamCherry.Localization.Language; +using USystemLanguage = UnityEngine.SystemLanguage; namespace Language; +// for backwards compatibility +[MonoMod.MonoModLinkFrom("TeamCherry.Localization.Language")] public static class Language { - public static void LoadLanguage() => TLLanguage.LoadLanguage(); - public static void LoadAvailableLanguages() => TLLanguage.LoadAvailableLanguages(); - public static string[] GetLanguages() => TLLanguage.GetLanguages(); - public static bool SwitchLanguage(string langCode) => TLLanguage.SwitchLanguage(langCode); - public static bool SwitchLanguage(LanguageCode code) => TLLanguage.SwitchLanguage(code); - public static UObject GetAsset(string name) => TLLanguage.GetAsset(name); - public static LanguageCode CurrentLanguage() => TLLanguage.CurrentLanguage(); - public static string Get(string key) => TLLanguage.Get(key); - //public static string Get(string key, string sheetTitle) => TLLanguage.Get(key, sheetTitle); - public static IEnumerable GetSheets() => TLLanguage.GetSheets(); - public static IEnumerable GetKeys(string sheetTitle) => TLLanguage.GetKeys(sheetTitle); - public static bool Has(string key) => TLLanguage.Has(key); - public static bool Has(string key, string sheet) => TLLanguage.Has(key, sheet); - public static bool HasSheet(string sheet) => TLLanguage.HasSheet(sheet); - public static LanguageCode LanguageNameToCode(SystemLanguage name) => TLLanguage.LanguageNameToCode(name); - - public static string GetInternal(string key, string sheetTitle) => TLLanguage.Get(key, sheetTitle); - public static string Get(string key, string sheetTitle) + static Language() { - return ModHooks.LanguageGet(key, sheetTitle); + TllType = Type.GetType("TeamCherry.Localization.Language, TeamCherry.Localization, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"); + TllLoadLanguage = TllType.GetMethod("LoadLanguage", BindingFlags.Public | BindingFlags.Static, null, Array.Empty(), Array.Empty()); + TllLoadAvailableLanguages = TllType.GetMethod("LoadAvailableLanguages", BindingFlags.Public | BindingFlags.Static, null, Array.Empty(), Array.Empty()); + TllGetLanguages = TllType.GetMethod("GetLanguages", BindingFlags.Public | BindingFlags.Static, null, Array.Empty(), Array.Empty()); + TllSwitchLanguageStr = TllType.GetMethod("SwitchLanguage", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string) }, Array.Empty()); + TllSwitchLanguageLc = TllType.GetMethod("SwitchLanguage", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(TeamCherry.Localization.LanguageCode) }, Array.Empty()); + TllGetAsset = TllType.GetMethod("GetAsset", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string) }, Array.Empty()); + TllCurrentLanguage = TllType.GetMethod("CurrentLanguage", BindingFlags.Public | BindingFlags.Static, null, Array.Empty(), Array.Empty()); + TllGet1 = TllType.GetMethod("Get", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string) }, Array.Empty()); + TllGetSheets = TllType.GetMethod("GetSheets", BindingFlags.Public | BindingFlags.Static, null, Array.Empty(), Array.Empty()); + TllGetKeys = TllType.GetMethod("GetKeys", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string) }, Array.Empty()); + TllHas1 = TllType.GetMethod("Has", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string) }, Array.Empty()); + TllHas2 = TllType.GetMethod("Has", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string), typeof(string) }, Array.Empty()); + TllHasSheet = TllType.GetMethod("HasSheet", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string) }, Array.Empty()); + TllLanguageNameToCode = TllType.GetMethod("LanguageNameToCode", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(USystemLanguage) }, Array.Empty()); + TllGet2 = TllType.GetMethod("Get", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string), typeof(string) }, Array.Empty()); } -} + private static readonly Type TllType; + + private static readonly MethodInfo TllLoadLanguage; + public static void LoadLanguage() => TllLoadLanguage.Invoke(null, Array.Empty()); + + private static readonly MethodInfo TllLoadAvailableLanguages; + public static void LoadAvailableLanguages() => TllLoadAvailableLanguages.Invoke(null, Array.Empty()); + + private static readonly MethodInfo TllGetLanguages; + public static string[] GetLanguages() => (string[])(TllGetLanguages.Invoke(null, Array.Empty())); + + private static readonly MethodInfo TllSwitchLanguageStr; + public static bool SwitchLanguage(string langCode) => (bool)(TllSwitchLanguageStr.Invoke(null, new object[] { langCode })); + + private static readonly MethodInfo TllSwitchLanguageLc; + public static bool SwitchLanguage(TeamCherry.Localization.LanguageCode code) => (bool)(TllSwitchLanguageLc.Invoke(null, new object[] { code })); + + private static readonly MethodInfo TllGetAsset; + public static UObject GetAsset(string name) => (UObject)(TllGetAsset.Invoke(null, new object[] { name })); + + private static readonly MethodInfo TllCurrentLanguage; + public static TeamCherry.Localization.LanguageCode CurrentLanguage() => (TeamCherry.Localization.LanguageCode)(TllCurrentLanguage.Invoke(null, Array.Empty())); + + private static readonly MethodInfo TllGet1; + public static string Get(string key) => (string)(TllGet1.Invoke(null, new object[] { key })); + + private static readonly MethodInfo TllGetSheets; + public static IEnumerable GetSheets() => (IEnumerable)(TllGetSheets.Invoke(null, Array.Empty())); + + private static readonly MethodInfo TllGetKeys; + public static IEnumerable GetKeys(string sheetTitle) => (IEnumerable)(TllGetKeys.Invoke(null, new object[] { sheetTitle })); + + private static readonly MethodInfo TllHas1; + public static bool Has(string key) => (bool)(TllHas1.Invoke(null, new object[] { key })); + + private static readonly MethodInfo TllHas2; + public static bool Has(string key, string sheet) => (bool)(TllHas2.Invoke(null, new object[] { key, sheet })); + + private static readonly MethodInfo TllHasSheet; + public static bool HasSheet(string sheet) => (bool)(TllHasSheet.Invoke(null, new object[] { sheet })); + + private static readonly MethodInfo TllLanguageNameToCode; + public static TeamCherry.Localization.LanguageCode LanguageNameToCode(USystemLanguage name) => (TeamCherry.Localization.LanguageCode)(TllLanguageNameToCode.Invoke(null, new object[] { name })); + + private static readonly MethodInfo TllGet2; + public static string GetInternal(string key, string sheetTitle) => (string)(TllGet2.Invoke(null, new object[] { key, sheetTitle })); + + public static string Get(string key, string sheetTitle) => Modding.ModHooks.LanguageGet(key, sheetTitle); +} \ No newline at end of file From 7a06e1279e0f72160fdcc2d237e3e4120cd66aaa Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Tue, 23 Dec 2025 17:25:22 +0100 Subject: [PATCH 06/54] adjust patches to methods how they appear in dnspy v6.2.0 --- Assembly-CSharp/Patches/GameManager.cs | 74 +++++----- Assembly-CSharp/Patches/HeroController.cs | 136 +++++++++++------- Assembly-CSharp/Patches/InputHandler.cs | 16 +-- Assembly-CSharp/Patches/MenuSetting.cs | 10 +- Assembly-CSharp/Patches/OnScreenDebugInfo.cs | 40 ------ .../Patches/PlayMakerUnity2DProxy.cs | 2 +- Assembly-CSharp/Patches/SceneManager.cs | 65 +++++---- Assembly-CSharp/Patches/StartManager.cs | 87 ++++++++++- Assembly-CSharp/Patches/TakeDamage.cs | 3 +- Assembly-CSharp/Patches/UIManager.cs | 2 + 10 files changed, 268 insertions(+), 167 deletions(-) delete mode 100644 Assembly-CSharp/Patches/OnScreenDebugInfo.cs diff --git a/Assembly-CSharp/Patches/GameManager.cs b/Assembly-CSharp/Patches/GameManager.cs index 90e6d013..99526b73 100644 --- a/Assembly-CSharp/Patches/GameManager.cs +++ b/Assembly-CSharp/Patches/GameManager.cs @@ -197,9 +197,7 @@ public void SaveGame(int saveSlot, Action callback) text = JsonUtility.ToJson(obj); } - bool flag = this.gameConfig.useSaveEncryption && !Platform.Current.IsFileSystemProtected; - - if (flag) + if (this.gameConfig.useSaveEncryption && !Platform.Current.IsFileSystemProtected) { string graph = Encryption.Encrypt(text); BinaryFormatter binaryFormatter = new BinaryFormatter(); @@ -579,12 +577,12 @@ public IEnumerator LoadSceneAdditive(string destScene) AsyncOperation loadop = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(destScene, LoadSceneMode.Additive); loadop.allowSceneActivation = true; yield return loadop; - yield return UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync(exitingScene); + UnityEngine.SceneManagement.SceneManager.UnloadScene(exitingScene); ModHooks.OnSceneChanged(destScene); this.RefreshTilemapInfo(destScene); if (this.IsUnloadAssetsRequired(exitingScene, destScene)) { - Debug.LogFormat(this, "Unloading assets due to zone transition", new object[0]); + Debug.LogFormat(this, "Unloading assets due to zone transition", Array.Empty()); yield return Resources.UnloadUnusedAssets(); } @@ -629,48 +627,46 @@ public void OnWillActivateFirstLevel() [MonoModIgnore] public extern void SetTimeScale(float timescale); + [MonoModIgnore] + private extern void SetPausedState(bool value); + // code has been copied from PauseGameToggle public IEnumerator PauseToggleDynamicMenu(MenuScreen screen, bool allowUnpause = false) { - if (!this.TimeSlowed) + if (this.TimeSlowed) + { + yield break; + } + if (!this.playerData.GetBool(nameof(PlayerData.disablePause)) && this.gameState == GlobalEnums.GameState.PLAYING) { - if (!this.playerData.GetBool(nameof(PlayerData.disablePause)) && this.gameState == GlobalEnums.GameState.PLAYING) + this.isPaused = true; + this.ui.SetState(GlobalEnums.UIState.PAUSED); + this.SetPausedState(true); + this.SetState(GlobalEnums.GameState.PAUSED); + if (HeroController.instance != null) { - this.gameCams.StopCameraShake(); - this.inputHandler.PreventPause(); - this.inputHandler.StopUIInput(); - this.actorSnapshotPaused.TransitionTo(0f); - this.isPaused = true; - this.SetState(GlobalEnums.GameState.PAUSED); - this.ui.AudioGoToPauseMenu(0.2f); - this.ui.UIPauseToDynamicMenu(screen); - if (HeroController.instance != null) - { - HeroController.instance.Pause(); - } - this.gameCams.MoveMenuToHUDCamera(); - this.SetTimeScale(0f); - yield return new WaitForSecondsRealtime(0.8f); - this.inputHandler.AllowPause(); + HeroController.instance.Pause(); } - else if (allowUnpause && this.gameState == GlobalEnums.GameState.PAUSED) + this.gameCams.MoveMenuToHUDCamera(); + this.inputHandler.PreventPause(); + this.inputHandler.StopUIInput(); + yield return new WaitForSecondsRealtime(0.3f); + this.inputHandler.AllowPause(); + } + else if (allowUnpause && this.gameState == GlobalEnums.GameState.PAUSED) + { + this.isPaused = false; + this.inputHandler.PreventPause(); + this.ui.SetState(GlobalEnums.UIState.PLAYING); + this.SetPausedState(false); + this.SetState(GlobalEnums.GameState.PLAYING); + if (HeroController.instance != null) { - this.gameCams.ResumeCameraShake(); - this.inputHandler.PreventPause(); - this.actorSnapshotUnpaused.TransitionTo(0f); - this.isPaused = false; - this.ui.AudioGoToGameplay(0.2f); - this.ui.SetState( GlobalEnums.UIState.PLAYING); - this.SetState( GlobalEnums.GameState.PLAYING); - if (HeroController.instance != null) - { - HeroController.instance.UnPause(); - } - MenuButtonList.ClearAllLastSelected(); - this.SetTimeScale(1f); - yield return new WaitForSecondsRealtime(0.8f); - this.inputHandler.AllowPause(); + HeroController.instance.UnPause(); } + MenuButtonList.ClearAllLastSelected(); + yield return new WaitForSecondsRealtime(0.3f); + this.inputHandler.AllowPause(); } yield break; } diff --git a/Assembly-CSharp/Patches/HeroController.cs b/Assembly-CSharp/Patches/HeroController.cs index c4926810..29306aed 100644 --- a/Assembly-CSharp/Patches/HeroController.cs +++ b/Assembly-CSharp/Patches/HeroController.cs @@ -73,6 +73,47 @@ public void Attack(AttackDirection attackDir) this.wallSlashing = true; this.slashComponent = this.wallSlash; this.slashFsm = this.wallSlashFsm; + if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_35))) + { + if ((this.playerData.GetInt(nameof(PlayerData.health)) == this.playerData.GetInt(nameof(PlayerData.CurrentMaxHealth)) && !this.playerData.GetBool(nameof(PlayerData.equippedCharm_27))) || (this.joniBeam && this.playerData.GetBool(nameof(PlayerData.equippedCharm_27)))) + { + if (this.transform.localScale.x > 0f) + { + this.grubberFlyBeam = this.grubberFlyBeamPrefabR.Spawn(this.transform.position); + } + else + { + this.grubberFlyBeam = this.grubberFlyBeamPrefabL.Spawn(this.transform.position); + } + if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_13))) + { + this.grubberFlyBeam.transform.SetScaleY(this.MANTIS_CHARM_SCALE); + } + else + { + this.grubberFlyBeam.transform.SetScaleY(1f); + } + } + if (this.playerData.GetInt(nameof(PlayerData.health)) == 1 && this.playerData.GetBool(nameof(PlayerData.equippedCharm_6)) && this.playerData.GetInt(nameof(PlayerData.healthBlue)) < 1) + { + if (this.transform.localScale.x > 0f) + { + this.grubberFlyBeam = this.grubberFlyBeamPrefabR_fury.Spawn(this.transform.position); + } + else + { + this.grubberFlyBeam = this.grubberFlyBeamPrefabL_fury.Spawn(this.transform.position); + } + if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_13))) + { + this.grubberFlyBeam.transform.SetScaleY(this.MANTIS_CHARM_SCALE); + } + else + { + this.grubberFlyBeam.transform.SetScaleY(1f); + } + } + } } else { @@ -94,7 +135,7 @@ public void Attack(AttackDirection attackDir) if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_35))) { - if ((this.playerData.GetInt(nameof(PlayerData.health)) == this.playerData.GetInt(nameof(PlayerData.maxHealth)) && !this.playerData.GetBool(nameof(PlayerData.equippedCharm_27))) || (this.joniBeam && this.playerData.GetBool(nameof(PlayerData.equippedCharm_27)))) + if ((this.playerData.GetInt(nameof(PlayerData.health)) >= this.playerData.GetInt(nameof(PlayerData.maxHealth)) && !this.playerData.GetBool(nameof(PlayerData.equippedCharm_27))) || (this.joniBeam && this.playerData.GetBool(nameof(PlayerData.equippedCharm_27)))) { if (this.transform.localScale.x < 0f) { @@ -144,7 +185,7 @@ public void Attack(AttackDirection attackDir) this.cState.upAttacking = true; if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_35))) { - if ((this.playerData.GetInt(nameof(PlayerData.health)) == this.playerData.GetInt(nameof(PlayerData.maxHealth)) && !this.playerData.GetBool(nameof(PlayerData.equippedCharm_27))) || (this.joniBeam && this.playerData.GetBool(nameof(PlayerData.equippedCharm_27)))) + if ((this.playerData.GetInt(nameof(PlayerData.health)) >= this.playerData.GetInt(nameof(PlayerData.maxHealth)) && !this.playerData.GetBool(nameof(PlayerData.equippedCharm_27))) || (this.joniBeam && this.playerData.GetBool(nameof(PlayerData.equippedCharm_27)))) { this.grubberFlyBeam = this.grubberFlyBeamPrefabU.Spawn(this.transform.position); this.grubberFlyBeam.transform.SetScaleY(this.transform.localScale.x); @@ -174,7 +215,7 @@ public void Attack(AttackDirection attackDir) this.cState.downAttacking = true; if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_35))) { - if ((this.playerData.GetInt(nameof(PlayerData.health)) == this.playerData.GetInt(nameof(PlayerData.maxHealth)) && !this.playerData.GetBool(nameof(PlayerData.equippedCharm_27))) || (this.joniBeam && this.playerData.GetBool(nameof(PlayerData.equippedCharm_27)))) + if ((this.playerData.GetInt(nameof(PlayerData.health)) >= this.playerData.GetInt(nameof(PlayerData.maxHealth)) && !this.playerData.GetBool(nameof(PlayerData.equippedCharm_27))) || (this.joniBeam && this.playerData.GetBool(nameof(PlayerData.equippedCharm_27)))) { this.grubberFlyBeam = this.grubberFlyBeamPrefabD.Spawn(this.transform.position); this.grubberFlyBeam.transform.SetScaleY(this.transform.localScale.x); @@ -247,17 +288,16 @@ public void Attack(AttackDirection attackDir) [MonoModReplace] public void SoulGain() { - int mpcharge = this.playerData.GetInt("MPCharge"); int num; - if (mpcharge < this.playerData.GetInt("maxMP")) + if (this.playerData.GetInt(nameof(PlayerData.MPCharge)) < this.playerData.GetInt(nameof(PlayerData.maxMP))) { num = 11; - if (this.playerData.GetBool("equippedCharm_20")) + if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_20))) { num += 3; } - if (this.playerData.GetBool("equippedCharm_21")) + if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_21))) { num += 8; } @@ -265,22 +305,22 @@ public void SoulGain() else { num = 6; - if (this.playerData.GetBool("equippedCharm_20")) + if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_20))) { num += 2; } - if (this.playerData.GetBool("equippedCharm_21")) + if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_21))) { num += 6; } } - int mpreserve = this.playerData.GetInt("MPReserve"); + int mpreserve = this.playerData.GetInt(nameof(PlayerData.MPReserve)); num = Modding.ModHooks.OnSoulGain(num); this.playerData.AddMPCharge(num); GameCameras.instance.soulOrbFSM.SendEvent("MP GAIN"); - if (this.playerData.GetInt("MPReserve") != mpreserve) + if (this.playerData.GetInt(nameof(PlayerData.MPReserve)) != mpreserve) { this.gm.soulVessel_fsm.SendEvent("MP RESERVE UP"); } @@ -475,8 +515,7 @@ private void LookForQueueInput() && this.dashQueueSteps <= this.DASH_QUEUE_STEPS && this.CanDash() && this.dashQueuing - && !ModHooks.OnDashPressed() - && this.CanDash()) + && !ModHooks.OnDashPressed()) { this.HeroDash(); } @@ -531,7 +570,6 @@ private void LookForQueueInput() [MonoModIgnore] private HeroVibrationController vibrationCtrl; - // todo: fixme: this had changes in the method, check if more shit changed [MonoModReplace] public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount, int hazardType) { @@ -578,7 +616,7 @@ public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount mixer.StopAllEmissionsWithTag("heroAction"); } - bool flag = false; + bool carefreeShouldStopDamage = false; if (this.carefreeShieldEquipped && hazardType == 1) { if (this.hitsSinceShielded > 7) @@ -591,58 +629,58 @@ public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount case 1: if ((float) UnityEngine.Random.Range(1, 100) <= 10f) { - flag = true; + carefreeShouldStopDamage = true; } break; case 2: if ((float) UnityEngine.Random.Range(1, 100) <= 20f) { - flag = true; + carefreeShouldStopDamage = true; } break; case 3: if ((float) UnityEngine.Random.Range(1, 100) <= 30f) { - flag = true; + carefreeShouldStopDamage = true; } break; case 4: if ((float) UnityEngine.Random.Range(1, 100) <= 50f) { - flag = true; + carefreeShouldStopDamage = true; } break; case 5: if ((float) UnityEngine.Random.Range(1, 100) <= 70f) { - flag = true; + carefreeShouldStopDamage = true; } break; case 6: if ((float) UnityEngine.Random.Range(1, 100) <= 80f) { - flag = true; + carefreeShouldStopDamage = true; } break; case 7: if ((float) UnityEngine.Random.Range(1, 100) <= 90f) { - flag = true; + carefreeShouldStopDamage = true; } break; default: - flag = false; + carefreeShouldStopDamage = false; break; } - if (flag) + if (carefreeShouldStopDamage) { this.hitsSinceShielded = 0; this.carefreeShield.SetActive(true); @@ -655,7 +693,7 @@ public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount } } - if (this.playerData.GetBool("equippedCharm_5") && this.playerData.GetInt("blockerHits") > 0 && hazardType == 1 && this.cState.focusing && !flag) + if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_5)) && this.playerData.GetInt(nameof(PlayerData.blockerHits)) > 0 && hazardType == 1 && this.cState.focusing && !carefreeShouldStopDamage) { this.proxyFSM.SendEvent("HeroCtrl-TookBlockerHit"); this.audioSource.PlayOneShot(this.blockerImpact, 1f); @@ -687,24 +725,24 @@ public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount if (this.cState.bouncing) { this.CancelBounce(); - this.rb2d.velocity = new Vector2(this.rb2d.velocity.x, 0f); + this.rb2d.linearVelocity = new Vector2(this.rb2d.linearVelocity.x, 0f); } if (this.cState.shroomBouncing) { this.CancelBounce(); - this.rb2d.velocity = new Vector2(this.rb2d.velocity.x, 0f); + this.rb2d.linearVelocity = new Vector2(this.rb2d.linearVelocity.x, 0f); } - if (!flag) + if (!carefreeShouldStopDamage) { this.audioCtrl.PlaySound(HeroSounds.TAKE_HIT); } damageAmount = ModHooks.AfterTakeDamage(hazardType, damageAmount); - if (!this.takeNoDamage && !this.playerData.GetBool("invinciTest")) + if (!this.takeNoDamage && !this.playerData.GetBool(nameof(PlayerData.invinciTest))) { - if (this.playerData.GetBool("overcharmed")) + if (this.playerData.GetBool(nameof(PlayerData.overcharmed))) { this.playerData.TakeHealth(damageAmount * 2); } @@ -714,9 +752,9 @@ public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount } } - if (this.playerData.GetBool("equippedCharm_3") && damageAmount > 0) + if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_3)) && damageAmount > 0) { - if (this.playerData.GetBool("equippedCharm_35")) + if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_35))) { this.AddMPCharge(this.GRUB_SOUL_MP_COMBO); } @@ -742,32 +780,35 @@ public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount this.OnTakenDamage(); } - if (this.playerData.GetInt("health") == 0) + if (this.playerData.GetInt(nameof(PlayerData.health)) == 0) { base.StartCoroutine(this.Die()); + return; } else if (hazardType == 2) { base.StartCoroutine(this.DieFromHazard(HazardType.SPIKES, (!(go != null)) ? 0f : go.transform.rotation.z)); + return; } else if (hazardType == 3) { base.StartCoroutine(this.DieFromHazard(HazardType.ACID, 0f)); + return; } else if (hazardType == 4) { Debug.Log("Lava death"); + return; } else if (hazardType == 5) { base.StartCoroutine(this.DieFromHazard(HazardType.PIT, 0f)); + return; } - else - { - base.StartCoroutine(this.StartRecoil(damageSide, spawnDamageEffect, damageAmount)); - } + base.StartCoroutine(this.StartRecoil(damageSide, spawnDamageEffect, damageAmount)); + return; } - else if (this.cState.invulnerable && !this.cState.hazardDeath && !this.playerData.GetBool("isInvincible")) + else if (this.cState.invulnerable && !this.cState.hazardDeath && !this.playerData.GetBool(nameof(PlayerData.isInvincible))) { if (hazardType == 2) { @@ -784,8 +825,8 @@ public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount } else { - this.audioCtrl.PlaySound(HeroSounds.TAKE_HIT); - base.StartCoroutine(this.DieFromHazard(HazardType.SPIKES, (!(go != null)) ? 0f : go.transform.rotation.z)); + this.audioCtrl.PlaySound(HeroSounds.TAKE_HIT, false); + base.StartCoroutine(this.DieFromHazard(HazardType.SPIKES, (go != null) ? go.transform.rotation.z : 0f)); } } else if (hazardType == 3) @@ -793,14 +834,13 @@ public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount damageAmount = ModHooks.AfterTakeDamage(hazardType, damageAmount); this.playerData.TakeHealth(damageAmount); this.proxyFSM.SendEvent("HeroCtrl-HeroDamaged"); - if (this.playerData.GetInt("health") == 0) + if (this.playerData.GetInt(nameof(PlayerData.health)) == 0) { base.StartCoroutine(this.Die()); + return; } - else - { - base.StartCoroutine(this.DieFromHazard(HazardType.ACID, 0f)); - } + base.StartCoroutine(this.DieFromHazard(HazardType.ACID, 0f)); + return; } else if (hazardType == 4) { @@ -875,7 +915,7 @@ private Vector2 OrigDashVector() origVector = new Vector2 ( velocity, - (!this.cState.onGround) ? BUMP_VELOCITY_DASH : BUMP_VELOCITY + this.cState.onGround ? BUMP_VELOCITY : BUMP_VELOCITY_DASH ); } else @@ -888,7 +928,7 @@ private Vector2 OrigDashVector() origVector = new Vector2 ( -velocity, - (!this.cState.onGround) ? BUMP_VELOCITY_DASH : BUMP_VELOCITY + this.cState.onGround ? BUMP_VELOCITY : BUMP_VELOCITY_DASH ); } else @@ -912,7 +952,7 @@ private void Dash() Vector2 vector = OrigDashVector(); vector = ModHooks.DashVelocityChange(vector); - rb2d.velocity = vector; + rb2d.linearVelocity = vector; dash_timer += Time.deltaTime; } diff --git a/Assembly-CSharp/Patches/InputHandler.cs b/Assembly-CSharp/Patches/InputHandler.cs index 3e5a18b4..51cf80e0 100644 --- a/Assembly-CSharp/Patches/InputHandler.cs +++ b/Assembly-CSharp/Patches/InputHandler.cs @@ -21,30 +21,30 @@ public class InputHandler : global::InputHandler [MonoModIgnore] private GameManager gm; + [MonoModIgnore] + private extern void SetCursorVisible(bool value); + // Reverted cursor behavior [MonoModReplace] private void OnGUI() { Cursor.lockState = CursorLockMode.None; - if (isTitleScreenScene) + if (this.isTitleScreenScene) { Cursor.visible = false; return; } - - if (!isMenuScene) + if (this.isMenuScene) { - ModHooks.OnCursor(gm); + Cursor.visible = !this.controllerPressed; return; } - - if (controllerPressed) + if (!this.gm.isPaused) { Cursor.visible = false; return; } - - Cursor.visible = true; + Cursor.visible = !this.controllerPressed; } } } \ No newline at end of file diff --git a/Assembly-CSharp/Patches/MenuSetting.cs b/Assembly-CSharp/Patches/MenuSetting.cs index 51f1b298..6f989f5b 100644 --- a/Assembly-CSharp/Patches/MenuSetting.cs +++ b/Assembly-CSharp/Patches/MenuSetting.cs @@ -55,15 +55,21 @@ public enum MenuSettingType VSync, // where did 13 go MonitorSelect = 14, - FrameCap, + SwitchFrameCap, ParticleLevel, ShaderQuality, + Dithering, + Noise, // HUH???? GameLanguage = 33, GameBackerCredits, NativeAchievements, + ControllerRumble = 37, + HudVisibility = 39, + CameraShake, NativeInput, - ControllerRumble, + XInput, + MFi, // peepoHappy CustomSetting } diff --git a/Assembly-CSharp/Patches/OnScreenDebugInfo.cs b/Assembly-CSharp/Patches/OnScreenDebugInfo.cs deleted file mode 100644 index a04d41a0..00000000 --- a/Assembly-CSharp/Patches/OnScreenDebugInfo.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System.Threading; -using MonoMod; -using UnityEngine; - -// ReSharper disable All -#pragma warning disable 1591, CS0626 - -namespace Modding.Patches -{ - [MonoModPatch("global::OnScreenDebugInfo")] - public class OnScreenDebugInfo : global::OnScreenDebugInfo - { - private extern void orig_Awake(); - - private void Awake() - { - if (ModLoader.LoadState == ModLoader.ModLoadState.NotStarted) - { - Logger.APILogger.Log("Main menu loading"); - ModLoader.LoadState = ModLoader.ModLoadState.Started; - - GameObject obj = new GameObject(); - DontDestroyOnLoad(obj); - - // Preload reflection - new Thread(ReflectionHelper.PreloadCommonTypes).Start(); - - // NonBouncer does absolutely nothing, which makes it a good dummy to run the loader - obj.AddComponent().StartCoroutine(ModLoader.LoadModsInit(obj)); - } - else - { - // Debug log because this is the expected code path - Logger.APILogger.LogDebug($"OnScreenDebugInfo: Already begun mod loading (state {ModLoader.LoadState})"); - } - - orig_Awake(); - } - } -} \ No newline at end of file diff --git a/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs b/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs index 9cd2d27b..5209f962 100644 --- a/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs +++ b/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs @@ -23,7 +23,7 @@ public void Start() } ModHooks.OnColliderCreate(gameObject); - RefreshImplementation(); + this.RefreshImplementation(); } } } \ No newline at end of file diff --git a/Assembly-CSharp/Patches/SceneManager.cs b/Assembly-CSharp/Patches/SceneManager.cs index 677dfbbd..efc9876d 100644 --- a/Assembly-CSharp/Patches/SceneManager.cs +++ b/Assembly-CSharp/Patches/SceneManager.cs @@ -20,12 +20,14 @@ public class SceneManager : global::SceneManager [MonoModIgnore] private bool heroInfoSent; + // [MonoModIgnore] private extern void orig_Update(); [MonoModIgnore] private GameManager gm; //Added checks for null and an attempt to fix any missing references + // [MonoModReplace] private void Update() { if (this.gameplayScene) @@ -40,40 +42,51 @@ private void Update() orig_Update(); } + [MonoModIgnore] + private Transform borderLeft; + + [MonoModIgnore] + private Transform borderRight; + + [MonoModIgnore] + private Transform borderUp; + + [MonoModIgnore] + private Transform borderDown; + + // [MonoModIgnore] + private extern void orig_OnCameraAspectChanged(float aspect); + //add modhook to send the newly created borders to any mods that want them - [MonoModReplace] - private void DrawBlackBorders() + // [MonoModReplace] + private void OnCameraAspectChanged(float aspect) { - List borders = new List(); - GameObject gameObject = UnityEngine.Object.Instantiate(this.borderPrefab); - gameObject.transform.SetPosition2D(this.gm.sceneWidth + 10f, this.gm.sceneHeight / 2f); - gameObject.transform.localScale = new Vector2(20f, this.gm.sceneHeight + 40f); - borders.Add(gameObject); - - gameObject = UnityEngine.Object.Instantiate(this.borderPrefab); - gameObject.transform.SetPosition2D(-10f, this.gm.sceneHeight / 2f); - gameObject.transform.localScale = new Vector2(20f, this.gm.sceneHeight + 40f); - borders.Add(gameObject); - - gameObject = UnityEngine.Object.Instantiate(this.borderPrefab); - gameObject.transform.SetPosition2D(this.gm.sceneWidth / 2f, this.gm.sceneHeight + 10f); - gameObject.transform.localScale = new Vector2(40f + this.gm.sceneWidth, 20f); - borders.Add(gameObject); - - gameObject = UnityEngine.Object.Instantiate(this.borderPrefab); - gameObject.transform.SetPosition2D(this.gm.sceneWidth / 2f, -10f); - gameObject.transform.localScale = new Vector2(40f + this.gm.sceneWidth, 20f); - borders.Add(gameObject); + orig_OnCameraAspectChanged(aspect); - ModHooks.OnDrawBlackBorders(borders); - - foreach (var border in borders) + List borders = new List(); + if (this.borderLeft != null) + { + borders.Add(this.borderLeft.gameObject); + } + if (this.borderRight != null) + { + borders.Add(this.borderRight.gameObject); + } + if (this.borderUp != null) + { + borders.Add(this.borderUp.gameObject); + } + if (this.borderDown != null) { - UnityEngine.SceneManagement.SceneManager.MoveGameObjectToScene(border, base.gameObject.scene); + borders.Add(this.borderDown.gameObject); } + ModHooks.OnDrawBlackBorders(borders); } + // [MonoModIgnore] private extern void orig_Start(); + + // [MonoModReplace] private void Start() { try diff --git a/Assembly-CSharp/Patches/StartManager.cs b/Assembly-CSharp/Patches/StartManager.cs index 01b8dbb1..da475c89 100644 --- a/Assembly-CSharp/Patches/StartManager.cs +++ b/Assembly-CSharp/Patches/StartManager.cs @@ -1,6 +1,9 @@ -using System.Collections; +using System; +using System.Collections; +using System.Threading; using MonoMod; using UnityEngine; +using UObject = UnityEngine.Object; // ReSharper disable All #pragma warning disable 1591, CS0649 @@ -12,6 +15,33 @@ namespace Modding.Patches [MonoModPatch("global::StartManager")] public class StartManager : global::StartManager { + private extern void orig_Awake(); + + private void Awake() + { + orig_Awake(); + + if (ModLoader.LoadState == ModLoader.ModLoadState.NotStarted) + { + Logger.APILogger.Log("Main menu loading"); + ModLoader.LoadState = ModLoader.ModLoadState.Started; + + GameObject obj = new GameObject(); + DontDestroyOnLoad(obj); + + // Preload reflection + new Thread(ReflectionHelper.PreloadCommonTypes).Start(); + + // NonBouncer does absolutely nothing, which makes it a good dummy to run the loader + obj.AddComponent().StartCoroutine(ModLoader.LoadModsInit(obj)); + } + else + { + // Debug log because this is the expected code path + Logger.APILogger.LogDebug($"StartManager: Already begun mod loading (state {ModLoader.LoadState})"); + } + } + [MonoModIgnore] private bool confirmedLanguage; @@ -35,6 +65,7 @@ private IEnumerator Start() this.controllerImage.sprite = this.GetControllerSpriteForPlatform(this.platform); AsyncOperation loadOperation = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync("Menu_Title"); loadOperation.allowSceneActivation = false; + Platform.Current.SetSceneLoadState(true, false); bool showLanguageSelect = !this.CheckIsLanguageSet(); if (showLanguageSelect && Platform.Current.ShowLanguageSelect) { @@ -46,12 +77,64 @@ private IEnumerator Start() yield return base.StartCoroutine(this.LanguageSettingDone()); } - + TeamCherry.Localization.LanguageCode currentLanguage = Language.Language.CurrentLanguage(); + while (!Platform.Current.IsSharedDataMounted) + { + yield return null; + } + bool flag = false; + string text; + if (TeamCherry.Localization.LocalizationProjectSettings.TryGetSavedLanguageCode(out text)) + { + TeamCherry.Localization.LanguageCode languageEnum = TeamCherry.Localization.LocalizationSettings.GetLanguageEnum(text); + if (currentLanguage != languageEnum) + { + flag = true; + } + } + if (flag) + { + Language.Language.LoadLanguage(); + ChangeFontByLanguage[] array = UObject.FindObjectsByType(FindObjectsSortMode.None); + for (int i = 0; i < array.Length; i++) + { + array[i].SetFont(); + } + SetTextMeshProGameText[] componentsInChildren = base.GetComponentsInChildren(true); + for (int i = 0; i < componentsInChildren.Length; i++) + { + componentsInChildren[i].UpdateText(); + } + LogoLanguage[] componentsInChildren2 = base.GetComponentsInChildren(true); + for (int i = 0; i < componentsInChildren2.Length; i++) + { + componentsInChildren2[i].SetSprite(); + } + } this.startManagerAnimator.SetBool("WillShowControllerNotice", false); this.startManagerAnimator.SetBool("WillShowQuote", true); StandaloneLoadingSpinner loadSpinner = UnityEngine.Object.Instantiate(this.loadSpinnerPrefab); loadSpinner.Setup(null); + bool didWaitForPlayerPrefs = false; + while (!Platform.Current.IsPlayerPrefsLoaded) + { + if (!didWaitForPlayerPrefs) + { + didWaitForPlayerPrefs = true; + Debug.LogFormat("Waiting for PlayerPrefs load...", Array.Empty()); + } + yield return null; + } + if (!didWaitForPlayerPrefs) + { + Debug.LogFormat("Didn't need to wait for PlayerPrefs load.", Array.Empty()); + } + else + { + Debug.LogFormat("Finished waiting for PlayerPrefs load.", Array.Empty()); + } + Platform.Current.SetSceneLoadState(true, true); loadOperation.allowSceneActivation = true; yield return loadOperation; yield break; diff --git a/Assembly-CSharp/Patches/TakeDamage.cs b/Assembly-CSharp/Patches/TakeDamage.cs index fdd497ae..3210812e 100644 --- a/Assembly-CSharp/Patches/TakeDamage.cs +++ b/Assembly-CSharp/Patches/TakeDamage.cs @@ -11,6 +11,7 @@ public class TakeDamage : HutongGames.PlayMaker.Actions.TakeDamage [MonoModReplace] public override void OnEnter() { + base.OnEnter(); HitInstance hit = new HitInstance { Source = base.Owner, @@ -22,7 +23,7 @@ public override void OnEnter() MagnitudeMultiplier = this.MagnitudeMultiplier.Value, MoveAngle = this.MoveAngle.Value, MoveDirection = this.MoveDirection.Value, - Multiplier = ((!this.Multiplier.IsNone) ? this.Multiplier.Value : 1f), + Multiplier = (this.Multiplier.IsNone ? 1f : this.Multiplier.Value), SpecialType = (SpecialTypes) this.SpecialType.Value, IsExtraDamage = false }; diff --git a/Assembly-CSharp/Patches/UIManager.cs b/Assembly-CSharp/Patches/UIManager.cs index 0de510dd..b79be999 100644 --- a/Assembly-CSharp/Patches/UIManager.cs +++ b/Assembly-CSharp/Patches/UIManager.cs @@ -194,10 +194,12 @@ public enum MainMenuState MAIN_MENU, OPTIONS_MENU, GAMEPAD_MENU, + ADVANCED_GAMEPAD_MENU, KEYBOARD_MENU, SAVE_PROFILES, AUDIO_MENU, VIDEO_MENU, + ADVANCED_VIDEO_MENU, EXIT_PROMPT, OVERSCAN_MENU, GAME_OPTIONS_MENU, From e0e6d67a00058b2a8c2ebf1af1cb89393baed3cf Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Tue, 23 Dec 2025 18:26:03 +0100 Subject: [PATCH 07/54] make use of game's vanilla binaries & don't have newtonsoft and mscorlib in output --- Assembly-CSharp/Assembly-CSharp.csproj | 31 +++++++++----------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/Assembly-CSharp/Assembly-CSharp.csproj b/Assembly-CSharp/Assembly-CSharp.csproj index d9493277..7a5ae4fe 100644 --- a/Assembly-CSharp/Assembly-CSharp.csproj +++ b/Assembly-CSharp/Assembly-CSharp.csproj @@ -10,6 +10,7 @@ true packages latest + true @@ -17,7 +18,6 @@ - @@ -72,10 +72,8 @@ - + - - @@ -141,25 +139,16 @@ - - ../Vanilla/Assembly-CSharp.dll - False - - - ..\override\mscorlib.dll - - - ../Vanilla/netstandard.dll - - - ../JsonNet/Newtonsoft.Json.dll - - - ../Vanilla/PlayMaker.dll - False - + + + + + + + + From e91596fa6e2471e4535fcb306f75f689fa925e47 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Wed, 31 Dec 2025 18:07:33 +0100 Subject: [PATCH 08/54] remove unused method --- Assembly-CSharp/Patches/InputHandler.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/Assembly-CSharp/Patches/InputHandler.cs b/Assembly-CSharp/Patches/InputHandler.cs index 51cf80e0..2dd48dcf 100644 --- a/Assembly-CSharp/Patches/InputHandler.cs +++ b/Assembly-CSharp/Patches/InputHandler.cs @@ -21,9 +21,6 @@ public class InputHandler : global::InputHandler [MonoModIgnore] private GameManager gm; - [MonoModIgnore] - private extern void SetCursorVisible(bool value); - // Reverted cursor behavior [MonoModReplace] private void OnGUI() From bff85a4e58141f4958b9daf0bb703a8f32ee5269 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Wed, 31 Dec 2025 18:07:53 +0100 Subject: [PATCH 09/54] remove base onenter --- Assembly-CSharp/Patches/TakeDamage.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Assembly-CSharp/Patches/TakeDamage.cs b/Assembly-CSharp/Patches/TakeDamage.cs index 3210812e..5a55ff7e 100644 --- a/Assembly-CSharp/Patches/TakeDamage.cs +++ b/Assembly-CSharp/Patches/TakeDamage.cs @@ -11,7 +11,6 @@ public class TakeDamage : HutongGames.PlayMaker.Actions.TakeDamage [MonoModReplace] public override void OnEnter() { - base.OnEnter(); HitInstance hit = new HitInstance { Source = base.Owner, From 7b64c07950b80c6b086b6e8f717788086bca6313 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Wed, 31 Dec 2025 18:24:32 +0100 Subject: [PATCH 10/54] made loading work better --- Assembly-CSharp/Patches/StartManager.cs | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/Assembly-CSharp/Patches/StartManager.cs b/Assembly-CSharp/Patches/StartManager.cs index da475c89..933e1000 100644 --- a/Assembly-CSharp/Patches/StartManager.cs +++ b/Assembly-CSharp/Patches/StartManager.cs @@ -15,15 +15,16 @@ namespace Modding.Patches [MonoModPatch("global::StartManager")] public class StartManager : global::StartManager { + private bool startedPreloading = false; + private extern void orig_Awake(); private void Awake() { - orig_Awake(); - if (ModLoader.LoadState == ModLoader.ModLoadState.NotStarted) { Logger.APILogger.Log("Main menu loading"); + startedPreloading = true; ModLoader.LoadState = ModLoader.ModLoadState.Started; GameObject obj = new GameObject(); @@ -40,6 +41,8 @@ private void Awake() // Debug log because this is the expected code path Logger.APILogger.LogDebug($"StartManager: Already begun mod loading (state {ModLoader.LoadState})"); } + + orig_Awake(); } [MonoModIgnore] @@ -60,11 +63,17 @@ private void Awake() [MonoModIgnore] private extern IEnumerator LanguageSettingDone(); + [MonoModReplace] private IEnumerator Start() { this.controllerImage.sprite = this.GetControllerSpriteForPlatform(this.platform); - AsyncOperation loadOperation = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync("Menu_Title"); - loadOperation.allowSceneActivation = false; + + AsyncOperation loadOperation = null; + if (!startedPreloading) + { + loadOperation = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync("Menu_Title"); + loadOperation.allowSceneActivation = false; + } Platform.Current.SetSceneLoadState(true, false); bool showLanguageSelect = !this.CheckIsLanguageSet(); if (showLanguageSelect && Platform.Current.ShowLanguageSelect) @@ -135,8 +144,11 @@ private IEnumerator Start() Debug.LogFormat("Finished waiting for PlayerPrefs load.", Array.Empty()); } Platform.Current.SetSceneLoadState(true, true); - loadOperation.allowSceneActivation = true; - yield return loadOperation; + if (!startedPreloading) + { + loadOperation.allowSceneActivation = true; + yield return loadOperation; + } yield break; } } From 9adc87856ff7a5ef710a8ff0c308478698bd3c3b Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Wed, 11 Feb 2026 20:45:49 +0100 Subject: [PATCH 11/54] update hollowknight.version --- hollowknight.version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hollowknight.version b/hollowknight.version index 8a7a4d76..68c21b76 100644 --- a/hollowknight.version +++ b/hollowknight.version @@ -1 +1 @@ -1.5.78.11833 \ No newline at end of file +1.5.12459 \ No newline at end of file From 86d0b1b4adf69a95fbf32c7c9fdb9e52a30a6826 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Wed, 11 Feb 2026 20:47:36 +0100 Subject: [PATCH 12/54] full canvas, no offsets & modloader obj --- Assembly-CSharp/Console.cs | 3 ++- Assembly-CSharp/Patches/StartManager.cs | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Assembly-CSharp/Console.cs b/Assembly-CSharp/Console.cs index d9fb51a4..a29911f8 100644 --- a/Assembly-CSharp/Console.cs +++ b/Assembly-CSharp/Console.cs @@ -76,7 +76,8 @@ public void Start() string.Join(string.Empty, _messages.ToArray()), _fontSize, TextAnchor.LowerLeft, - new CanvasUtil.RectData(new Vector2(-5, -5), Vector2.zero, Vector2.zero, Vector2.one), + //new CanvasUtil.RectData(new Vector2(-5, -5), Vector2.zero, Vector2.zero, Vector2.one), + new CanvasUtil.RectData(Vector2.zero, Vector2.zero, Vector2.zero, Vector2.one), _font ); diff --git a/Assembly-CSharp/Patches/StartManager.cs b/Assembly-CSharp/Patches/StartManager.cs index 933e1000..dc9e9fd0 100644 --- a/Assembly-CSharp/Patches/StartManager.cs +++ b/Assembly-CSharp/Patches/StartManager.cs @@ -16,6 +16,7 @@ namespace Modding.Patches public class StartManager : global::StartManager { private bool startedPreloading = false; + private MonoBehaviour modLoaderObj = null; private extern void orig_Awake(); @@ -34,7 +35,7 @@ private void Awake() new Thread(ReflectionHelper.PreloadCommonTypes).Start(); // NonBouncer does absolutely nothing, which makes it a good dummy to run the loader - obj.AddComponent().StartCoroutine(ModLoader.LoadModsInit(obj)); + modLoaderObj = obj.AddComponent(); } else { @@ -149,6 +150,10 @@ private IEnumerator Start() loadOperation.allowSceneActivation = true; yield return loadOperation; } + else + { + modLoaderObj.StartCoroutine(ModLoader.LoadModsInit(modLoaderObj.gameObject)); + } yield break; } } From 05b3ccf72a1a5c255655f774dd4d818b97237789 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Wed, 18 Feb 2026 20:53:27 +0100 Subject: [PATCH 13/54] add one backwards-compatability property --- Assembly-CSharp/Patches/DesktopPlatform.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 Assembly-CSharp/Patches/DesktopPlatform.cs diff --git a/Assembly-CSharp/Patches/DesktopPlatform.cs b/Assembly-CSharp/Patches/DesktopPlatform.cs new file mode 100644 index 00000000..c5548c15 --- /dev/null +++ b/Assembly-CSharp/Patches/DesktopPlatform.cs @@ -0,0 +1,18 @@ +using System; +using MonoMod; + +// ReSharper disable all +#pragma warning disable 1591, 649, 414, 169, CS0108, CS0626 + +namespace Modding.Patches +{ + [MonoModPatch("global::DesktopPlatform")] + public class DesktopPlatform : global::DesktopPlatform + { + [Obsolete("Please update your mod to the new HK version and use `RoamingSharedData` instead")] + public ISharedData EncryptedSharedData + { + get { return RoamingSharedData; } + } + } +} \ No newline at end of file From 207132db863a8b12bc2b39a21b4b98ba152f516b Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Wed, 18 Feb 2026 22:08:48 +0100 Subject: [PATCH 14/54] who needs reflection if you have monomod fuckery --- Assembly-CSharp/Language/Language.cs | 130 +++++++------- Assembly-CSharp/Language/LanguageCode.cs | 211 +++++++++++++++++++++++ Assembly-CSharp/Patches/StartManager.cs | 2 +- 3 files changed, 276 insertions(+), 67 deletions(-) create mode 100644 Assembly-CSharp/Language/LanguageCode.cs diff --git a/Assembly-CSharp/Language/Language.cs b/Assembly-CSharp/Language/Language.cs index 00f8bdc1..5f65cc57 100644 --- a/Assembly-CSharp/Language/Language.cs +++ b/Assembly-CSharp/Language/Language.cs @@ -4,77 +4,75 @@ using UObject = UnityEngine.Object; using USystemLanguage = UnityEngine.SystemLanguage; + namespace Language; // for backwards compatibility [MonoMod.MonoModLinkFrom("TeamCherry.Localization.Language")] public static class Language { - static Language() - { - TllType = Type.GetType("TeamCherry.Localization.Language, TeamCherry.Localization, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"); - TllLoadLanguage = TllType.GetMethod("LoadLanguage", BindingFlags.Public | BindingFlags.Static, null, Array.Empty(), Array.Empty()); - TllLoadAvailableLanguages = TllType.GetMethod("LoadAvailableLanguages", BindingFlags.Public | BindingFlags.Static, null, Array.Empty(), Array.Empty()); - TllGetLanguages = TllType.GetMethod("GetLanguages", BindingFlags.Public | BindingFlags.Static, null, Array.Empty(), Array.Empty()); - TllSwitchLanguageStr = TllType.GetMethod("SwitchLanguage", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string) }, Array.Empty()); - TllSwitchLanguageLc = TllType.GetMethod("SwitchLanguage", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(TeamCherry.Localization.LanguageCode) }, Array.Empty()); - TllGetAsset = TllType.GetMethod("GetAsset", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string) }, Array.Empty()); - TllCurrentLanguage = TllType.GetMethod("CurrentLanguage", BindingFlags.Public | BindingFlags.Static, null, Array.Empty(), Array.Empty()); - TllGet1 = TllType.GetMethod("Get", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string) }, Array.Empty()); - TllGetSheets = TllType.GetMethod("GetSheets", BindingFlags.Public | BindingFlags.Static, null, Array.Empty(), Array.Empty()); - TllGetKeys = TllType.GetMethod("GetKeys", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string) }, Array.Empty()); - TllHas1 = TllType.GetMethod("Has", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string) }, Array.Empty()); - TllHas2 = TllType.GetMethod("Has", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string), typeof(string) }, Array.Empty()); - TllHasSheet = TllType.GetMethod("HasSheet", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string) }, Array.Empty()); - TllLanguageNameToCode = TllType.GetMethod("LanguageNameToCode", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(USystemLanguage) }, Array.Empty()); - TllGet2 = TllType.GetMethod("Get", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string), typeof(string) }, Array.Empty()); - } - private static readonly Type TllType; - - private static readonly MethodInfo TllLoadLanguage; - public static void LoadLanguage() => TllLoadLanguage.Invoke(null, Array.Empty()); - - private static readonly MethodInfo TllLoadAvailableLanguages; - public static void LoadAvailableLanguages() => TllLoadAvailableLanguages.Invoke(null, Array.Empty()); - - private static readonly MethodInfo TllGetLanguages; - public static string[] GetLanguages() => (string[])(TllGetLanguages.Invoke(null, Array.Empty())); - - private static readonly MethodInfo TllSwitchLanguageStr; - public static bool SwitchLanguage(string langCode) => (bool)(TllSwitchLanguageStr.Invoke(null, new object[] { langCode })); - - private static readonly MethodInfo TllSwitchLanguageLc; - public static bool SwitchLanguage(TeamCherry.Localization.LanguageCode code) => (bool)(TllSwitchLanguageLc.Invoke(null, new object[] { code })); - - private static readonly MethodInfo TllGetAsset; - public static UObject GetAsset(string name) => (UObject)(TllGetAsset.Invoke(null, new object[] { name })); - - private static readonly MethodInfo TllCurrentLanguage; - public static TeamCherry.Localization.LanguageCode CurrentLanguage() => (TeamCherry.Localization.LanguageCode)(TllCurrentLanguage.Invoke(null, Array.Empty())); - - private static readonly MethodInfo TllGet1; - public static string Get(string key) => (string)(TllGet1.Invoke(null, new object[] { key })); - - private static readonly MethodInfo TllGetSheets; - public static IEnumerable GetSheets() => (IEnumerable)(TllGetSheets.Invoke(null, Array.Empty())); - - private static readonly MethodInfo TllGetKeys; - public static IEnumerable GetKeys(string sheetTitle) => (IEnumerable)(TllGetKeys.Invoke(null, new object[] { sheetTitle })); - - private static readonly MethodInfo TllHas1; - public static bool Has(string key) => (bool)(TllHas1.Invoke(null, new object[] { key })); - - private static readonly MethodInfo TllHas2; - public static bool Has(string key, string sheet) => (bool)(TllHas2.Invoke(null, new object[] { key, sheet })); - - private static readonly MethodInfo TllHasSheet; - public static bool HasSheet(string sheet) => (bool)(TllHasSheet.Invoke(null, new object[] { sheet })); - - private static readonly MethodInfo TllLanguageNameToCode; - public static TeamCherry.Localization.LanguageCode LanguageNameToCode(USystemLanguage name) => (TeamCherry.Localization.LanguageCode)(TllLanguageNameToCode.Invoke(null, new object[] { name })); - - private static readonly MethodInfo TllGet2; - public static string GetInternal(string key, string sheetTitle) => (string)(TllGet2.Invoke(null, new object[] { key, sheetTitle })); - + public static void LoadLanguage() => COMPAT_LoadLanguage(); + public static void LoadAvailableLanguages() => COMPAT_LoadAvailableLanguages(); + public static string[] GetLanguages() => COMPAT_GetLanguages(); + public static bool SwitchLanguage(string langCode) => COMPAT_SwitchLanguage(langCode); + public static bool SwitchLanguage(TeamCherry.Localization.LanguageCode code) => COMPAT_SwitchLanguage(code); + public static UObject GetAsset(string name) => COMPAT_GetAsset(name); + public static LanguageCode CurrentLanguage() => (LanguageCode) COMPAT_CurrentLanguage(); + public static string Get(string key) => COMPAT_Get(key); + public static IEnumerable GetSheets() => COMPAT_GetSheets(); + public static IEnumerable GetKeys(string sheetTitle) => COMPAT_GetKeys(sheetTitle); + public static bool Has(string key) => COMPAT_Has(key); + public static bool Has(string key, string sheet) => COMPAT_Has(key, sheet); + public static bool HasSheet(string sheet) => COMPAT_HasSheet(sheet); + public static LanguageCode LanguageNameToCode(USystemLanguage name) => (LanguageCode) COMPAT_LanguageNameToCode(name); + public static string GetInternal(string key, string sheetTitle) => COMPAT_Get(key, sheetTitle); public static string Get(string key, string sheetTitle) => Modding.ModHooks.LanguageGet(key, sheetTitle); + + // for backwards compatibility + // KEEP THIS BELOW THE Language CLASS!!! + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Void LoadLanguage()")] + [MonoMod.MonoModRemove] + public static extern void COMPAT_LoadLanguage(); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Void LoadAvailableLanguages()")] + [MonoMod.MonoModRemove] + public static extern void COMPAT_LoadAvailableLanguages(); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String[] GetLanguages()")] + [MonoMod.MonoModRemove] + public static extern string[] COMPAT_GetLanguages(); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean SwitchLanguage(System.String)")] + [MonoMod.MonoModRemove] + public static extern bool COMPAT_SwitchLanguage(string langCode); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean SwitchLanguage(TeamCherry.Localization.LanguageCode)")] + [MonoMod.MonoModRemove] + public static extern bool COMPAT_SwitchLanguage(TeamCherry.Localization.LanguageCode code); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "UnityEngine.Object GetAsset(System.String)")] + [MonoMod.MonoModRemove] + public static extern UObject COMPAT_GetAsset(string name); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "TeamCherry.Localization.LanguageCode CurrentLanguage()")] + [MonoMod.MonoModRemove] + public static extern TeamCherry.Localization.LanguageCode COMPAT_CurrentLanguage(); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String Get(System.String)")] + [MonoMod.MonoModRemove] + public static extern string COMPAT_Get(string key); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String Get(System.String,System.String)")] + [MonoMod.MonoModRemove] + public static extern string COMPAT_Get(string key, string sheetTitle); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Collections.Generic.IEnumerable`1 GetSheets()")] + [MonoMod.MonoModRemove] + public static extern IEnumerable COMPAT_GetSheets(); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Collections.Generic.IEnumerable`1 GetKeys(System.String)")] + [MonoMod.MonoModRemove] + public static extern IEnumerable COMPAT_GetKeys(string sheetTitle); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean Has(System.String)")] + [MonoMod.MonoModRemove] + public static extern bool COMPAT_Has(string key); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean Has(System.String,System.String)")] + [MonoMod.MonoModRemove] + public static extern bool COMPAT_Has(string key, string sheet); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean HasSheet(System.String)")] + [MonoMod.MonoModRemove] + public static extern bool COMPAT_HasSheet(string sheet); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "TeamCherry.Localization.LanguageCode LanguageNameToCode(UnityEngine.SystemLanguage)")] + [MonoMod.MonoModRemove] + public static extern TeamCherry.Localization.LanguageCode COMPAT_LanguageNameToCode(USystemLanguage name); } \ No newline at end of file diff --git a/Assembly-CSharp/Language/LanguageCode.cs b/Assembly-CSharp/Language/LanguageCode.cs new file mode 100644 index 00000000..5f3fce38 --- /dev/null +++ b/Assembly-CSharp/Language/LanguageCode.cs @@ -0,0 +1,211 @@ +namespace Language; + +// for backwards compatibility +public enum LanguageCode +{ + N = TeamCherry.Localization.LanguageCode.N, + AA = TeamCherry.Localization.LanguageCode.AA, + AB = TeamCherry.Localization.LanguageCode.AB, + AF = TeamCherry.Localization.LanguageCode.AF, + AM = TeamCherry.Localization.LanguageCode.AM, + AR = TeamCherry.Localization.LanguageCode.AR, + AR_SA = TeamCherry.Localization.LanguageCode.AR_SA, + AR_EG = TeamCherry.Localization.LanguageCode.AR_EG, + AR_DZ = TeamCherry.Localization.LanguageCode.AR_DZ, + AR_YE = TeamCherry.Localization.LanguageCode.AR_YE, + AR_JO = TeamCherry.Localization.LanguageCode.AR_JO, + AR_KW = TeamCherry.Localization.LanguageCode.AR_KW, + AR_BH = TeamCherry.Localization.LanguageCode.AR_BH, + AR_IQ = TeamCherry.Localization.LanguageCode.AR_IQ, + AR_MA = TeamCherry.Localization.LanguageCode.AR_MA, + AR_LY = TeamCherry.Localization.LanguageCode.AR_LY, + AR_OM = TeamCherry.Localization.LanguageCode.AR_OM, + AR_SY = TeamCherry.Localization.LanguageCode.AR_SY, + AR_LB = TeamCherry.Localization.LanguageCode.AR_LB, + AR_AE = TeamCherry.Localization.LanguageCode.AR_AE, + AR_QA = TeamCherry.Localization.LanguageCode.AR_QA, + AS = TeamCherry.Localization.LanguageCode.AS, + AY = TeamCherry.Localization.LanguageCode.AY, + AZ = TeamCherry.Localization.LanguageCode.AZ, + BA = TeamCherry.Localization.LanguageCode.BA, + BE = TeamCherry.Localization.LanguageCode.BE, + BG = TeamCherry.Localization.LanguageCode.BG, + BH = TeamCherry.Localization.LanguageCode.BH, + BI = TeamCherry.Localization.LanguageCode.BI, + BN = TeamCherry.Localization.LanguageCode.BN, + BO = TeamCherry.Localization.LanguageCode.BO, + BR = TeamCherry.Localization.LanguageCode.BR, + CA = TeamCherry.Localization.LanguageCode.CA, + CO = TeamCherry.Localization.LanguageCode.CO, + CS = TeamCherry.Localization.LanguageCode.CS, + CY = TeamCherry.Localization.LanguageCode.CY, + DA = TeamCherry.Localization.LanguageCode.DA, + DE = TeamCherry.Localization.LanguageCode.DE, + DE_AT = TeamCherry.Localization.LanguageCode.DE_AT, + DE_LI = TeamCherry.Localization.LanguageCode.DE_LI, + DE_CH = TeamCherry.Localization.LanguageCode.DE_CH, + DE_LU = TeamCherry.Localization.LanguageCode.DE_LU, + DZ = TeamCherry.Localization.LanguageCode.DZ, + EL = TeamCherry.Localization.LanguageCode.EL, + EN = TeamCherry.Localization.LanguageCode.EN, + EN_US = TeamCherry.Localization.LanguageCode.EN_US, + EN_AU = TeamCherry.Localization.LanguageCode.EN_AU, + EN_NZ = TeamCherry.Localization.LanguageCode.EN_NZ, + EN_ZA = TeamCherry.Localization.LanguageCode.EN_ZA, + EN_CB = TeamCherry.Localization.LanguageCode.EN_CB, + EN_TT = TeamCherry.Localization.LanguageCode.EN_TT, + EN_GB = TeamCherry.Localization.LanguageCode.EN_GB, + EN_CA = TeamCherry.Localization.LanguageCode.EN_CA, + EN_IE = TeamCherry.Localization.LanguageCode.EN_IE, + EN_JM = TeamCherry.Localization.LanguageCode.EN_JM, + EN_BZ = TeamCherry.Localization.LanguageCode.EN_BZ, + EO = TeamCherry.Localization.LanguageCode.EO, + ES = TeamCherry.Localization.LanguageCode.ES, + ES_MX = TeamCherry.Localization.LanguageCode.ES_MX, + ES_CR = TeamCherry.Localization.LanguageCode.ES_CR, + ES_DO = TeamCherry.Localization.LanguageCode.ES_DO, + ES_CO = TeamCherry.Localization.LanguageCode.ES_CO, + ES_AR = TeamCherry.Localization.LanguageCode.ES_AR, + ES_CL = TeamCherry.Localization.LanguageCode.ES_CL, + ES_PY = TeamCherry.Localization.LanguageCode.ES_PY, + ES_SV = TeamCherry.Localization.LanguageCode.ES_SV, + ES_NI = TeamCherry.Localization.LanguageCode.ES_NI, + ES_GT = TeamCherry.Localization.LanguageCode.ES_GT, + ES_PA = TeamCherry.Localization.LanguageCode.ES_PA, + ES_VE = TeamCherry.Localization.LanguageCode.ES_VE, + ES_PE = TeamCherry.Localization.LanguageCode.ES_PE, + ES_EC = TeamCherry.Localization.LanguageCode.ES_EC, + ES_UY = TeamCherry.Localization.LanguageCode.ES_UY, + ES_BO = TeamCherry.Localization.LanguageCode.ES_BO, + ES_HN = TeamCherry.Localization.LanguageCode.ES_HN, + ES_PR = TeamCherry.Localization.LanguageCode.ES_PR, + ET = TeamCherry.Localization.LanguageCode.ET, + EU = TeamCherry.Localization.LanguageCode.EU, + FA = TeamCherry.Localization.LanguageCode.FA, + FI = TeamCherry.Localization.LanguageCode.FI, + FJ = TeamCherry.Localization.LanguageCode.FJ, + FO = TeamCherry.Localization.LanguageCode.FO, + FR = TeamCherry.Localization.LanguageCode.FR, + FR_BE = TeamCherry.Localization.LanguageCode.FR_BE, + FR_CH = TeamCherry.Localization.LanguageCode.FR_CH, + FR_CA = TeamCherry.Localization.LanguageCode.FR_CA, + FR_LU = TeamCherry.Localization.LanguageCode.FR_LU, + FY = TeamCherry.Localization.LanguageCode.FY, + GA = TeamCherry.Localization.LanguageCode.GA, + GD = TeamCherry.Localization.LanguageCode.GD, + GL = TeamCherry.Localization.LanguageCode.GL, + GN = TeamCherry.Localization.LanguageCode.GN, + GU = TeamCherry.Localization.LanguageCode.GU, + HA = TeamCherry.Localization.LanguageCode.HA, + HI = TeamCherry.Localization.LanguageCode.HI, + HE = TeamCherry.Localization.LanguageCode.HE, + HR = TeamCherry.Localization.LanguageCode.HR, + HU = TeamCherry.Localization.LanguageCode.HU, + HY = TeamCherry.Localization.LanguageCode.HY, + IA = TeamCherry.Localization.LanguageCode.IA, + ID = TeamCherry.Localization.LanguageCode.ID, + IE = TeamCherry.Localization.LanguageCode.IE, + IK = TeamCherry.Localization.LanguageCode.IK, + IN = TeamCherry.Localization.LanguageCode.IN, + IS = TeamCherry.Localization.LanguageCode.IS, + IT = TeamCherry.Localization.LanguageCode.IT, + IT_CH = TeamCherry.Localization.LanguageCode.IT_CH, + IU = TeamCherry.Localization.LanguageCode.IU, + IW = TeamCherry.Localization.LanguageCode.IW, + JA = TeamCherry.Localization.LanguageCode.JA, + JI = TeamCherry.Localization.LanguageCode.JI, + JW = TeamCherry.Localization.LanguageCode.JW, + KA = TeamCherry.Localization.LanguageCode.KA, + KK = TeamCherry.Localization.LanguageCode.KK, + KL = TeamCherry.Localization.LanguageCode.KL, + KM = TeamCherry.Localization.LanguageCode.KM, + KN = TeamCherry.Localization.LanguageCode.KN, + KO = TeamCherry.Localization.LanguageCode.KO, + KS = TeamCherry.Localization.LanguageCode.KS, + KU = TeamCherry.Localization.LanguageCode.KU, + KY = TeamCherry.Localization.LanguageCode.KY, + LA = TeamCherry.Localization.LanguageCode.LA, + LN = TeamCherry.Localization.LanguageCode.LN, + LO = TeamCherry.Localization.LanguageCode.LO, + LT = TeamCherry.Localization.LanguageCode.LT, + LV = TeamCherry.Localization.LanguageCode.LV, + MG = TeamCherry.Localization.LanguageCode.MG, + MI = TeamCherry.Localization.LanguageCode.MI, + MK = TeamCherry.Localization.LanguageCode.MK, + ML = TeamCherry.Localization.LanguageCode.ML, + MN = TeamCherry.Localization.LanguageCode.MN, + MO = TeamCherry.Localization.LanguageCode.MO, + MR = TeamCherry.Localization.LanguageCode.MR, + MS = TeamCherry.Localization.LanguageCode.MS, + MT = TeamCherry.Localization.LanguageCode.MT, + MY = TeamCherry.Localization.LanguageCode.MY, + NA = TeamCherry.Localization.LanguageCode.NA, + NE = TeamCherry.Localization.LanguageCode.NE, + NL = TeamCherry.Localization.LanguageCode.NL, + NL_BE = TeamCherry.Localization.LanguageCode.NL_BE, + NO = TeamCherry.Localization.LanguageCode.NO, + OC = TeamCherry.Localization.LanguageCode.OC, + OM = TeamCherry.Localization.LanguageCode.OM, + OR = TeamCherry.Localization.LanguageCode.OR, + PA = TeamCherry.Localization.LanguageCode.PA, + PL = TeamCherry.Localization.LanguageCode.PL, + PS = TeamCherry.Localization.LanguageCode.PS, + PT = TeamCherry.Localization.LanguageCode.PT, + PT_BR = TeamCherry.Localization.LanguageCode.PT_BR, + QU = TeamCherry.Localization.LanguageCode.QU, + RM = TeamCherry.Localization.LanguageCode.RM, + RN = TeamCherry.Localization.LanguageCode.RN, + RO = TeamCherry.Localization.LanguageCode.RO, + RO_MO = TeamCherry.Localization.LanguageCode.RO_MO, + RU = TeamCherry.Localization.LanguageCode.RU, + RU_MO = TeamCherry.Localization.LanguageCode.RU_MO, + RW = TeamCherry.Localization.LanguageCode.RW, + SA = TeamCherry.Localization.LanguageCode.SA, + SD = TeamCherry.Localization.LanguageCode.SD, + SG = TeamCherry.Localization.LanguageCode.SG, + SH = TeamCherry.Localization.LanguageCode.SH, + SI = TeamCherry.Localization.LanguageCode.SI, + SK = TeamCherry.Localization.LanguageCode.SK, + SL = TeamCherry.Localization.LanguageCode.SL, + SM = TeamCherry.Localization.LanguageCode.SM, + SN = TeamCherry.Localization.LanguageCode.SN, + SO = TeamCherry.Localization.LanguageCode.SO, + SQ = TeamCherry.Localization.LanguageCode.SQ, + SR = TeamCherry.Localization.LanguageCode.SR, + SS = TeamCherry.Localization.LanguageCode.SS, + ST = TeamCherry.Localization.LanguageCode.ST, + SU = TeamCherry.Localization.LanguageCode.SU, + SV = TeamCherry.Localization.LanguageCode.SV, + SV_FI = TeamCherry.Localization.LanguageCode.SV_FI, + SW = TeamCherry.Localization.LanguageCode.SW, + TA = TeamCherry.Localization.LanguageCode.TA, + TE = TeamCherry.Localization.LanguageCode.TE, + TG = TeamCherry.Localization.LanguageCode.TG, + TH = TeamCherry.Localization.LanguageCode.TH, + TI = TeamCherry.Localization.LanguageCode.TI, + TK = TeamCherry.Localization.LanguageCode.TK, + TL = TeamCherry.Localization.LanguageCode.TL, + TN = TeamCherry.Localization.LanguageCode.TN, + TO = TeamCherry.Localization.LanguageCode.TO, + TR = TeamCherry.Localization.LanguageCode.TR, + TS = TeamCherry.Localization.LanguageCode.TS, + TT = TeamCherry.Localization.LanguageCode.TT, + TW = TeamCherry.Localization.LanguageCode.TW, + UG = TeamCherry.Localization.LanguageCode.UG, + UK = TeamCherry.Localization.LanguageCode.UK, + UR = TeamCherry.Localization.LanguageCode.UR, + UZ = TeamCherry.Localization.LanguageCode.UZ, + VI = TeamCherry.Localization.LanguageCode.VI, + VO = TeamCherry.Localization.LanguageCode.VO, + WO = TeamCherry.Localization.LanguageCode.WO, + XH = TeamCherry.Localization.LanguageCode.XH, + YI = TeamCherry.Localization.LanguageCode.YI, + YO = TeamCherry.Localization.LanguageCode.YO, + ZA = TeamCherry.Localization.LanguageCode.ZA, + ZH = TeamCherry.Localization.LanguageCode.ZH, + ZH_TW = TeamCherry.Localization.LanguageCode.ZH_TW, + ZH_HK = TeamCherry.Localization.LanguageCode.ZH_HK, + ZH_CN = TeamCherry.Localization.LanguageCode.ZH_CN, + ZH_SG = TeamCherry.Localization.LanguageCode.ZH_SG, + ZU = TeamCherry.Localization.LanguageCode.ZU, +} \ No newline at end of file diff --git a/Assembly-CSharp/Patches/StartManager.cs b/Assembly-CSharp/Patches/StartManager.cs index dc9e9fd0..43a6f3fc 100644 --- a/Assembly-CSharp/Patches/StartManager.cs +++ b/Assembly-CSharp/Patches/StartManager.cs @@ -87,7 +87,7 @@ private IEnumerator Start() yield return base.StartCoroutine(this.LanguageSettingDone()); } - TeamCherry.Localization.LanguageCode currentLanguage = Language.Language.CurrentLanguage(); + TeamCherry.Localization.LanguageCode currentLanguage = (TeamCherry.Localization.LanguageCode) Language.Language.CurrentLanguage(); while (!Platform.Current.IsSharedDataMounted) { yield return null; From 9674f71b6086388d0562f5f2b2d53042b2d668b6 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Wed, 18 Feb 2026 22:10:04 +0100 Subject: [PATCH 15/54] accidental double newline --- Assembly-CSharp/Language/Language.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Assembly-CSharp/Language/Language.cs b/Assembly-CSharp/Language/Language.cs index 5f65cc57..eeaf5151 100644 --- a/Assembly-CSharp/Language/Language.cs +++ b/Assembly-CSharp/Language/Language.cs @@ -4,7 +4,6 @@ using UObject = UnityEngine.Object; using USystemLanguage = UnityEngine.SystemLanguage; - namespace Language; // for backwards compatibility From b74e35b409309d202103b9dce5c944265395e2b2 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Wed, 18 Feb 2026 22:29:31 +0100 Subject: [PATCH 16/54] make comment clear make compat methods private --- Assembly-CSharp/Language/Language.cs | 35 ++++++++++++++-------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/Assembly-CSharp/Language/Language.cs b/Assembly-CSharp/Language/Language.cs index eeaf5151..4bcbd1ba 100644 --- a/Assembly-CSharp/Language/Language.cs +++ b/Assembly-CSharp/Language/Language.cs @@ -27,51 +27,52 @@ public static class Language public static string GetInternal(string key, string sheetTitle) => COMPAT_Get(key, sheetTitle); public static string Get(string key, string sheetTitle) => Modding.ModHooks.LanguageGet(key, sheetTitle); - // for backwards compatibility - // KEEP THIS BELOW THE Language CLASS!!! + // Keep these below the `[MonoMod.MonoModLinkFrom("TeamCherry.Localization.Language")]`, as the reverse order would cause a cyclic loop of methods calling themselves + // thanks to MonoMod resolving these links top-down + // which would make a `LinkTo(TCLL)->LinkFrom(TCLL)` into a fully recursive function ⟳ [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Void LoadLanguage()")] [MonoMod.MonoModRemove] - public static extern void COMPAT_LoadLanguage(); + private static extern void COMPAT_LoadLanguage(); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Void LoadAvailableLanguages()")] [MonoMod.MonoModRemove] - public static extern void COMPAT_LoadAvailableLanguages(); + private static extern void COMPAT_LoadAvailableLanguages(); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String[] GetLanguages()")] [MonoMod.MonoModRemove] - public static extern string[] COMPAT_GetLanguages(); + private static extern string[] COMPAT_GetLanguages(); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean SwitchLanguage(System.String)")] [MonoMod.MonoModRemove] - public static extern bool COMPAT_SwitchLanguage(string langCode); + private static extern bool COMPAT_SwitchLanguage(string langCode); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean SwitchLanguage(TeamCherry.Localization.LanguageCode)")] [MonoMod.MonoModRemove] - public static extern bool COMPAT_SwitchLanguage(TeamCherry.Localization.LanguageCode code); + private static extern bool COMPAT_SwitchLanguage(TeamCherry.Localization.LanguageCode code); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "UnityEngine.Object GetAsset(System.String)")] [MonoMod.MonoModRemove] - public static extern UObject COMPAT_GetAsset(string name); + private static extern UObject COMPAT_GetAsset(string name); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "TeamCherry.Localization.LanguageCode CurrentLanguage()")] [MonoMod.MonoModRemove] - public static extern TeamCherry.Localization.LanguageCode COMPAT_CurrentLanguage(); + private static extern TeamCherry.Localization.LanguageCode COMPAT_CurrentLanguage(); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String Get(System.String)")] [MonoMod.MonoModRemove] - public static extern string COMPAT_Get(string key); + private static extern string COMPAT_Get(string key); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String Get(System.String,System.String)")] [MonoMod.MonoModRemove] - public static extern string COMPAT_Get(string key, string sheetTitle); + private static extern string COMPAT_Get(string key, string sheetTitle); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Collections.Generic.IEnumerable`1 GetSheets()")] [MonoMod.MonoModRemove] - public static extern IEnumerable COMPAT_GetSheets(); + private static extern IEnumerable COMPAT_GetSheets(); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Collections.Generic.IEnumerable`1 GetKeys(System.String)")] [MonoMod.MonoModRemove] - public static extern IEnumerable COMPAT_GetKeys(string sheetTitle); + private static extern IEnumerable COMPAT_GetKeys(string sheetTitle); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean Has(System.String)")] [MonoMod.MonoModRemove] - public static extern bool COMPAT_Has(string key); + private static extern bool COMPAT_Has(string key); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean Has(System.String,System.String)")] [MonoMod.MonoModRemove] - public static extern bool COMPAT_Has(string key, string sheet); + private static extern bool COMPAT_Has(string key, string sheet); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean HasSheet(System.String)")] [MonoMod.MonoModRemove] - public static extern bool COMPAT_HasSheet(string sheet); + private static extern bool COMPAT_HasSheet(string sheet); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "TeamCherry.Localization.LanguageCode LanguageNameToCode(UnityEngine.SystemLanguage)")] [MonoMod.MonoModRemove] - public static extern TeamCherry.Localization.LanguageCode COMPAT_LanguageNameToCode(USystemLanguage name); + private static extern TeamCherry.Localization.LanguageCode COMPAT_LanguageNameToCode(USystemLanguage name); } \ No newline at end of file From 7211d50d86514a9b4819f7df4a96309b87f36008 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 28 Feb 2026 19:31:36 +0100 Subject: [PATCH 17/54] don't relink the entirety of TCLL, just the `get(str, str)` method --- Assembly-CSharp/Language/Language.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Assembly-CSharp/Language/Language.cs b/Assembly-CSharp/Language/Language.cs index 4bcbd1ba..ca210c2f 100644 --- a/Assembly-CSharp/Language/Language.cs +++ b/Assembly-CSharp/Language/Language.cs @@ -7,14 +7,13 @@ namespace Language; // for backwards compatibility -[MonoMod.MonoModLinkFrom("TeamCherry.Localization.Language")] public static class Language { public static void LoadLanguage() => COMPAT_LoadLanguage(); public static void LoadAvailableLanguages() => COMPAT_LoadAvailableLanguages(); public static string[] GetLanguages() => COMPAT_GetLanguages(); public static bool SwitchLanguage(string langCode) => COMPAT_SwitchLanguage(langCode); - public static bool SwitchLanguage(TeamCherry.Localization.LanguageCode code) => COMPAT_SwitchLanguage(code); + public static bool SwitchLanguage(LanguageCode code) => COMPAT_SwitchLanguage((TeamCherry.Localization.LanguageCode) code); public static UObject GetAsset(string name) => COMPAT_GetAsset(name); public static LanguageCode CurrentLanguage() => (LanguageCode) COMPAT_CurrentLanguage(); public static string Get(string key) => COMPAT_Get(key); @@ -25,6 +24,7 @@ public static class Language public static bool HasSheet(string sheet) => COMPAT_HasSheet(sheet); public static LanguageCode LanguageNameToCode(USystemLanguage name) => (LanguageCode) COMPAT_LanguageNameToCode(name); public static string GetInternal(string key, string sheetTitle) => COMPAT_Get(key, sheetTitle); + [MonoMod.MonoModLinkFrom("TeamCherry.Localization.Language", "System.String Get(System.String,System.String)")] public static string Get(string key, string sheetTitle) => Modding.ModHooks.LanguageGet(key, sheetTitle); // Keep these below the `[MonoMod.MonoModLinkFrom("TeamCherry.Localization.Language")]`, as the reverse order would cause a cyclic loop of methods calling themselves From 2252e7d3c851efce7b33b6dccc3506d8caf8e8f6 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 28 Feb 2026 19:41:24 +0100 Subject: [PATCH 18/54] MonoModLinkFrom has only 1 arg --- Assembly-CSharp/Language/Language.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assembly-CSharp/Language/Language.cs b/Assembly-CSharp/Language/Language.cs index ca210c2f..c7dd5533 100644 --- a/Assembly-CSharp/Language/Language.cs +++ b/Assembly-CSharp/Language/Language.cs @@ -24,7 +24,7 @@ public static class Language public static bool HasSheet(string sheet) => COMPAT_HasSheet(sheet); public static LanguageCode LanguageNameToCode(USystemLanguage name) => (LanguageCode) COMPAT_LanguageNameToCode(name); public static string GetInternal(string key, string sheetTitle) => COMPAT_Get(key, sheetTitle); - [MonoMod.MonoModLinkFrom("TeamCherry.Localization.Language", "System.String Get(System.String,System.String)")] + [MonoMod.MonoModLinkFrom("System.String TeamCherry.Localization.Language::Get(System.String,System.String)")] public static string Get(string key, string sheetTitle) => Modding.ModHooks.LanguageGet(key, sheetTitle); // Keep these below the `[MonoMod.MonoModLinkFrom("TeamCherry.Localization.Language")]`, as the reverse order would cause a cyclic loop of methods calling themselves From 32ab611e714181686e8368059293bb68dc90a604 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 28 Feb 2026 20:04:39 +0100 Subject: [PATCH 19/54] not just desktopplatform with `EncryptedSharedData` --- Assembly-CSharp/Patches/DesktopPlatform.cs | 18 ------------------ Assembly-CSharp/Patches/Platform.cs | 9 ++++++++- 2 files changed, 8 insertions(+), 19 deletions(-) delete mode 100644 Assembly-CSharp/Patches/DesktopPlatform.cs diff --git a/Assembly-CSharp/Patches/DesktopPlatform.cs b/Assembly-CSharp/Patches/DesktopPlatform.cs deleted file mode 100644 index c5548c15..00000000 --- a/Assembly-CSharp/Patches/DesktopPlatform.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using MonoMod; - -// ReSharper disable all -#pragma warning disable 1591, 649, 414, 169, CS0108, CS0626 - -namespace Modding.Patches -{ - [MonoModPatch("global::DesktopPlatform")] - public class DesktopPlatform : global::DesktopPlatform - { - [Obsolete("Please update your mod to the new HK version and use `RoamingSharedData` instead")] - public ISharedData EncryptedSharedData - { - get { return RoamingSharedData; } - } - } -} \ No newline at end of file diff --git a/Assembly-CSharp/Patches/Platform.cs b/Assembly-CSharp/Patches/Platform.cs index 28b67b31..f7f811f0 100644 --- a/Assembly-CSharp/Patches/Platform.cs +++ b/Assembly-CSharp/Patches/Platform.cs @@ -1,4 +1,5 @@ -using MonoMod; +using System; +using MonoMod; // ReSharper disable all #pragma warning disable 1591, 108, 114 @@ -8,6 +9,12 @@ namespace Modding.Patches [MonoModPatch("global::Platform")] public abstract class Platform : global::Platform { + [Obsolete("Please update your mod to the new HK version and use `RoamingSharedData` instead")] + public ISharedData EncryptedSharedData + { + get { return RoamingSharedData; } + } + public static bool IsSaveSlotIndexValid(int slotIndex) => true; // ReSharper disable once UnusedMember.Global From ae7998bd2e855912898edeed756b45896a66099a Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 28 Feb 2026 20:05:01 +0100 Subject: [PATCH 20/54] make it an obsolete warning --- Assembly-CSharp/Language/Language.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assembly-CSharp/Language/Language.cs b/Assembly-CSharp/Language/Language.cs index c7dd5533..03c63d9f 100644 --- a/Assembly-CSharp/Language/Language.cs +++ b/Assembly-CSharp/Language/Language.cs @@ -6,7 +6,7 @@ namespace Language; -// for backwards compatibility +[Obsolete("Use `TeamCherry.Localization.Language` instead.")] public static class Language { public static void LoadLanguage() => COMPAT_LoadLanguage(); From fc2be8cd4eafaf3163af165493fac23b45377854 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 28 Feb 2026 20:05:11 +0100 Subject: [PATCH 21/54] try to have type forwarding --- Assembly-CSharp/tk2d/tk2dForwarding.cs | 56 ++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 Assembly-CSharp/tk2d/tk2dForwarding.cs diff --git a/Assembly-CSharp/tk2d/tk2dForwarding.cs b/Assembly-CSharp/tk2d/tk2dForwarding.cs new file mode 100644 index 00000000..8e2230f1 --- /dev/null +++ b/Assembly-CSharp/tk2d/tk2dForwarding.cs @@ -0,0 +1,56 @@ +using System.Runtime.CompilerServices; + +// for backwards compatibility +[assembly:TypeForwardedTo(typeof(tk2dAnimatedSprite))] +[assembly:TypeForwardedTo(typeof(tk2dAssetPlatform))] +[assembly:TypeForwardedTo(typeof(tk2dBaseSprite))] +[assembly:TypeForwardedTo(typeof(tk2dBatchedSprite))] +[assembly:TypeForwardedTo(typeof(tk2dButton))] +[assembly:TypeForwardedTo(typeof(tk2dCamera))] +[assembly:TypeForwardedTo(typeof(tk2dCameraAnchor))] +[assembly:TypeForwardedTo(typeof(tk2dCameraResolutionOverride))] +[assembly:TypeForwardedTo(typeof(tk2dCameraSettings))] +[assembly:TypeForwardedTo(typeof(tk2dClippedSprite))] +[assembly:TypeForwardedTo(typeof(tk2dCollider2DData))] +[assembly:TypeForwardedTo(typeof(tk2dEditorSpriteDataUnloader))] +[assembly:TypeForwardedTo(typeof(tk2dFont))] +[assembly:TypeForwardedTo(typeof(tk2dFontChar))] +[assembly:TypeForwardedTo(typeof(tk2dFontData))] +[assembly:TypeForwardedTo(typeof(tk2dFontKerning))] +[assembly:TypeForwardedTo(typeof(Tk2dGlobalEvents))] +[assembly:TypeForwardedTo(typeof(tk2dLinkedSpriteCollection))] +[assembly:TypeForwardedTo(typeof(tk2dPixelPerfectHelper))] +[assembly:TypeForwardedTo(typeof(tk2dResource))] +[assembly:TypeForwardedTo(typeof(tk2dResourceTocEntry))] +[assembly:TypeForwardedTo(typeof(tk2dSlicedSprite))] +[assembly:TypeForwardedTo(typeof(tk2dSprite))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteAnimation))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteAnimationClip))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteAnimationFrame))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteAnimator))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteAttachPoint))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteCollection))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteCollectionData))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteCollectionDefault))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteCollectionDefinition))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteCollectionFont))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteCollectionPlatform))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteCollectionSize))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteColliderDefinition))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteColliderIsland))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteDefinition))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteFromTexture))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteGeomGen))] +[assembly:TypeForwardedTo(typeof(Tk2dSpriteSetKeywords))] +[assembly:TypeForwardedTo(typeof(tk2dSpriteSheetSource))] +[assembly:TypeForwardedTo(typeof(tk2dStaticSpriteBatcher))] +[assembly:TypeForwardedTo(typeof(tk2dSystem))] +[assembly:TypeForwardedTo(typeof(tk2dTextGeomGen))] +[assembly:TypeForwardedTo(typeof(tk2dTextMesh))] +[assembly:TypeForwardedTo(typeof(tk2dTextMeshData))] +[assembly:TypeForwardedTo(typeof(tk2dTiledSprite))] +[assembly:TypeForwardedTo(typeof(tk2dTileFlags))] +[assembly:TypeForwardedTo(typeof(tk2dTileMap))] +[assembly:TypeForwardedTo(typeof(tk2dTileMapData))] +[assembly:TypeForwardedTo(typeof(tk2dUpdateManager))] +[assembly:TypeForwardedTo(typeof(tk2dUtil))] \ No newline at end of file From a63c33e622ec85bc2b0cde65e6520a028ab88041 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 28 Feb 2026 21:36:20 +0100 Subject: [PATCH 22/54] add postpatcher - to patch tk2d typeforwarders back --- .gitignore | 1 + Assembly-CSharp/Assembly-CSharp.csproj | 44 ++++++++---- Assembly-CSharp/{tk2d => }/tk2dForwarding.cs | 4 +- HollowKnight.Modding.API.sln | 6 ++ PostPatcher/App.config | 6 ++ PostPatcher/PostPatcher.csproj | 41 +++++++++++ PostPatcher/Program.cs | 74 ++++++++++++++++++++ PostPatcher/Properties/AssemblyInfo.cs | 9 +++ 8 files changed, 168 insertions(+), 17 deletions(-) rename Assembly-CSharp/{tk2d => }/tk2dForwarding.cs (96%) create mode 100644 PostPatcher/App.config create mode 100644 PostPatcher/PostPatcher.csproj create mode 100644 PostPatcher/Program.cs create mode 100644 PostPatcher/Properties/AssemblyInfo.cs diff --git a/.gitignore b/.gitignore index 2a2b1d90..faafeb70 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ ## files generated by popular Visual Studio add-ons. PrePatcher/Output +PostPatcher/Output # User-specific files *.suo diff --git a/Assembly-CSharp/Assembly-CSharp.csproj b/Assembly-CSharp/Assembly-CSharp.csproj index 7a5ae4fe..0add8292 100644 --- a/Assembly-CSharp/Assembly-CSharp.csproj +++ b/Assembly-CSharp/Assembly-CSharp.csproj @@ -17,7 +17,7 @@ - + @@ -30,8 +30,8 @@ C:/Program Files (x86)/Steam/steamapps/common/Hollow Knight $(HOME)/.local/share/Steam/steamapps/common/Hollow Knight - $(GamePath)/hollow_knight_Data/Managed - + $(GamePath)/hollow_knight_Data/Managed + mono @@ -41,12 +41,23 @@ + + + + + + + + + + + @@ -58,13 +69,13 @@ - + - + - + @@ -74,12 +85,12 @@ - + - + - + .dll @@ -93,14 +104,14 @@ - + - + full bin\$(Configuration)\Assembly-CSharp.mm.xml @@ -118,20 +129,23 @@ all - + all - + - + false + + false + - + diff --git a/Assembly-CSharp/tk2d/tk2dForwarding.cs b/Assembly-CSharp/tk2dForwarding.cs similarity index 96% rename from Assembly-CSharp/tk2d/tk2dForwarding.cs rename to Assembly-CSharp/tk2dForwarding.cs index 8e2230f1..c61eb2e7 100644 --- a/Assembly-CSharp/tk2d/tk2dForwarding.cs +++ b/Assembly-CSharp/tk2dForwarding.cs @@ -1,6 +1,6 @@ using System.Runtime.CompilerServices; -// for backwards compatibility +// for backwards compatibility, done by hand in PostPatcher [assembly:TypeForwardedTo(typeof(tk2dAnimatedSprite))] [assembly:TypeForwardedTo(typeof(tk2dAssetPlatform))] [assembly:TypeForwardedTo(typeof(tk2dBaseSprite))] @@ -53,4 +53,4 @@ [assembly:TypeForwardedTo(typeof(tk2dTileMap))] [assembly:TypeForwardedTo(typeof(tk2dTileMapData))] [assembly:TypeForwardedTo(typeof(tk2dUpdateManager))] -[assembly:TypeForwardedTo(typeof(tk2dUtil))] \ No newline at end of file +[assembly:TypeForwardedTo(typeof(tk2dUtil))] diff --git a/HollowKnight.Modding.API.sln b/HollowKnight.Modding.API.sln index a0c12c01..085230af 100644 --- a/HollowKnight.Modding.API.sln +++ b/HollowKnight.Modding.API.sln @@ -10,6 +10,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PrePatcher", "PrePatcher\PrePatcher.csproj", "{E06FBDDA-0A27-45EC-AC28-259C23715C50}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PostPatcher", "PostPatcher\PostPatcher.csproj", "{CE61CBC8-9373-4C5B-BA15-DED48888DB73}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -24,6 +26,10 @@ Global {E06FBDDA-0A27-45EC-AC28-259C23715C50}.Debug|Any CPU.Build.0 = Debug|Any CPU {E06FBDDA-0A27-45EC-AC28-259C23715C50}.Release|Any CPU.ActiveCfg = Release|Any CPU {E06FBDDA-0A27-45EC-AC28-259C23715C50}.Release|Any CPU.Build.0 = Release|Any CPU + {CE61CBC8-9373-4C5B-BA15-DED48888DB73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CE61CBC8-9373-4C5B-BA15-DED48888DB73}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CE61CBC8-9373-4C5B-BA15-DED48888DB73}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CE61CBC8-9373-4C5B-BA15-DED48888DB73}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/PostPatcher/App.config b/PostPatcher/App.config new file mode 100644 index 00000000..56efbc7b --- /dev/null +++ b/PostPatcher/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/PostPatcher/PostPatcher.csproj b/PostPatcher/PostPatcher.csproj new file mode 100644 index 00000000..477e2a48 --- /dev/null +++ b/PostPatcher/PostPatcher.csproj @@ -0,0 +1,41 @@ + + + Exe + net472 + true + PostPatcher + PostPatcher + Copyright © 2019 + bin\$(Configuration)\ + 9 + + + + full + + + + pdbonly + + + + + + + + + + + + + + + + + + + + all + + + diff --git a/PostPatcher/Program.cs b/PostPatcher/Program.cs new file mode 100644 index 00000000..fde8a782 --- /dev/null +++ b/PostPatcher/Program.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using Mono.Cecil; +using Mono.Cecil.Cil; +using Mono.Cecil.Rocks; +using MethodAttributes = Mono.Cecil.MethodAttributes; + +namespace Postpatcher +{ + // ReSharper disable once ClassNeverInstantiated.Global + internal class Program + { + private static void Main(string[] args) + { + if (args.Length < 2) + { + Console.WriteLine("Usage: PostPatcher.exe "); + return; + } + + int changes = 0; + + using AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly(args[0]); + + ForwardTk2dTypes(assembly); + + assembly.Write(args[1]); + + Console.WriteLine("Changed " + changes + " get/set calls"); + } + + private static void ForwardTk2dTypes(AssemblyDefinition assembly) + { + AssemblyNameReference assemblyNameReference = new AssemblyNameReference("TeamCherry.TK2D", null); + foreach (var typeName in new string[] + { + "tk2dAnimatedSprite", "tk2dAssetPlatform", "tk2dBaseSprite", "tk2dBatchedSprite", "tk2dButton", "tk2dCamera", "tk2dCameraAnchor", + "tk2dCameraResolutionOverride", "tk2dCameraSettings", "tk2dClippedSprite", "tk2dCollider2DData", "tk2dEditorSpriteDataUnloader", + "tk2dFont", "tk2dFontChar", "tk2dFontData", "tk2dFontKerning", "Tk2dGlobalEvents", "tk2dLinkedSpriteCollection", + "tk2dPixelPerfectHelper", "tk2dResource", "tk2dResourceTocEntry", "tk2dSlicedSprite", "tk2dSprite", "tk2dSpriteAnimation", + "tk2dSpriteAnimationClip", "tk2dSpriteAnimationFrame", "tk2dSpriteAnimator", "tk2dSpriteAttachPoint", "tk2dSpriteCollection", + "tk2dSpriteCollectionData", "tk2dSpriteCollectionDefault", "tk2dSpriteCollectionDefinition", "tk2dSpriteCollectionFont", + "tk2dSpriteCollectionPlatform", "tk2dSpriteCollectionSize", "tk2dSpriteColliderDefinition", "tk2dSpriteColliderIsland", + "tk2dSpriteDefinition", "tk2dSpriteFromTexture", "tk2dSpriteGeomGen", "Tk2dSpriteSetKeywords", "tk2dSpriteSheetSource", + "tk2dStaticSpriteBatcher", "tk2dSystem", "tk2dTextGeomGen", "tk2dTextMesh", "tk2dTextMeshData", "tk2dTiledSprite", "tk2dTileFlags", + "tk2dTileMap", "tk2dTileMapData", "tk2dUpdateManager", "tk2dUtil" + }) + { + var forwardedType = assembly.MainModule.ImportReference + ( + assembly.MainModule.AssemblyResolver + .Resolve(assemblyNameReference) + .MainModule.GetType(typeName) + ); + assembly.MainModule.ExportedTypes.Add + ( + new ExportedType + ( + "", + typeName, + assembly.MainModule, + assembly.Name + ) + { + Attributes = TypeAttributes.Public | TypeAttributes.Forwarder, + Scope = forwardedType.Scope + } + ); + } + } + } +} \ No newline at end of file diff --git a/PostPatcher/Properties/AssemblyInfo.cs b/PostPatcher/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..5010e0c8 --- /dev/null +++ b/PostPatcher/Properties/AssemblyInfo.cs @@ -0,0 +1,9 @@ +using System.Runtime.InteropServices; + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("e06fbdda-0a27-45ec-ac28-259c23715c51")] From f1703aabacf2c7476976ed226681897a254189ee Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 28 Feb 2026 22:49:09 +0100 Subject: [PATCH 23/54] more methods for language --- Assembly-CSharp/Language/Language.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Assembly-CSharp/Language/Language.cs b/Assembly-CSharp/Language/Language.cs index 03c63d9f..91c55d10 100644 --- a/Assembly-CSharp/Language/Language.cs +++ b/Assembly-CSharp/Language/Language.cs @@ -27,6 +27,10 @@ public static class Language [MonoMod.MonoModLinkFrom("System.String TeamCherry.Localization.Language::Get(System.String,System.String)")] public static string Get(string key, string sheetTitle) => Modding.ModHooks.LanguageGet(key, sheetTitle); + private static void DoSwitch(LanguageCode newLang) => COMPAT_DoSwitch((TeamCherry.Localization.LanguageCode) newLang); + private static bool HasLanguageFile(string lang, string sheetTitle) => COMPAT_HasLanguageFile(lang, sheetTitle); + private static string GetLanguageFileContents(string sheetTitle) => COMPAT_GetLanguageFileContents(sheetTitle); + // Keep these below the `[MonoMod.MonoModLinkFrom("TeamCherry.Localization.Language")]`, as the reverse order would cause a cyclic loop of methods calling themselves // thanks to MonoMod resolving these links top-down // which would make a `LinkTo(TCLL)->LinkFrom(TCLL)` into a fully recursive function ⟳ @@ -75,4 +79,13 @@ public static class Language [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "TeamCherry.Localization.LanguageCode LanguageNameToCode(UnityEngine.SystemLanguage)")] [MonoMod.MonoModRemove] private static extern TeamCherry.Localization.LanguageCode COMPAT_LanguageNameToCode(USystemLanguage name); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Void DoSwitch(TeamCherry.Localization.LanguageCode)")] + [MonoMod.MonoModRemove] + private static extern TeamCherry.Localization.LanguageCode COMPAT_DoSwitch(TeamCherry.Localization.LanguageCode name); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean HasLanguageFile(System.String,System.String)")] + [MonoMod.MonoModRemove] + private static extern bool COMPAT_HasLanguageFile(string lang, string sheetTitle); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String GetLanguageFileContents(System.String)")] + [MonoMod.MonoModRemove] + private static extern string COMPAT_GetLanguageFileContents(string sheetTitle); } \ No newline at end of file From b08045f5c8ae6d682dbdd1b3006bb096b8d756d5 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Thu, 14 May 2026 00:44:12 +0200 Subject: [PATCH 24/54] move monomodrules and custom attributes into subfolder --- Assembly-CSharp/Patches/{ => Attributes}/MonoModRules.cs | 0 Assembly-CSharp/Patches/{ => Attributes}/RemoveMethodCall.cs | 2 +- .../Patches/{ => Attributes}/ReplaceMethodAttribute.cs | 2 +- Assembly-CSharp/Patches/HasComponent.cs | 4 ++-- 4 files changed, 4 insertions(+), 4 deletions(-) rename Assembly-CSharp/Patches/{ => Attributes}/MonoModRules.cs (100%) rename Assembly-CSharp/Patches/{ => Attributes}/RemoveMethodCall.cs (97%) rename Assembly-CSharp/Patches/{ => Attributes}/ReplaceMethodAttribute.cs (98%) diff --git a/Assembly-CSharp/Patches/MonoModRules.cs b/Assembly-CSharp/Patches/Attributes/MonoModRules.cs similarity index 100% rename from Assembly-CSharp/Patches/MonoModRules.cs rename to Assembly-CSharp/Patches/Attributes/MonoModRules.cs diff --git a/Assembly-CSharp/Patches/RemoveMethodCall.cs b/Assembly-CSharp/Patches/Attributes/RemoveMethodCall.cs similarity index 97% rename from Assembly-CSharp/Patches/RemoveMethodCall.cs rename to Assembly-CSharp/Patches/Attributes/RemoveMethodCall.cs index 14c895b6..db716b30 100644 --- a/Assembly-CSharp/Patches/RemoveMethodCall.cs +++ b/Assembly-CSharp/Patches/Attributes/RemoveMethodCall.cs @@ -7,7 +7,7 @@ using MonoMod; using MonoMod.Cil; -namespace Modding.Patches +namespace Modding.Patches.Attributes { /// /// diff --git a/Assembly-CSharp/Patches/ReplaceMethodAttribute.cs b/Assembly-CSharp/Patches/Attributes/ReplaceMethodAttribute.cs similarity index 98% rename from Assembly-CSharp/Patches/ReplaceMethodAttribute.cs rename to Assembly-CSharp/Patches/Attributes/ReplaceMethodAttribute.cs index f5302616..5b5afda9 100644 --- a/Assembly-CSharp/Patches/ReplaceMethodAttribute.cs +++ b/Assembly-CSharp/Patches/Attributes/ReplaceMethodAttribute.cs @@ -7,7 +7,7 @@ using MonoMod; using MonoMod.Cil; -namespace Modding.Patches +namespace Modding.Patches.Attributes { /// /// diff --git a/Assembly-CSharp/Patches/HasComponent.cs b/Assembly-CSharp/Patches/HasComponent.cs index 378f3aa2..dd24f421 100644 --- a/Assembly-CSharp/Patches/HasComponent.cs +++ b/Assembly-CSharp/Patches/HasComponent.cs @@ -10,13 +10,13 @@ namespace Modding.Patches public class HasComponent : global::HutongGames.PlayMaker.Actions.HasComponent { [MonoModIgnore] - [RemoveMethodCall + [Attributes.RemoveMethodCall ( "HutongGames.PlayMaker.ReflectionUtils", "GetGlobalType" ) ] - [ReplaceMethod + [Attributes.ReplaceMethod ( "UnityEngine.GameObject, UnityEngine", "GetComponent", From a3a1b4f8d0ba0141765044081e98d213c68f6196 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Thu, 14 May 2026 02:05:44 +0200 Subject: [PATCH 25/54] add RawIlPatchAttribute & rework EnemyDeathEffects patch into IL form & rename RemoveMethodCall to -Attribute --- .../Patches/Attributes/RawIlPatchAttribute.cs | 58 ++++++++++++++++ ...odCall.cs => RemoveMethodCallAttribute.cs} | 4 +- Assembly-CSharp/Patches/EnemyDeathEffects.cs | 69 ++++++++++++++----- Assembly-CSharp/Patches/HasComponent.cs | 2 +- 4 files changed, 111 insertions(+), 22 deletions(-) create mode 100644 Assembly-CSharp/Patches/Attributes/RawIlPatchAttribute.cs rename Assembly-CSharp/Patches/Attributes/{RemoveMethodCall.cs => RemoveMethodCallAttribute.cs} (92%) diff --git a/Assembly-CSharp/Patches/Attributes/RawIlPatchAttribute.cs b/Assembly-CSharp/Patches/Attributes/RawIlPatchAttribute.cs new file mode 100644 index 00000000..7b7e7649 --- /dev/null +++ b/Assembly-CSharp/Patches/Attributes/RawIlPatchAttribute.cs @@ -0,0 +1,58 @@ +using System; +using System.Reflection; +using JetBrains.Annotations; +using Mono.Cecil; +using MonoMod; +using MonoMod.Cil; + +namespace Modding.Patches.Attributes +{ + /// + /// + /// MonoMod attribute for patching a method directly with IL + /// + [UsedImplicitly] + [MonoModCustomAttribute("RawIlPatch")] + public class RawIlPatchAttribute : Attribute + { + /// + /// + /// Patches a method directly with IL + /// + /// Type full name that does the IL patch + /// Method name that does the IL patch + public RawIlPatchAttribute(string type, string method) { } + } +} + +namespace MonoMod +{ + public static partial class MonoModRules + { + /// + /// Remove op + /// + /// Method to be patched + /// Attribute + [UsedImplicitly] + public static void RawIlPatch(MethodDefinition method, CustomAttribute attrib) + { + var context = new ILContext(method); + + string patcherTypeName = (string)attrib.ConstructorArguments[0].Value; + string patcherMethodName = (string)attrib.ConstructorArguments[1].Value; + + Type patcherType = Type.GetType(patcherTypeName); + + if (patcherType is null) + throw new InvalidOperationException("Couldn't find patcher type!"); + + MethodBase patcherMethod = patcherType?.GetMethod(patcherMethodName, AllBindingFlags/*, null, [typeof(ILContext)], null*/); + + if (patcherMethod is null) + throw new InvalidOperationException("Couldn't find patcher method!"); + + patcherMethod.Invoke(null, new[] { context }); + } + } +} \ No newline at end of file diff --git a/Assembly-CSharp/Patches/Attributes/RemoveMethodCall.cs b/Assembly-CSharp/Patches/Attributes/RemoveMethodCallAttribute.cs similarity index 92% rename from Assembly-CSharp/Patches/Attributes/RemoveMethodCall.cs rename to Assembly-CSharp/Patches/Attributes/RemoveMethodCallAttribute.cs index db716b30..9b6f4e51 100644 --- a/Assembly-CSharp/Patches/Attributes/RemoveMethodCall.cs +++ b/Assembly-CSharp/Patches/Attributes/RemoveMethodCallAttribute.cs @@ -15,7 +15,7 @@ namespace Modding.Patches.Attributes /// [UsedImplicitly] [MonoModCustomAttribute("RemoveMethodCall")] - public class RemoveMethodCall : Attribute + public class RemoveMethodCallAttribute : Attribute { /// /// @@ -23,7 +23,7 @@ public class RemoveMethodCall : Attribute /// /// Type full name /// Method name - public RemoveMethodCall(string type, string method) {} + public RemoveMethodCallAttribute(string type, string method) {} } } diff --git a/Assembly-CSharp/Patches/EnemyDeathEffects.cs b/Assembly-CSharp/Patches/EnemyDeathEffects.cs index 320fb607..97368e4f 100644 --- a/Assembly-CSharp/Patches/EnemyDeathEffects.cs +++ b/Assembly-CSharp/Patches/EnemyDeathEffects.cs @@ -1,4 +1,7 @@ -using MonoMod; +using Mono.Cecil; +using Mono.Cecil.Cil; +using MonoMod; +using MonoMod.Cil; // ReSharper disable All #pragma warning disable 1591, 0108, 0169, 0649, 0414 @@ -10,32 +13,60 @@ namespace Modding.Patches public class EnemyDeathEffects : global::EnemyDeathEffects { [MonoModIgnore] - private bool didFire; + [Attributes.RawIlPatch + ( + $"Modding.Patches.{nameof(EnemyDeathEffectsIlPatches)}, Assembly-CSharp.mm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", + nameof(EnemyDeathEffectsIlPatches.RecieveDeathEvent_IL) + )] + public extern void RecieveDeathEvent(float? attackDirection, bool resetDeathEvent = false, bool spellBurn = false, bool isWatery = false); - public extern void orig_RecieveDeathEvent(float? attackDirection, bool resetDeathEvent = false, bool spellBurn = false, bool isWatery = false); + [MonoModIgnore] + [Attributes.RawIlPatch + ( + $"Modding.Patches.{nameof(EnemyDeathEffectsIlPatches)}, Assembly-CSharp.mm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", + nameof(EnemyDeathEffectsIlPatches.RecordKillForJournal_IL) + )] + private extern void RecordKillForJournal(); + } - //Use this to hook into when an enemy dies. Check EnemyDeathEffects.didFire to prevent doing any actions on redundant invokes. - public void RecieveDeathEvent(float? attackDirection, bool resetDeathEvent = false, bool spellBurn = false, bool isWatery = false) + [MonoModIgnore] + public static class EnemyDeathEffectsIlPatches + { + [MonoModIgnore] + public static void RecieveDeathEvent_IL(ILContext il) { - ModHooks.OnRecieveDeathEvent(this, didFire, ref attackDirection, ref resetDeathEvent, ref spellBurn, ref isWatery); - - orig_RecieveDeathEvent(attackDirection, resetDeathEvent, spellBurn, isWatery); + // add a `ModHooks.OnRecieveDeathEvent(this, didFire, ref attackDirection, ref resetDeathEvent, ref spellBurn, ref isWatery);` at the start of the method + ILCursor cursor = new ILCursor(il); + + cursor.GotoNext(MoveType.Before, x => x.MatchLdarg(0)); + + // Insert a call to your custom method + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Ldfld, ReflectionHelper.GetFieldInfo(typeof(global::EnemyDeathEffects), "didFire", true)); + cursor.Emit(OpCodes.Ldarga_S, il.Method.Parameters[0]); // attackDirection + cursor.Emit(OpCodes.Ldarga_S, il.Method.Parameters[1]); // resetDeathEvent + cursor.Emit(OpCodes.Ldarga_S, il.Method.Parameters[2]); // spellBurn + cursor.Emit(OpCodes.Ldarga_S, il.Method.Parameters[3]); // isWatery + cursor.Emit(OpCodes.Call, ReflectionHelper.GetMethodInfo(typeof(ModHooks), "OnRecieveDeathEvent", false)); } [MonoModIgnore] - private string playerDataName; + public static void RecordKillForJournal_IL(ILContext il) + { + // add a `ModHooks.OnRecordKillForJournal(this, this.playerDataName, $"killed{this.playerDataName}", $"kills{this.playerDataName}", $"newData{this.playerDataName}");` at the start of the method + ILCursor cursor = new ILCursor(il); - private extern void orig_RecordKillForJournal(); + cursor.GotoNext(MoveType.Before, x => x.MatchLdcI4(0)); - private void RecordKillForJournal() - { - string boolName = "killed" + this.playerDataName; - string intName = "kills" + this.playerDataName; - string boolName2 = "newData" + this.playerDataName; - - ModHooks.OnRecordKillForJournal(this, playerDataName, boolName, intName, boolName2); - - orig_RecordKillForJournal(); + // Insert a call to your custom method + cursor.Emit(OpCodes.Ldarg_0); // this + cursor.Emit(OpCodes.Ldarg_0); // this + cursor.Emit(OpCodes.Ldfld, ReflectionHelper.GetFieldInfo(typeof(global::EnemyDeathEffects), "playerDataName", true)); // .playerDataName + cursor.Emit(OpCodes.Ldloc_1); // killed text + cursor.Emit(OpCodes.Ldloc_2); // kills text + cursor.Emit(OpCodes.Ldloc_3); // newData text + cursor.Emit(OpCodes.Call, ReflectionHelper.GetMethodInfo(typeof(ModHooks), "OnRecordKillForJournal", false)); } } } \ No newline at end of file diff --git a/Assembly-CSharp/Patches/HasComponent.cs b/Assembly-CSharp/Patches/HasComponent.cs index dd24f421..9f938309 100644 --- a/Assembly-CSharp/Patches/HasComponent.cs +++ b/Assembly-CSharp/Patches/HasComponent.cs @@ -10,7 +10,7 @@ namespace Modding.Patches public class HasComponent : global::HutongGames.PlayMaker.Actions.HasComponent { [MonoModIgnore] - [Attributes.RemoveMethodCall + [Attributes.RemoveMethodCallAttribute ( "HutongGames.PlayMaker.ReflectionUtils", "GetGlobalType" From 5fc168c484c32acb3361a75dcfa6fead9c12e9f3 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 16 May 2026 00:56:19 +0200 Subject: [PATCH 26/54] do the first part of IL patches --- Assembly-CSharp/Language/Language.cs | 36 +++++------ .../Attributes/IEnumeratorIlPatchAttribute.cs | 61 +++++++++++++++++++ .../Patches/Attributes/RawIlPatchAttribute.cs | 9 ++- Assembly-CSharp/Patches/EnemyDeathEffects.cs | 29 +++------ 4 files changed, 93 insertions(+), 42 deletions(-) create mode 100644 Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatchAttribute.cs diff --git a/Assembly-CSharp/Language/Language.cs b/Assembly-CSharp/Language/Language.cs index 91c55d10..bf80b6ab 100644 --- a/Assembly-CSharp/Language/Language.cs +++ b/Assembly-CSharp/Language/Language.cs @@ -36,56 +36,56 @@ public static class Language // which would make a `LinkTo(TCLL)->LinkFrom(TCLL)` into a fully recursive function ⟳ [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Void LoadLanguage()")] [MonoMod.MonoModRemove] - private static extern void COMPAT_LoadLanguage(); + extern private static void COMPAT_LoadLanguage(); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Void LoadAvailableLanguages()")] [MonoMod.MonoModRemove] - private static extern void COMPAT_LoadAvailableLanguages(); + extern private static void COMPAT_LoadAvailableLanguages(); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String[] GetLanguages()")] [MonoMod.MonoModRemove] - private static extern string[] COMPAT_GetLanguages(); + extern private static string[] COMPAT_GetLanguages(); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean SwitchLanguage(System.String)")] [MonoMod.MonoModRemove] - private static extern bool COMPAT_SwitchLanguage(string langCode); + extern private static bool COMPAT_SwitchLanguage(string langCode); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean SwitchLanguage(TeamCherry.Localization.LanguageCode)")] [MonoMod.MonoModRemove] - private static extern bool COMPAT_SwitchLanguage(TeamCherry.Localization.LanguageCode code); + extern private static bool COMPAT_SwitchLanguage(TeamCherry.Localization.LanguageCode code); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "UnityEngine.Object GetAsset(System.String)")] [MonoMod.MonoModRemove] - private static extern UObject COMPAT_GetAsset(string name); + extern private static UObject COMPAT_GetAsset(string name); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "TeamCherry.Localization.LanguageCode CurrentLanguage()")] [MonoMod.MonoModRemove] - private static extern TeamCherry.Localization.LanguageCode COMPAT_CurrentLanguage(); + extern private static TeamCherry.Localization.LanguageCode COMPAT_CurrentLanguage(); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String Get(System.String)")] [MonoMod.MonoModRemove] - private static extern string COMPAT_Get(string key); + extern private static string COMPAT_Get(string key); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String Get(System.String,System.String)")] [MonoMod.MonoModRemove] - private static extern string COMPAT_Get(string key, string sheetTitle); + extern private static string COMPAT_Get(string key, string sheetTitle); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Collections.Generic.IEnumerable`1 GetSheets()")] [MonoMod.MonoModRemove] - private static extern IEnumerable COMPAT_GetSheets(); + extern private static IEnumerable COMPAT_GetSheets(); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Collections.Generic.IEnumerable`1 GetKeys(System.String)")] [MonoMod.MonoModRemove] - private static extern IEnumerable COMPAT_GetKeys(string sheetTitle); + extern private static IEnumerable COMPAT_GetKeys(string sheetTitle); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean Has(System.String)")] [MonoMod.MonoModRemove] - private static extern bool COMPAT_Has(string key); + extern private static bool COMPAT_Has(string key); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean Has(System.String,System.String)")] [MonoMod.MonoModRemove] - private static extern bool COMPAT_Has(string key, string sheet); + extern private static bool COMPAT_Has(string key, string sheet); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean HasSheet(System.String)")] [MonoMod.MonoModRemove] - private static extern bool COMPAT_HasSheet(string sheet); + extern private static bool COMPAT_HasSheet(string sheet); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "TeamCherry.Localization.LanguageCode LanguageNameToCode(UnityEngine.SystemLanguage)")] [MonoMod.MonoModRemove] - private static extern TeamCherry.Localization.LanguageCode COMPAT_LanguageNameToCode(USystemLanguage name); + extern private static TeamCherry.Localization.LanguageCode COMPAT_LanguageNameToCode(USystemLanguage name); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Void DoSwitch(TeamCherry.Localization.LanguageCode)")] [MonoMod.MonoModRemove] - private static extern TeamCherry.Localization.LanguageCode COMPAT_DoSwitch(TeamCherry.Localization.LanguageCode name); + extern private static void COMPAT_DoSwitch(TeamCherry.Localization.LanguageCode name); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean HasLanguageFile(System.String,System.String)")] [MonoMod.MonoModRemove] - private static extern bool COMPAT_HasLanguageFile(string lang, string sheetTitle); + extern private static bool COMPAT_HasLanguageFile(string lang, string sheetTitle); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String GetLanguageFileContents(System.String)")] [MonoMod.MonoModRemove] - private static extern string COMPAT_GetLanguageFileContents(string sheetTitle); + extern private static string COMPAT_GetLanguageFileContents(string sheetTitle); } \ No newline at end of file diff --git a/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatchAttribute.cs b/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatchAttribute.cs new file mode 100644 index 00000000..d9c5528a --- /dev/null +++ b/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatchAttribute.cs @@ -0,0 +1,61 @@ +using System; +using System.Reflection; +using JetBrains.Annotations; +using Mono.Cecil; +using MonoMod; +using MonoMod.Cil; + +namespace Modding.Patches.Attributes +{ + /// + /// + /// MonoMod attribute for patching a method directly with IL + /// + [UsedImplicitly] + [MonoModCustomAttribute("IEnumeratorIlPatch")] + public class IEnumeratorIlPatchAttribute : Attribute + { + /// + /// + /// Patches a method directly with IL + /// + /// Method name that does the IL patch + public IEnumeratorIlPatchAttribute(string patcherMethod) { } + } +} + +namespace MonoMod +{ + public static partial class MonoModRules + { + /// + /// Remove op + /// + /// Method to be patched + /// Attribute + [UsedImplicitly] + public static void IEnumeratorIlPatch(MethodDefinition method, CustomAttribute attrib) + { + // var attr = method.GetCustomAttribute(); + // System.Console.WriteLine($"method.Attributes={method.Attributes}"); + // System.Console.WriteLine($"method.HasCustomAttributes={method.HasCustomAttributes}"); + // System.Console.WriteLine($"method.CustomAttributes={method.CustomAttributes}"); + var context = new ILContext(method); + + string patcherTypeName = $"Modding.Patches.{nameof(Modding.Patches.IlPatches)}, Assembly-CSharp.mm"; + string patcherMethodName = (string)attrib.ConstructorArguments[0].Value; + + Type patcherType = Type.GetType(patcherTypeName); + + if (patcherType is null) + throw new InvalidOperationException("Couldn't find patcher type!"); + + MethodBase patcherMethod = patcherType?.GetMethod(patcherMethodName, AllBindingFlags/*, null, [typeof(ILContext)], null*/); + + if (patcherMethod is null) + throw new InvalidOperationException("Couldn't find patcher method!"); + + patcherMethod.Invoke(null, new[] { context }); + } + } +} \ No newline at end of file diff --git a/Assembly-CSharp/Patches/Attributes/RawIlPatchAttribute.cs b/Assembly-CSharp/Patches/Attributes/RawIlPatchAttribute.cs index 7b7e7649..de7f0bd9 100644 --- a/Assembly-CSharp/Patches/Attributes/RawIlPatchAttribute.cs +++ b/Assembly-CSharp/Patches/Attributes/RawIlPatchAttribute.cs @@ -19,9 +19,8 @@ public class RawIlPatchAttribute : Attribute /// /// Patches a method directly with IL /// - /// Type full name that does the IL patch - /// Method name that does the IL patch - public RawIlPatchAttribute(string type, string method) { } + /// Method name that does the IL patch + public RawIlPatchAttribute(string patcherMethod) { } } } @@ -39,8 +38,8 @@ public static void RawIlPatch(MethodDefinition method, CustomAttribute attrib) { var context = new ILContext(method); - string patcherTypeName = (string)attrib.ConstructorArguments[0].Value; - string patcherMethodName = (string)attrib.ConstructorArguments[1].Value; + string patcherTypeName = $"Modding.Patches.{nameof(Modding.Patches.IlPatches)}, Assembly-CSharp.mm"; + string patcherMethodName = (string)attrib.ConstructorArguments[0].Value; Type patcherType = Type.GetType(patcherTypeName); diff --git a/Assembly-CSharp/Patches/EnemyDeathEffects.cs b/Assembly-CSharp/Patches/EnemyDeathEffects.cs index 97368e4f..d9f02e33 100644 --- a/Assembly-CSharp/Patches/EnemyDeathEffects.cs +++ b/Assembly-CSharp/Patches/EnemyDeathEffects.cs @@ -1,5 +1,4 @@ -using Mono.Cecil; -using Mono.Cecil.Cil; +using Mono.Cecil.Cil; using MonoMod; using MonoMod.Cil; @@ -13,27 +12,19 @@ namespace Modding.Patches public class EnemyDeathEffects : global::EnemyDeathEffects { [MonoModIgnore] - [Attributes.RawIlPatch - ( - $"Modding.Patches.{nameof(EnemyDeathEffectsIlPatches)}, Assembly-CSharp.mm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", - nameof(EnemyDeathEffectsIlPatches.RecieveDeathEvent_IL) - )] - public extern void RecieveDeathEvent(float? attackDirection, bool resetDeathEvent = false, bool spellBurn = false, bool isWatery = false); + [Attributes.RawIlPatch(nameof(IlPatches.RecieveDeathEvent))] + extern public void RecieveDeathEvent(float? attackDirection, bool resetDeathEvent = false, bool spellBurn = false, bool isWatery = false); [MonoModIgnore] - [Attributes.RawIlPatch - ( - $"Modding.Patches.{nameof(EnemyDeathEffectsIlPatches)}, Assembly-CSharp.mm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", - nameof(EnemyDeathEffectsIlPatches.RecordKillForJournal_IL) - )] - private extern void RecordKillForJournal(); + [Attributes.RawIlPatch(nameof(IlPatches.RecordKillForJournal))] + extern public static void RecordKillForJournal(string playerDataName); } [MonoModIgnore] - public static class EnemyDeathEffectsIlPatches + public static partial class IlPatches { [MonoModIgnore] - public static void RecieveDeathEvent_IL(ILContext il) + public static void RecieveDeathEvent(ILContext il) { // add a `ModHooks.OnRecieveDeathEvent(this, didFire, ref attackDirection, ref resetDeathEvent, ref spellBurn, ref isWatery);` at the start of the method ILCursor cursor = new ILCursor(il); @@ -48,11 +39,11 @@ public static void RecieveDeathEvent_IL(ILContext il) cursor.Emit(OpCodes.Ldarga_S, il.Method.Parameters[1]); // resetDeathEvent cursor.Emit(OpCodes.Ldarga_S, il.Method.Parameters[2]); // spellBurn cursor.Emit(OpCodes.Ldarga_S, il.Method.Parameters[3]); // isWatery - cursor.Emit(OpCodes.Call, ReflectionHelper.GetMethodInfo(typeof(ModHooks), "OnRecieveDeathEvent", false)); + cursor.Emit(OpCodes.Call, ReflectionHelper.GetMethodInfo(typeof(global::Modding.ModHooks), "OnRecieveDeathEvent", false)); } [MonoModIgnore] - public static void RecordKillForJournal_IL(ILContext il) + public static void RecordKillForJournal(ILContext il) { // add a `ModHooks.OnRecordKillForJournal(this, this.playerDataName, $"killed{this.playerDataName}", $"kills{this.playerDataName}", $"newData{this.playerDataName}");` at the start of the method ILCursor cursor = new ILCursor(il); @@ -66,7 +57,7 @@ public static void RecordKillForJournal_IL(ILContext il) cursor.Emit(OpCodes.Ldloc_1); // killed text cursor.Emit(OpCodes.Ldloc_2); // kills text cursor.Emit(OpCodes.Ldloc_3); // newData text - cursor.Emit(OpCodes.Call, ReflectionHelper.GetMethodInfo(typeof(ModHooks), "OnRecordKillForJournal", false)); + cursor.Emit(OpCodes.Call, ReflectionHelper.GetMethodInfo(typeof(global::Modding.ModHooks), "OnRecordKillForJournal", false)); } } } \ No newline at end of file From 03b0282e508566d4199203816b860c4c7b20b665 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 16 May 2026 12:25:00 +0200 Subject: [PATCH 27/54] have the attributes in the attributes namespaces but without attribute in the name --- .../{IEnumeratorIlPatchAttribute.cs => IEnumeratorIlPatch.cs} | 4 ++-- .../Attributes/{RawIlPatchAttribute.cs => RawIlPatch.cs} | 4 ++-- .../{RemoveMethodCallAttribute.cs => RemoveMethodCall.cs} | 4 ++-- .../{ReplaceMethodAttribute.cs => ReplaceMethod.cs} | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) rename Assembly-CSharp/Patches/Attributes/{IEnumeratorIlPatchAttribute.cs => IEnumeratorIlPatch.cs} (94%) rename Assembly-CSharp/Patches/Attributes/{RawIlPatchAttribute.cs => RawIlPatch.cs} (93%) rename Assembly-CSharp/Patches/Attributes/{RemoveMethodCallAttribute.cs => RemoveMethodCall.cs} (92%) rename Assembly-CSharp/Patches/Attributes/{ReplaceMethodAttribute.cs => ReplaceMethod.cs} (92%) diff --git a/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatchAttribute.cs b/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs similarity index 94% rename from Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatchAttribute.cs rename to Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs index d9c5528a..fca24ea3 100644 --- a/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatchAttribute.cs +++ b/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs @@ -13,14 +13,14 @@ namespace Modding.Patches.Attributes /// [UsedImplicitly] [MonoModCustomAttribute("IEnumeratorIlPatch")] - public class IEnumeratorIlPatchAttribute : Attribute + public class IEnumeratorIlPatch : Attribute { /// /// /// Patches a method directly with IL /// /// Method name that does the IL patch - public IEnumeratorIlPatchAttribute(string patcherMethod) { } + public IEnumeratorIlPatch(string patcherMethod) { } } } diff --git a/Assembly-CSharp/Patches/Attributes/RawIlPatchAttribute.cs b/Assembly-CSharp/Patches/Attributes/RawIlPatch.cs similarity index 93% rename from Assembly-CSharp/Patches/Attributes/RawIlPatchAttribute.cs rename to Assembly-CSharp/Patches/Attributes/RawIlPatch.cs index de7f0bd9..06e1057e 100644 --- a/Assembly-CSharp/Patches/Attributes/RawIlPatchAttribute.cs +++ b/Assembly-CSharp/Patches/Attributes/RawIlPatch.cs @@ -13,14 +13,14 @@ namespace Modding.Patches.Attributes /// [UsedImplicitly] [MonoModCustomAttribute("RawIlPatch")] - public class RawIlPatchAttribute : Attribute + public class RawIlPatch : Attribute { /// /// /// Patches a method directly with IL /// /// Method name that does the IL patch - public RawIlPatchAttribute(string patcherMethod) { } + public RawIlPatch(string patcherMethod) { } } } diff --git a/Assembly-CSharp/Patches/Attributes/RemoveMethodCallAttribute.cs b/Assembly-CSharp/Patches/Attributes/RemoveMethodCall.cs similarity index 92% rename from Assembly-CSharp/Patches/Attributes/RemoveMethodCallAttribute.cs rename to Assembly-CSharp/Patches/Attributes/RemoveMethodCall.cs index 9b6f4e51..db716b30 100644 --- a/Assembly-CSharp/Patches/Attributes/RemoveMethodCallAttribute.cs +++ b/Assembly-CSharp/Patches/Attributes/RemoveMethodCall.cs @@ -15,7 +15,7 @@ namespace Modding.Patches.Attributes /// [UsedImplicitly] [MonoModCustomAttribute("RemoveMethodCall")] - public class RemoveMethodCallAttribute : Attribute + public class RemoveMethodCall : Attribute { /// /// @@ -23,7 +23,7 @@ public class RemoveMethodCallAttribute : Attribute /// /// Type full name /// Method name - public RemoveMethodCallAttribute(string type, string method) {} + public RemoveMethodCall(string type, string method) {} } } diff --git a/Assembly-CSharp/Patches/Attributes/ReplaceMethodAttribute.cs b/Assembly-CSharp/Patches/Attributes/ReplaceMethod.cs similarity index 92% rename from Assembly-CSharp/Patches/Attributes/ReplaceMethodAttribute.cs rename to Assembly-CSharp/Patches/Attributes/ReplaceMethod.cs index 5b5afda9..df26c6e9 100644 --- a/Assembly-CSharp/Patches/Attributes/ReplaceMethodAttribute.cs +++ b/Assembly-CSharp/Patches/Attributes/ReplaceMethod.cs @@ -15,13 +15,13 @@ namespace Modding.Patches.Attributes /// [MonoModCustomAttribute("ReplaceMethod")] [UsedImplicitly] - internal class ReplaceMethodAttribute : Attribute + internal class ReplaceMethod : Attribute { /// /// /// Replace method call with alternate method call /// - public ReplaceMethodAttribute(string type1, string method1, string[] params1, string type2, string method2, string[] params2) { } + public ReplaceMethod(string type1, string method1, string[] params1, string type2, string method2, string[] params2) { } } } From 1e9f8dcfa7594dfb54edfde3eabb60d0d469d6b9 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 16 May 2026 15:44:04 +0200 Subject: [PATCH 28/54] use emitdelegate --- Assembly-CSharp/Patches/EnemyDeathEffects.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Assembly-CSharp/Patches/EnemyDeathEffects.cs b/Assembly-CSharp/Patches/EnemyDeathEffects.cs index d9f02e33..7578b203 100644 --- a/Assembly-CSharp/Patches/EnemyDeathEffects.cs +++ b/Assembly-CSharp/Patches/EnemyDeathEffects.cs @@ -39,7 +39,7 @@ public static void RecieveDeathEvent(ILContext il) cursor.Emit(OpCodes.Ldarga_S, il.Method.Parameters[1]); // resetDeathEvent cursor.Emit(OpCodes.Ldarga_S, il.Method.Parameters[2]); // spellBurn cursor.Emit(OpCodes.Ldarga_S, il.Method.Parameters[3]); // isWatery - cursor.Emit(OpCodes.Call, ReflectionHelper.GetMethodInfo(typeof(global::Modding.ModHooks), "OnRecieveDeathEvent", false)); + cursor.EmitDelegate(global::Modding.ModHooks.OnRecieveDeathEvent); } [MonoModIgnore] @@ -57,7 +57,7 @@ public static void RecordKillForJournal(ILContext il) cursor.Emit(OpCodes.Ldloc_1); // killed text cursor.Emit(OpCodes.Ldloc_2); // kills text cursor.Emit(OpCodes.Ldloc_3); // newData text - cursor.Emit(OpCodes.Call, ReflectionHelper.GetMethodInfo(typeof(global::Modding.ModHooks), "OnRecordKillForJournal", false)); + cursor.EmitDelegate(global::Modding.ModHooks.OnRecordKillForJournal); } } } \ No newline at end of file From 9e1ba41495d304730d828340fad3b1d07ba412e9 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 16 May 2026 15:45:21 +0200 Subject: [PATCH 29/54] start gamemanager il patches --- .../Patches/Attributes/IEnumeratorIlPatch.cs | 14 +- Assembly-CSharp/Patches/GameManager.cs | 368 ++++++++++-------- 2 files changed, 217 insertions(+), 165 deletions(-) diff --git a/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs b/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs index fca24ea3..0c68d876 100644 --- a/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs +++ b/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs @@ -1,4 +1,5 @@ using System; +using System.Linq; using System.Reflection; using JetBrains.Annotations; using Mono.Cecil; @@ -36,11 +37,12 @@ public static partial class MonoModRules [UsedImplicitly] public static void IEnumeratorIlPatch(MethodDefinition method, CustomAttribute attrib) { - // var attr = method.GetCustomAttribute(); - // System.Console.WriteLine($"method.Attributes={method.Attributes}"); - // System.Console.WriteLine($"method.HasCustomAttributes={method.HasCustomAttributes}"); - // System.Console.WriteLine($"method.CustomAttributes={method.CustomAttributes}"); - var context = new ILContext(method); + CustomAttribute iteratorAttribute = method.CustomAttributes.First + (x => x.AttributeType.FullName == "System.Runtime.CompilerServices.IteratorStateMachineAttribute"); + TypeReference stateMachineTypeRef = (TypeReference)iteratorAttribute.ConstructorArguments[0].Value; + TypeDefinition stateMachineTypeDef = stateMachineTypeRef.Resolve(); + MethodDefinition stateMachineMoveNext = stateMachineTypeDef.Methods.First(m => m.Name == "MoveNext"); + var context = new ILContext(stateMachineMoveNext); string patcherTypeName = $"Modding.Patches.{nameof(Modding.Patches.IlPatches)}, Assembly-CSharp.mm"; string patcherMethodName = (string)attrib.ConstructorArguments[0].Value; @@ -55,7 +57,7 @@ public static void IEnumeratorIlPatch(MethodDefinition method, CustomAttribute a if (patcherMethod is null) throw new InvalidOperationException("Couldn't find patcher method!"); - patcherMethod.Invoke(null, new[] { context }); + patcherMethod.Invoke(null, [context, stateMachineTypeDef]); } } } \ No newline at end of file diff --git a/Assembly-CSharp/Patches/GameManager.cs b/Assembly-CSharp/Patches/GameManager.cs index 99526b73..5c8a7f67 100644 --- a/Assembly-CSharp/Patches/GameManager.cs +++ b/Assembly-CSharp/Patches/GameManager.cs @@ -1,10 +1,14 @@ +using Mono.Cecil.Cil; +using MonoMod; +using MonoMod.Cil; using System; using System.Collections; using System.Collections.Generic; using System.IO; +using System.Linq; using System.Runtime.Serialization.Formatters.Binary; using System.Text; -using MonoMod; +using Mono.Cecil; using Newtonsoft.Json; using UnityEngine; using UnityEngine.SceneManagement; @@ -18,55 +22,54 @@ namespace Modding.Patches [MonoModPatch("global::GameManager")] public class GameManager : global::GameManager { - public extern void orig_OnApplicationQuit(); + private static string ModdedSavePath(int slot) => Path.Combine( + Application.persistentDataPath, + $"user{slot}.modded.json" + ); - public void OnApplicationQuit() + private UIManager _uiInstance; + + public UIManager ui { - orig_OnApplicationQuit(); - ModHooks.OnApplicationQuit(); + get + { + if (_uiInstance == null) _uiInstance = (UIManager)UIManager.instance; + return _uiInstance; + } + private set => _uiInstance = value; } - public extern void orig_LoadScene(string destScene); + private ModSavegameData moddedData; - public void LoadScene(string destScene) - { - destScene = ModHooks.BeforeSceneLoad(destScene); + [MonoModIgnore] + [Attributes.RawIlPatch(nameof(IlPatches.OnApplicationQuit))] + extern private void OnApplicationQuit(); - orig_LoadScene(destScene); + [MonoModIgnore] + [Attributes.RawIlPatch(nameof(IlPatches.LoadScene))] + extern public void LoadScene(string destScene); - ModHooks.OnSceneChanged(destScene); - } + [MonoModIgnore] + [Attributes.RawIlPatch(nameof(IlPatches.ClearSaveFile))] + extern public void ClearSaveFile(int saveSlot, Action callback); - public extern void orig_BeginSceneTransition(GameManager.SceneLoadInfo info); + [MonoModIgnore] + [Attributes.IEnumeratorIlPatch(nameof(IlPatches.PlayerDead))] + extern public IEnumerator PlayerDead(float waitTime); + [MonoModIgnore] + [Attributes.IEnumeratorIlPatch(nameof(IlPatches.LoadSceneAdditive))] + extern public IEnumerator LoadSceneAdditive(string destScene); + + // il patch just dies trying to resolve types for no reason? + public extern void orig_BeginSceneTransition(global::GameManager.SceneLoadInfo info); public void BeginSceneTransition(GameManager.SceneLoadInfo info) { info.SceneName = ModHooks.BeforeSceneLoad(info.SceneName); - orig_BeginSceneTransition(info); } - public extern void orig_ClearSaveFile(int saveSlot, Action callback); - - public void ClearSaveFile(int saveSlot, Action callback) - { - ModHooks.OnSavegameClear(saveSlot); - orig_ClearSaveFile(saveSlot, callback); - ModHooks.OnAfterSaveGameClear(saveSlot); - } - - public extern IEnumerator orig_PlayerDead(float waitTime); - - public IEnumerator PlayerDead(float waitTime) - { - ModHooks.OnBeforePlayerDead(); - yield return orig_PlayerDead(waitTime); - ModHooks.OnAfterPlayerDead(); - } - - #region SaveGame - - private ModSavegameData moddedData; + #region SaveGame & LoadGame [MonoModIgnore] private GameCameras gameCams; @@ -92,23 +95,6 @@ public IEnumerator PlayerDead(float waitTime) [MonoModIgnore] private extern void HideSaveIcon(); - private static string ModdedSavePath(int slot) => Path.Combine( - Application.persistentDataPath, - $"user{slot}.modded.json" - ); - - private UIManager _uiInstance; - - public UIManager ui - { - get - { - if (_uiInstance == null) _uiInstance = (UIManager)UIManager.instance; - return _uiInstance; - } - private set => _uiInstance = value; - } - [MonoModReplace] public void SaveGame(int saveSlot, Action callback) { @@ -180,12 +166,17 @@ public void SaveGame(int saveSlot, Action callback) try { - text = JsonConvert.SerializeObject(obj, Formatting.Indented, new JsonSerializerSettings() - { - ContractResolver = ShouldSerializeContractResolver.Instance, - TypeNameHandling = TypeNameHandling.Auto, - Converters = JsonConverterTypes.ConverterTypes - }); + text = JsonConvert.SerializeObject + ( + obj, + Formatting.Indented, + new JsonSerializerSettings() + { + ContractResolver = ShouldSerializeContractResolver.Instance, + TypeNameHandling = TypeNameHandling.Auto, + Converters = JsonConverterTypes.ConverterTypes + } + ); } catch (Exception e) { @@ -209,7 +200,7 @@ public void SaveGame(int saveSlot, Action callback) ( saveSlot, binary, - delegate (bool didSave) + delegate(bool didSave) { this.HideSaveIcon(); callback(didSave); @@ -222,7 +213,7 @@ public void SaveGame(int saveSlot, Action callback) ( saveSlot, Encoding.UTF8.GetBytes(text), - delegate (bool didSave) + delegate(bool didSave) { this.HideSaveIcon(); if (callback != null) @@ -264,30 +255,6 @@ public void SaveGame(int saveSlot, Action callback) } } - #endregion - - public extern void orig_SetupSceneRefs(bool refreshTilemapInfo); - - public void SetupSceneRefs(bool refreshTilemapInfo) - { - orig_SetupSceneRefs(refreshTilemapInfo); - - - if (IsGameplayScene()) - { - GameObject go = GameCameras.instance.soulOrbFSM.gameObject.transform.Find("SoulOrb_fill").gameObject; - GameObject liquid = go.transform.Find("Liquid").gameObject; - tk2dSpriteAnimator tk2dsa = liquid.GetComponent(); - tk2dsa.GetClipByName("Fill").fps = 15 * 1.05f; - tk2dsa.GetClipByName("Idle").fps = 10 * 1.05f; - tk2dsa.GetClipByName("Shrink").fps = 15 * 1.05f; - tk2dsa.GetClipByName("Drain").fps = 30 * 1.05f; - } - - } - - #region LoadGame - [MonoModReplace] public void LoadGame(int saveSlot, Action callback) { @@ -317,7 +284,8 @@ public void LoadGame(int saveSlot, Action callback) using FileStream fileStream = File.OpenRead(path); using var reader = new StreamReader(fileStream); string json = reader.ReadToEnd(); - this.moddedData = JsonConvert.DeserializeObject( + this.moddedData = JsonConvert.DeserializeObject + ( json, new JsonSerializerSettings() { @@ -343,12 +311,13 @@ public void LoadGame(int saveSlot, Action callback) Logger.APILogger.LogError(e); this.moddedData = new ModSavegameData(); } + ModHooks.OnLoadLocalSettings(this.moddedData); Platform.Current.ReadSaveSlot ( saveSlot, - delegate (byte[] fileBytes) + delegate(byte[] fileBytes) { bool obj; try @@ -371,13 +340,17 @@ public void LoadGame(int saveSlot, Action callback) try { - saveGameData = JsonConvert.DeserializeObject(json, new JsonSerializerSettings() - { - ContractResolver = ShouldSerializeContractResolver.Instance, - TypeNameHandling = TypeNameHandling.Auto, - ObjectCreationHandling = ObjectCreationHandling.Replace, - Converters = JsonConverterTypes.ConverterTypes - }); + saveGameData = JsonConvert.DeserializeObject + ( + json, + new JsonSerializerSettings() + { + ContractResolver = ShouldSerializeContractResolver.Instance, + TypeNameHandling = TypeNameHandling.Auto, + ObjectCreationHandling = ObjectCreationHandling.Replace, + Converters = JsonConverterTypes.ConverterTypes + } + ); } catch (Exception e) { @@ -423,6 +396,25 @@ public void LoadGame(int saveSlot, Action callback) #endregion + extern public void orig_SetupSceneRefs(bool refreshTilemapInfo); + + public void SetupSceneRefs(bool refreshTilemapInfo) + { + orig_SetupSceneRefs(refreshTilemapInfo); + + + if (IsGameplayScene()) + { + GameObject go = GameCameras.instance.soulOrbFSM.gameObject.transform.Find("SoulOrb_fill").gameObject; + GameObject liquid = go.transform.Find("Liquid").gameObject; + tk2dSpriteAnimator tk2dsa = liquid.GetComponent(); + tk2dsa.GetClipByName("Fill").fps = 15 * 1.05f; + tk2dsa.GetClipByName("Idle").fps = 10 * 1.05f; + tk2dsa.GetClipByName("Shrink").fps = 15 * 1.05f; + tk2dsa.GetClipByName("Drain").fps = 30 * 1.05f; + } + } + #region GetSaveStatsForSlot [MonoModReplace] @@ -449,7 +441,7 @@ public void GetSaveStatsForSlot(int saveSlot, Action callback Platform.Current.ReadSaveSlot ( saveSlot, - delegate (byte[] fileBytes) + delegate(byte[] fileBytes) { if (fileBytes == null) { @@ -480,13 +472,17 @@ public void GetSaveStatsForSlot(int saveSlot, Action callback SaveGameData saveGameData; try { - saveGameData = JsonConvert.DeserializeObject(json, new JsonSerializerSettings() - { - ContractResolver = ShouldSerializeContractResolver.Instance, - TypeNameHandling = TypeNameHandling.Auto, - ObjectCreationHandling = ObjectCreationHandling.Replace, - Converters = JsonConverterTypes.ConverterTypes - }); + saveGameData = JsonConvert.DeserializeObject + ( + json, + new JsonSerializerSettings() + { + ContractResolver = ShouldSerializeContractResolver.Instance, + TypeNameHandling = TypeNameHandling.Auto, + ObjectCreationHandling = ObjectCreationHandling.Replace, + Converters = JsonConverterTypes.ConverterTypes + } + ); } catch (Exception) { @@ -540,63 +536,6 @@ public void GetSaveStatsForSlot(int saveSlot, Action callback #endregion - #region LoadSceneAdditive - - [MonoModIgnore] - private bool tilemapDirty; - - [MonoModIgnore] - private bool waitForManualLevelStart; - - [MonoModIgnore] - public event GameManager.DestroyPooledObjects DestroyPersonalPools; - - [MonoModIgnore] - public event GameManager.UnloadLevel UnloadingLevel; - - [MonoModReplace] - public IEnumerator LoadSceneAdditive(string destScene) - { - Debug.Log("Loading " + destScene); - destScene = ModHooks.BeforeSceneLoad(destScene); - this.tilemapDirty = true; - this.startedOnThisScene = false; - this.nextSceneName = destScene; - this.waitForManualLevelStart = true; - if (this.DestroyPersonalPools != null) - { - this.DestroyPersonalPools(); - } - - if (this.UnloadingLevel != null) - { - this.UnloadingLevel(); - } - - string exitingScene = UnityEngine.SceneManagement.SceneManager.GetActiveScene().name; - AsyncOperation loadop = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(destScene, LoadSceneMode.Additive); - loadop.allowSceneActivation = true; - yield return loadop; - UnityEngine.SceneManagement.SceneManager.UnloadScene(exitingScene); - ModHooks.OnSceneChanged(destScene); - this.RefreshTilemapInfo(destScene); - if (this.IsUnloadAssetsRequired(exitingScene, destScene)) - { - Debug.LogFormat(this, "Unloading assets due to zone transition", Array.Empty()); - yield return Resources.UnloadUnusedAssets(); - } - - GCManager.Collect(); - this.SetupSceneRefs(true); - this.BeginScene(); - this.OnNextLevelReady(); - this.waitForManualLevelStart = false; - Debug.Log("Done Loading " + destScene); - yield break; - } - - #endregion - #region LoadFirstScene [MonoModReplace] @@ -624,6 +563,7 @@ public void OnWillActivateFirstLevel() #endregion #region PauseToDynamicMenu + [MonoModIgnore] public extern void SetTimeScale(float timescale); @@ -637,6 +577,7 @@ public IEnumerator PauseToggleDynamicMenu(MenuScreen screen, bool allowUnpause = { yield break; } + if (!this.playerData.GetBool(nameof(PlayerData.disablePause)) && this.gameState == GlobalEnums.GameState.PLAYING) { this.isPaused = true; @@ -647,6 +588,7 @@ public IEnumerator PauseToggleDynamicMenu(MenuScreen screen, bool allowUnpause = { HeroController.instance.Pause(); } + this.gameCams.MoveMenuToHUDCamera(); this.inputHandler.PreventPause(); this.inputHandler.StopUIInput(); @@ -664,12 +606,15 @@ public IEnumerator PauseToggleDynamicMenu(MenuScreen screen, bool allowUnpause = { HeroController.instance.UnPause(); } + MenuButtonList.ClearAllLastSelected(); yield return new WaitForSecondsRealtime(0.3f); this.inputHandler.AllowPause(); } + yield break; } + #endregion [MonoModIgnore] @@ -681,10 +626,115 @@ public IEnumerator PauseToggleDynamicMenu(MenuScreen screen, bool allowUnpause = * Example use case: Start a co-routine that checks for an non null * sceneLoad then hooks up a callback to the "Finish" delegate to do something when the game has completed loading a scene. */ - [MonoModIgnore] + // [MonoModIgnore] public SceneLoad SceneLoad { get { return sceneLoad; } } } + + public static partial class IlPatches + { + [MonoModIgnore] + public static void OnApplicationQuit(ILContext il) + { + // add a `ModHooks.OnApplicationQuit();` at the end of the method + ILCursor cursor = new ILCursor(il); + + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); + cursor.MoveAfterLabels(); + cursor.EmitDelegate(global::Modding.ModHooks.OnApplicationQuit); + } + + [MonoModIgnore] + public static void LoadScene(ILContext il) + { + // add a `destScene = ModHooks.BeforeSceneLoad(destScene);` at the start and a `ModHooks.OnSceneChanged(destScene);` at the end of the method + ILCursor cursor = new ILCursor(il).Goto(0); + + // Insert a call to your custom method + cursor.Emit(OpCodes.Ldarg_1); + cursor.EmitDelegate(global::Modding.ModHooks.BeforeSceneLoad); + cursor.Emit(OpCodes.Starg, 1); + + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); + cursor.MoveAfterLabels(); + cursor.Emit(OpCodes.Ldarg_1); + cursor.EmitDelegate(global::Modding.ModHooks.OnSceneChanged); + } + + [MonoModIgnore] + public static void ClearSaveFile(ILContext il) + { + // add a `ModHooks.OnSavegameClear(saveSlot);` at the start and a `ModHooks.OnAfterSaveGameClear(saveSlot);` at the end of the method + ILCursor cursor = new ILCursor(il).Goto(0); + + // Insert a call to your custom method + cursor.Emit(OpCodes.Ldarg_1); + cursor.EmitDelegate(global::Modding.ModHooks.OnSavegameClear); + + // this goes just before both `ret`s + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); + cursor.MoveAfterLabels(); + cursor.Emit(OpCodes.Ldarg_1); + cursor.EmitDelegate(global::Modding.ModHooks.OnAfterSaveGameClear); + + // skip over the return + cursor.GotoNext(); + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); + cursor.MoveAfterLabels(); + cursor.Emit(OpCodes.Ldarg_1); + cursor.EmitDelegate(global::Modding.ModHooks.OnAfterSaveGameClear); + } + + [MonoModIgnore] + public static void PlayerDead(ILContext il, TypeDefinition stateMachineTypeDef) + { + // add a `ModHooks.OnSavegameClear(saveSlot);` at the start and a `ModHooks.OnAfterSaveGameClear(saveSlot);` at the end of the method + ILCursor cursor = new ILCursor(il); + + // Insert a call to your custom method + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdloc(1), x => x.MatchCallOrCallvirt(typeof(global::GameManager), "get_cameraCtrl")); + cursor.EmitDelegate(global::Modding.ModHooks.OnBeforePlayerDead); + + // this goes just before all the `ret`s + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdcI4(0), x => x.MatchRet()); + cursor.MoveAfterLabels(); + cursor.EmitDelegate(global::Modding.ModHooks.OnAfterPlayerDead); + } + + [MonoModIgnore] + public static void LoadSceneAdditive(ILContext il, TypeDefinition stateMachineTypeDef) + { + // add a `destScene = ModHooks.BeforeSceneLoad(destScene);` at the start and a `ModHooks.OnSceneChanged(destScene);` in the middle of the method + ILCursor cursor = new ILCursor(il); + + // Insert a call to your custom method + cursor.GotoNext + ( + MoveType.AfterLabel, + x => x.MatchLdloc(1), + x => x.MatchLdcI4(1), + x => x.MatchStfld("tilemapDirty") + ); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Ldfld, stateMachineTypeDef.Fields.First(f => f.Name == "destScene")); + cursor.EmitDelegate(global::Modding.ModHooks.BeforeSceneLoad); + cursor.Emit(OpCodes.Stfld, stateMachineTypeDef.Fields.First(f => f.Name == "destScene")); + + // somewhere before `this.RefreshTilemapInfo(destScene);` + cursor.GotoNext + ( + MoveType.AfterLabel, + x => x.MatchLdloc(1), + x => x.MatchLdarg(0), + x => x.MatchLdfld(out _), // destScene field of statemachine type + x => x.MatchCallOrCallvirt(typeof(global::GameManager), "RefreshTilemapInfo") + ); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Ldfld, stateMachineTypeDef.Fields.First(f => f.Name == "destScene")); + cursor.EmitDelegate(global::Modding.ModHooks.OnSceneChanged); + } + } } \ No newline at end of file From d9f24b11012d2e5b9eb1aa4a7994f142c3657744 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 16 May 2026 15:58:25 +0200 Subject: [PATCH 30/54] fix move after labels not working --- Assembly-CSharp/Patches/GameManager.cs | 44 ++++++++++++++++++++------ 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/Assembly-CSharp/Patches/GameManager.cs b/Assembly-CSharp/Patches/GameManager.cs index 5c8a7f67..71897ddf 100644 --- a/Assembly-CSharp/Patches/GameManager.cs +++ b/Assembly-CSharp/Patches/GameManager.cs @@ -22,10 +22,12 @@ namespace Modding.Patches [MonoModPatch("global::GameManager")] public class GameManager : global::GameManager { - private static string ModdedSavePath(int slot) => Path.Combine( - Application.persistentDataPath, - $"user{slot}.modded.json" - ); + private static string ModdedSavePath(int slot) => + Path.Combine + ( + Application.persistentDataPath, + $"user{slot}.modded.json" + ); private UIManager _uiInstance; @@ -63,6 +65,7 @@ public UIManager ui // il patch just dies trying to resolve types for no reason? public extern void orig_BeginSceneTransition(global::GameManager.SceneLoadInfo info); + public void BeginSceneTransition(GameManager.SceneLoadInfo info) { info.SceneName = ModHooks.BeforeSceneLoad(info.SceneName); @@ -135,13 +138,15 @@ public void SaveGame(int saveSlot, Action callback) { this.moddedData = new ModSavegameData(); } + ModHooks.OnSaveLocalSettings(this.moddedData); // save modded data try { var path = ModdedSavePath(saveSlot); - string modded = JsonConvert.SerializeObject( + string modded = JsonConvert.SerializeObject + ( this.moddedData, Formatting.Indented, new JsonSerializerSettings @@ -642,8 +647,10 @@ public static void OnApplicationQuit(ILContext il) ILCursor cursor = new ILCursor(il); cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); - cursor.MoveAfterLabels(); + cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted + cursor.GotoNext(); // apparently afterlabel doesn't work as wanted cursor.EmitDelegate(global::Modding.ModHooks.OnApplicationQuit); + cursor.Emit(OpCodes.Ret); // apparently afterlabel doesn't work as wanted } [MonoModIgnore] @@ -658,9 +665,11 @@ public static void LoadScene(ILContext il) cursor.Emit(OpCodes.Starg, 1); cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); - cursor.MoveAfterLabels(); + cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted + cursor.GotoNext(); // apparently afterlabel doesn't work as wanted cursor.Emit(OpCodes.Ldarg_1); cursor.EmitDelegate(global::Modding.ModHooks.OnSceneChanged); + cursor.Emit(OpCodes.Ret); // apparently afterlabel doesn't work as wanted } [MonoModIgnore] @@ -675,16 +684,20 @@ public static void ClearSaveFile(ILContext il) // this goes just before both `ret`s cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); - cursor.MoveAfterLabels(); + cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted + cursor.GotoNext(); // apparently afterlabel doesn't work as wanted cursor.Emit(OpCodes.Ldarg_1); cursor.EmitDelegate(global::Modding.ModHooks.OnAfterSaveGameClear); + cursor.Emit(OpCodes.Ret); // apparently afterlabel doesn't work as wanted // skip over the return cursor.GotoNext(); cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); - cursor.MoveAfterLabels(); + cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted + cursor.GotoNext(); // apparently afterlabel doesn't work as wanted cursor.Emit(OpCodes.Ldarg_1); cursor.EmitDelegate(global::Modding.ModHooks.OnAfterSaveGameClear); + cursor.Emit(OpCodes.Ret); // apparently afterlabel doesn't work as wanted } [MonoModIgnore] @@ -695,12 +708,17 @@ public static void PlayerDead(ILContext il, TypeDefinition stateMachineTypeDef) // Insert a call to your custom method cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdloc(1), x => x.MatchCallOrCallvirt(typeof(global::GameManager), "get_cameraCtrl")); + cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted + cursor.GotoNext(); // apparently afterlabel doesn't work as wanted cursor.EmitDelegate(global::Modding.ModHooks.OnBeforePlayerDead); + cursor.Emit(OpCodes.Ldloc_1); // apparently afterlabel doesn't work as wanted // this goes just before all the `ret`s cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdcI4(0), x => x.MatchRet()); - cursor.MoveAfterLabels(); + cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted + cursor.GotoNext(); // apparently afterlabel doesn't work as wanted cursor.EmitDelegate(global::Modding.ModHooks.OnAfterPlayerDead); + cursor.Emit(OpCodes.Ldc_I4_0); // apparently afterlabel doesn't work as wanted } [MonoModIgnore] @@ -717,11 +735,14 @@ public static void LoadSceneAdditive(ILContext il, TypeDefinition stateMachineTy x => x.MatchLdcI4(1), x => x.MatchStfld("tilemapDirty") ); + cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted + cursor.GotoNext(); // apparently afterlabel doesn't work as wanted cursor.Emit(OpCodes.Ldarg_0); cursor.Emit(OpCodes.Ldarg_0); cursor.Emit(OpCodes.Ldfld, stateMachineTypeDef.Fields.First(f => f.Name == "destScene")); cursor.EmitDelegate(global::Modding.ModHooks.BeforeSceneLoad); cursor.Emit(OpCodes.Stfld, stateMachineTypeDef.Fields.First(f => f.Name == "destScene")); + cursor.Emit(OpCodes.Ldloc_1); // apparently afterlabel doesn't work as wanted // somewhere before `this.RefreshTilemapInfo(destScene);` cursor.GotoNext @@ -732,9 +753,12 @@ public static void LoadSceneAdditive(ILContext il, TypeDefinition stateMachineTy x => x.MatchLdfld(out _), // destScene field of statemachine type x => x.MatchCallOrCallvirt(typeof(global::GameManager), "RefreshTilemapInfo") ); + cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted + cursor.GotoNext(); // apparently afterlabel doesn't work as wanted cursor.Emit(OpCodes.Ldarg_0); cursor.Emit(OpCodes.Ldfld, stateMachineTypeDef.Fields.First(f => f.Name == "destScene")); cursor.EmitDelegate(global::Modding.ModHooks.OnSceneChanged); + cursor.Emit(OpCodes.Ldloc_1); // apparently afterlabel doesn't work as wanted } } } \ No newline at end of file From b7e8ed99593bff3994871553eb275ad4dcfa0473 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 16 May 2026 16:22:20 +0200 Subject: [PATCH 31/54] have IL patches for LoadFirstScene and OnWillActivateFirstLevel --- .../Patches/Attributes/IEnumeratorIlPatch.cs | 1 + Assembly-CSharp/Patches/GameManager.cs | 224 ++++++++---------- 2 files changed, 98 insertions(+), 127 deletions(-) diff --git a/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs b/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs index 0c68d876..575e9732 100644 --- a/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs +++ b/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs @@ -3,6 +3,7 @@ using System.Reflection; using JetBrains.Annotations; using Mono.Cecil; +using Mono.Cecil.Cil; using MonoMod; using MonoMod.Cil; diff --git a/Assembly-CSharp/Patches/GameManager.cs b/Assembly-CSharp/Patches/GameManager.cs index 71897ddf..72524b63 100644 --- a/Assembly-CSharp/Patches/GameManager.cs +++ b/Assembly-CSharp/Patches/GameManager.cs @@ -63,6 +63,14 @@ public UIManager ui [Attributes.IEnumeratorIlPatch(nameof(IlPatches.LoadSceneAdditive))] extern public IEnumerator LoadSceneAdditive(string destScene); + [MonoModIgnore] + [Attributes.IEnumeratorIlPatch(nameof(IlPatches.LoadFirstScene))] + extern public IEnumerator LoadFirstScene(); + + [MonoModIgnore] + [Attributes.RawIlPatch(nameof(IlPatches.OnWillActivateFirstLevel))] + extern public void OnWillActivateFirstLevel(); + // il patch just dies trying to resolve types for no reason? public extern void orig_BeginSceneTransition(global::GameManager.SceneLoadInfo info); @@ -402,12 +410,9 @@ public void LoadGame(int saveSlot, Action callback) #endregion extern public void orig_SetupSceneRefs(bool refreshTilemapInfo); - public void SetupSceneRefs(bool refreshTilemapInfo) { orig_SetupSceneRefs(refreshTilemapInfo); - - if (IsGameplayScene()) { GameObject go = GameCameras.instance.soulOrbFSM.gameObject.transform.Find("SoulOrb_fill").gameObject; @@ -420,153 +425,89 @@ public void SetupSceneRefs(bool refreshTilemapInfo) } } - #region GetSaveStatsForSlot - [MonoModReplace] public void GetSaveStatsForSlot(int saveSlot, Action callback) { if (!Platform.IsSaveSlotIndexValid(saveSlot)) { - Debug.LogErrorFormat - ( - "Cannot get save stats for invalid slot {0}", - new object[] - { - saveSlot - } - ); + Debug.LogErrorFormat("Cannot get save stats for invalid slot {0}", new object[] { saveSlot }); if (callback != null) { CoreLoop.InvokeNext(delegate { callback(null); }); } - return; } - - Platform.Current.ReadSaveSlot - ( - saveSlot, - delegate(byte[] fileBytes) + Platform.Current.ReadSaveSlot(saveSlot, delegate(byte[] fileBytes) + { + if (fileBytes == null) { - if (fileBytes == null) + if (callback != null) { - if (callback != null) - { - CoreLoop.InvokeNext(delegate { callback(null); }); - } - - return; + CoreLoop.InvokeNext(delegate { callback(null); }); } - + return; + } + try + { + bool flag = this.gameConfig.useSaveEncryption && !Platform.Current.IsFileSystemProtected; + string json; + if (flag) + { + BinaryFormatter binaryFormatter = new BinaryFormatter(); + MemoryStream serializationStream = new MemoryStream(fileBytes); + string encryptedString = (string)binaryFormatter.Deserialize(serializationStream); + json = Encryption.Decrypt(encryptedString); + } + else + { + json = Encoding.UTF8.GetString(fileBytes); + } + SaveGameData saveGameData; try { - bool flag = this.gameConfig.useSaveEncryption && !Platform.Current.IsFileSystemProtected; - string json; - if (flag) - { - BinaryFormatter binaryFormatter = new BinaryFormatter(); - MemoryStream serializationStream = new MemoryStream(fileBytes); - string encryptedString = (string)binaryFormatter.Deserialize(serializationStream); - json = Encryption.Decrypt(encryptedString); - } - else - { - json = Encoding.UTF8.GetString(fileBytes); - } - - SaveGameData saveGameData; - try - { - saveGameData = JsonConvert.DeserializeObject - ( - json, - new JsonSerializerSettings() - { - ContractResolver = ShouldSerializeContractResolver.Instance, - TypeNameHandling = TypeNameHandling.Auto, - ObjectCreationHandling = ObjectCreationHandling.Replace, - Converters = JsonConverterTypes.ConverterTypes - } - ); - } - catch (Exception) - { - // Not a huge deal, this happens on saves with mod data which haven't been converted yet. - Logger.APILogger.LogWarn($"Failed to get save stats for slot {saveSlot} using Json.NET, falling back"); - - saveGameData = JsonUtility.FromJson(json); - } - - global::PlayerData playerData = saveGameData.playerData; - SaveStats saveStats = new SaveStats - ( - playerData.GetInt(nameof(PlayerData.maxHealthBase)), - playerData.GetInt(nameof(PlayerData.geo)), - playerData.GetVariable(nameof(PlayerData.mapZone)), - playerData.GetFloat(nameof(PlayerData.playTime)), - playerData.GetInt(nameof(PlayerData.MPReserveMax)), - playerData.GetInt(nameof(PlayerData.permadeathMode)), - playerData.GetBool(nameof(PlayerData.bossRushMode)), - playerData.GetFloat(nameof(PlayerData.completionPercentage)), - playerData.GetBool(nameof(PlayerData.unlockedCompletionRate)) - ); - if (callback != null) + saveGameData = JsonConvert.DeserializeObject(json, new JsonSerializerSettings() { - CoreLoop.InvokeNext(delegate { callback(saveStats); }); - } + ContractResolver = ShouldSerializeContractResolver.Instance, + TypeNameHandling = TypeNameHandling.Auto, + ObjectCreationHandling = ObjectCreationHandling.Replace, + Converters = JsonConverterTypes.ConverterTypes + }); } - catch (Exception ex) + catch (Exception) { - Debug.LogError - ( - string.Concat - ( - new object[] - { - "Error while loading save file for slot ", - saveSlot, - " Exception: ", - ex - } - ) - ); - if (callback != null) - { - CoreLoop.InvokeNext(delegate { callback(null); }); - } + // Not a huge deal, this happens on saves with mod data which haven't been converted yet. + Logger.APILogger.LogWarn($"Failed to get save stats for slot {saveSlot} using Json.NET, falling back"); + saveGameData = JsonUtility.FromJson(json); + } + global::PlayerData playerData = saveGameData.playerData; + SaveStats saveStats = new SaveStats + ( + playerData.GetInt(nameof(PlayerData.maxHealthBase)), + playerData.GetInt(nameof(PlayerData.geo)), + playerData.GetVariable(nameof(PlayerData.mapZone)), + playerData.GetFloat(nameof(PlayerData.playTime)), + playerData.GetInt(nameof(PlayerData.MPReserveMax)), + playerData.GetInt(nameof(PlayerData.permadeathMode)), + playerData.GetBool(nameof(PlayerData.bossRushMode)), + playerData.GetFloat(nameof(PlayerData.completionPercentage)), + playerData.GetBool(nameof(PlayerData.unlockedCompletionRate)) + ); + if (callback != null) + { + CoreLoop.InvokeNext(delegate { callback(saveStats); }); } } - ); - } - - #endregion - - #region LoadFirstScene - - [MonoModReplace] - public IEnumerator LoadFirstScene() - { - yield return new WaitForEndOfFrame(); - this.OnWillActivateFirstLevel(); - this.LoadScene("Tutorial_01"); - ModHooks.OnNewGame(); - yield break; - } - - #endregion - - #region OnWillActivateFirstLevel - - public extern void orig_OnWillActivateFirstLevel(); - - public void OnWillActivateFirstLevel() - { - orig_OnWillActivateFirstLevel(); - ModHooks.OnNewGame(); + catch (Exception ex) + { + Debug.LogError($"Error while loading save file for slot {saveSlot} Exception: {ex}"); + if (callback != null) + { + CoreLoop.InvokeNext(delegate { callback(null); }); + } + } + }); } - #endregion - #region PauseToDynamicMenu [MonoModIgnore] @@ -760,5 +701,34 @@ public static void LoadSceneAdditive(ILContext il, TypeDefinition stateMachineTy cursor.EmitDelegate(global::Modding.ModHooks.OnSceneChanged); cursor.Emit(OpCodes.Ldloc_1); // apparently afterlabel doesn't work as wanted } + + [MonoModIgnore] + public static void LoadFirstScene(ILContext il, TypeDefinition stateMachineTypeDef) + { + // add a `ModHooks.OnNewGame();` at the end of the method + ILCursor cursor = new ILCursor(il); + + // Insert a call to your custom method + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdloc(1)); + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdcI4(0), x => x.MatchRet()); + cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted + cursor.GotoNext(); // apparently afterlabel doesn't work as wanted + cursor.EmitDelegate(global::Modding.ModHooks.OnNewGame); + cursor.Emit(OpCodes.Ldc_I4_0); // apparently afterlabel doesn't work as wanted + } + + [MonoModIgnore] + public static void OnWillActivateFirstLevel(ILContext il) + { + // add a `ModHooks.OnNewGame();` at the end of the method + ILCursor cursor = new ILCursor(il); + + // Insert a call to your custom method + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); + cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted + cursor.GotoNext(); // apparently afterlabel doesn't work as wanted + cursor.EmitDelegate(global::Modding.ModHooks.OnNewGame); + cursor.Emit(OpCodes.Ret); // apparently afterlabel doesn't work as wanted + } } } \ No newline at end of file From 104bcf74cfa9001590352806b4c8202480c73be0 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 16 May 2026 16:26:37 +0200 Subject: [PATCH 32/54] remove attribute from name & add todo comments --- Assembly-CSharp/Patches/HasComponent.cs | 2 +- Assembly-CSharp/Patches/HealthManager.cs | 3 ++- Assembly-CSharp/Patches/HeroAnimationController.cs | 3 ++- Assembly-CSharp/Patches/InputHandler.cs | 1 + 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Assembly-CSharp/Patches/HasComponent.cs b/Assembly-CSharp/Patches/HasComponent.cs index 9f938309..dd24f421 100644 --- a/Assembly-CSharp/Patches/HasComponent.cs +++ b/Assembly-CSharp/Patches/HasComponent.cs @@ -10,7 +10,7 @@ namespace Modding.Patches public class HasComponent : global::HutongGames.PlayMaker.Actions.HasComponent { [MonoModIgnore] - [Attributes.RemoveMethodCallAttribute + [Attributes.RemoveMethodCall ( "HutongGames.PlayMaker.ReflectionUtils", "GetGlobalType" diff --git a/Assembly-CSharp/Patches/HealthManager.cs b/Assembly-CSharp/Patches/HealthManager.cs index e222a423..54d4ebbb 100644 --- a/Assembly-CSharp/Patches/HealthManager.cs +++ b/Assembly-CSharp/Patches/HealthManager.cs @@ -11,7 +11,8 @@ public class HealthManager : global::HealthManager { [MonoModIgnore] public bool isDead; - + + // todo: make IL hook: add ModHooks before isDead check ///This may be used by mods to find new enemies. Check this isDead flag to see if they're already dead [MonoModReplace] protected IEnumerator CheckPersistence() diff --git a/Assembly-CSharp/Patches/HeroAnimationController.cs b/Assembly-CSharp/Patches/HeroAnimationController.cs index 1a8e8651..46a970e3 100644 --- a/Assembly-CSharp/Patches/HeroAnimationController.cs +++ b/Assembly-CSharp/Patches/HeroAnimationController.cs @@ -20,10 +20,11 @@ public class HeroAnimationController : global::HeroAnimationController [MonoModIgnore] private extern void UpdateAnimation(); + // todo: make IL hook: remove betaEnd pd check [MonoModReplace] private void Update() { - if (this.controlEnabled) + if (this.controlEnabled && !waitingToEnter) { this.UpdateAnimation(); } diff --git a/Assembly-CSharp/Patches/InputHandler.cs b/Assembly-CSharp/Patches/InputHandler.cs index 2dd48dcf..a9661846 100644 --- a/Assembly-CSharp/Patches/InputHandler.cs +++ b/Assembly-CSharp/Patches/InputHandler.cs @@ -21,6 +21,7 @@ public class InputHandler : global::InputHandler [MonoModIgnore] private GameManager gm; + // todo: make IL hook: add lockstate none before each ret // Reverted cursor behavior [MonoModReplace] private void OnGUI() From cbe52a5f065919444c6b80d65ed01cf0ba254765 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 16 May 2026 16:27:25 +0200 Subject: [PATCH 33/54] add missing enum values and some [MonoModReplace] --- Assembly-CSharp/Mod.cs | 3 +- Assembly-CSharp/ModHooks.cs | 3 +- Assembly-CSharp/Patches/MenuSelectable.cs | 8 ++++ Assembly-CSharp/Patches/MenuSetting.cs | 3 +- Assembly-CSharp/Patches/Platform.cs | 2 + .../Patches/PlayMakerUnity2DProxy.cs | 1 + Assembly-CSharp/Patches/StartManager.cs | 5 +- Assembly-CSharp/Patches/UIButtonSkins.cs | 3 +- Assembly-CSharp/Patches/UIManager.cs | 46 ++++++++++--------- 9 files changed, 47 insertions(+), 27 deletions(-) diff --git a/Assembly-CSharp/Mod.cs b/Assembly-CSharp/Mod.cs index 3e476940..217698d8 100644 --- a/Assembly-CSharp/Mod.cs +++ b/Assembly-CSharp/Mod.cs @@ -10,6 +10,7 @@ using MonoMod.Utils; using System.Linq; using Newtonsoft.Json.Linq; +using Lang = Language.Language; // ReSharper disable file UnusedMember.Global @@ -188,7 +189,7 @@ public virtual void Initialize() { } /// change the text of the button to jump to this mod's menu. /// /// - public virtual string GetMenuButtonText() => $"{GetName()} {Language.Language.Get("MAIN_OPTIONS", "MainMenu")}"; + public virtual string GetMenuButtonText() => $"{GetName()} {Lang.Get("MAIN_OPTIONS", "MainMenu")}"; private void HookSaveMethods() { diff --git a/Assembly-CSharp/ModHooks.cs b/Assembly-CSharp/ModHooks.cs index 0ea986d3..88b303aa 100644 --- a/Assembly-CSharp/ModHooks.cs +++ b/Assembly-CSharp/ModHooks.cs @@ -12,6 +12,7 @@ using System.Linq; using Modding.Delegates; using Object = UnityEngine.Object; +using Lang = Language.Language; // ReSharper disable PossibleInvalidCastExceptionInForeachLoop // ReSharper disable SuggestVarOrType_SimpleTypes @@ -225,7 +226,7 @@ internal static void LogConsole(string message, LogLevel level) /// N/A internal static string LanguageGet(string key, string sheet) { - string res = Language.Language.GetInternal(key, sheet); + string res = Lang.GetInternal(key, sheet); if (LanguageGetHook == null) return res; diff --git a/Assembly-CSharp/Patches/MenuSelectable.cs b/Assembly-CSharp/Patches/MenuSelectable.cs index 5b2abbff..a906f8e6 100644 --- a/Assembly-CSharp/Patches/MenuSelectable.cs +++ b/Assembly-CSharp/Patches/MenuSelectable.cs @@ -60,6 +60,14 @@ public enum CancelAction ApplyVideoSettings, ApplyGameSettings, ApplyKeyboardSettings, + GoToExtrasMenu, + ApplyControllerSettings, + GoToExplicitSwitchUser, + ReturnToProfileMenu, + ApplyAdvancedVideoSettings, + ApplyAdvancedControllerSettings, + + // Added for the dynamic menu API CustomCancelAction } } \ No newline at end of file diff --git a/Assembly-CSharp/Patches/MenuSetting.cs b/Assembly-CSharp/Patches/MenuSetting.cs index 6f989f5b..c8ff0871 100644 --- a/Assembly-CSharp/Patches/MenuSetting.cs +++ b/Assembly-CSharp/Patches/MenuSetting.cs @@ -70,7 +70,8 @@ public enum MenuSettingType NativeInput, XInput, MFi, - // peepoHappy + + // Added for the dynamic menu API CustomSetting } } diff --git a/Assembly-CSharp/Patches/Platform.cs b/Assembly-CSharp/Patches/Platform.cs index f7f811f0..0bc59fe2 100644 --- a/Assembly-CSharp/Patches/Platform.cs +++ b/Assembly-CSharp/Patches/Platform.cs @@ -15,9 +15,11 @@ public ISharedData EncryptedSharedData get { return RoamingSharedData; } } + [MonoModReplace] public static bool IsSaveSlotIndexValid(int slotIndex) => true; // ReSharper disable once UnusedMember.Global + [MonoModReplace] protected string GetSaveSlotFileName(int slotIndex, SaveSlotFileNameUsage usage) { string text = slotIndex == 0 ? "user.dat" : $"user{slotIndex}.dat"; diff --git a/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs b/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs index 5209f962..3f671904 100644 --- a/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs +++ b/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs @@ -9,6 +9,7 @@ namespace Modding.Patches [MonoModPatch("global::PlayMakerUnity2DProxy")] public class PlayMakerUnity2DProxy : global::PlayMakerUnity2DProxy { + [MonoModReplace] public void Start() { if (!PlayMakerUnity2d.isAvailable()) diff --git a/Assembly-CSharp/Patches/StartManager.cs b/Assembly-CSharp/Patches/StartManager.cs index 43a6f3fc..7a569ccd 100644 --- a/Assembly-CSharp/Patches/StartManager.cs +++ b/Assembly-CSharp/Patches/StartManager.cs @@ -4,6 +4,7 @@ using MonoMod; using UnityEngine; using UObject = UnityEngine.Object; +using Lang = Language.Language; // ReSharper disable All #pragma warning disable 1591, CS0649 @@ -87,7 +88,7 @@ private IEnumerator Start() yield return base.StartCoroutine(this.LanguageSettingDone()); } - TeamCherry.Localization.LanguageCode currentLanguage = (TeamCherry.Localization.LanguageCode) Language.Language.CurrentLanguage(); + TeamCherry.Localization.LanguageCode currentLanguage = (TeamCherry.Localization.LanguageCode) Lang.CurrentLanguage(); while (!Platform.Current.IsSharedDataMounted) { yield return null; @@ -104,7 +105,7 @@ private IEnumerator Start() } if (flag) { - Language.Language.LoadLanguage(); + Lang.LoadLanguage(); ChangeFontByLanguage[] array = UObject.FindObjectsByType(FindObjectsSortMode.None); for (int i = 0; i < array.Length; i++) { diff --git a/Assembly-CSharp/Patches/UIButtonSkins.cs b/Assembly-CSharp/Patches/UIButtonSkins.cs index 2feb7636..89cee43c 100644 --- a/Assembly-CSharp/Patches/UIButtonSkins.cs +++ b/Assembly-CSharp/Patches/UIButtonSkins.cs @@ -16,7 +16,8 @@ public class UIButtonSkins : global::UIButtonSkins private extern ButtonSkin GetButtonSkinFor(string buttonName); [MonoModIgnore] private extern ButtonSkin orig_GetButtonSkinFor(InputControlType inputControlType); - + + [MonoModIgnore] private InputHandler ih; public extern void orig_RefreshKeyMappings(); diff --git a/Assembly-CSharp/Patches/UIManager.cs b/Assembly-CSharp/Patches/UIManager.cs index b79be999..f7e22431 100644 --- a/Assembly-CSharp/Patches/UIManager.cs +++ b/Assembly-CSharp/Patches/UIManager.cs @@ -13,14 +13,35 @@ namespace Modding.Patches [MonoModPatch("global::UIManager")] public class UIManager : global::UIManager { + + private bool hasCalledEditMenus = false; + + public MenuScreen currentDynamicMenu { get; set; } + + private static Action _editMenus; + + public static event Action EditMenus + { + add + { + _editMenus += value; + if (_instance != null && _instance.hasCalledEditMenus) value(); + } + remove => _editMenus -= value; + } + + private Sprite LoadImage() => Assembly.GetExecutingAssembly().LoadEmbeddedSprite("Modding.logo.png", pixelsPerUnit: 100f); + + public static event Action BeforeHideDynamicMenu; + [MonoModIgnore] private static UIManager _instance; [MonoModIgnore] private InputHandler ih; - public MenuScreen currentDynamicMenu { get; set; } - + // todo: make IL hook: Debug.LogError + [MonoModReplace] public static UIManager get_instance() { if (UIManager._instance == null) @@ -41,22 +62,8 @@ public static UIManager get_instance() return UIManager._instance; } - public static event Action EditMenus - { - add - { - _editMenus += value; - if (_instance != null && _instance.hasCalledEditMenus) value(); - } - remove => _editMenus -= value; - } - - private static Action _editMenus; - public extern void orig_Awake(); - private Sprite LoadImage() => Assembly.GetExecutingAssembly().LoadEmbeddedSprite("Modding.logo.png", pixelsPerUnit: 100f); - public void Awake() { orig_Awake(); @@ -91,12 +98,9 @@ private void Start() var sr = clone.GetComponent(); sr.sprite = LoadImage(); } - - private bool hasCalledEditMenus = false; public extern IEnumerator orig_HideCurrentMenu(); - - public static event Action BeforeHideDynamicMenu; + public IEnumerator HideCurrentMenu() { if (((MainMenuState) this.menuState) == MainMenuState.DYNAMIC_MENU) @@ -187,7 +191,7 @@ public IEnumerator PauseToDynamicMenu(MenuScreen to) } } - [MonoModPatch("GlobalEnums.MainMenuState")] + [MonoModPatch("global::GlobalEnums.MainMenuState")] public enum MainMenuState { LOGO, From 3c259827734b273d0e75c3217a4e842f111d9729 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 16 May 2026 18:49:30 +0200 Subject: [PATCH 34/54] remove a few comments to show why the opcode fuckery happens --- Assembly-CSharp/Patches/GameManager.cs | 86 ++++++++++++++------------ 1 file changed, 45 insertions(+), 41 deletions(-) diff --git a/Assembly-CSharp/Patches/GameManager.cs b/Assembly-CSharp/Patches/GameManager.cs index 72524b63..f2499e43 100644 --- a/Assembly-CSharp/Patches/GameManager.cs +++ b/Assembly-CSharp/Patches/GameManager.cs @@ -579,6 +579,10 @@ public SceneLoad SceneLoad } } + // todo: apparently MoveType.AfterLabel doesn't work as wanted, so it works as a MoveType.Before, and we can just make: + // 1. the next instruction a OpCodes.Nop + // 2. put our stuff after the OpCodes.Nop + // 3. emit what we changed to a OpCodes.Nop public static partial class IlPatches { [MonoModIgnore] @@ -587,11 +591,11 @@ public static void OnApplicationQuit(ILContext il) // add a `ModHooks.OnApplicationQuit();` at the end of the method ILCursor cursor = new ILCursor(il); - cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); - cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted - cursor.GotoNext(); // apparently afterlabel doesn't work as wanted + cursor.GotoNext(MoveType.Before, x => x.MatchRet()); + cursor.Next.OpCode = OpCodes.Nop; + cursor.GotoNext(); cursor.EmitDelegate(global::Modding.ModHooks.OnApplicationQuit); - cursor.Emit(OpCodes.Ret); // apparently afterlabel doesn't work as wanted + cursor.Emit(OpCodes.Ret); } [MonoModIgnore] @@ -605,12 +609,12 @@ public static void LoadScene(ILContext il) cursor.EmitDelegate(global::Modding.ModHooks.BeforeSceneLoad); cursor.Emit(OpCodes.Starg, 1); - cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); - cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted - cursor.GotoNext(); // apparently afterlabel doesn't work as wanted + cursor.GotoNext(MoveType.Before, x => x.MatchRet()); + cursor.Next.OpCode = OpCodes.Nop; + cursor.GotoNext(); cursor.Emit(OpCodes.Ldarg_1); cursor.EmitDelegate(global::Modding.ModHooks.OnSceneChanged); - cursor.Emit(OpCodes.Ret); // apparently afterlabel doesn't work as wanted + cursor.Emit(OpCodes.Ret); } [MonoModIgnore] @@ -624,21 +628,21 @@ public static void ClearSaveFile(ILContext il) cursor.EmitDelegate(global::Modding.ModHooks.OnSavegameClear); // this goes just before both `ret`s - cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); - cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted - cursor.GotoNext(); // apparently afterlabel doesn't work as wanted + cursor.GotoNext(MoveType.Before, x => x.MatchRet()); + cursor.Next.OpCode = OpCodes.Nop; + cursor.GotoNext(); cursor.Emit(OpCodes.Ldarg_1); cursor.EmitDelegate(global::Modding.ModHooks.OnAfterSaveGameClear); - cursor.Emit(OpCodes.Ret); // apparently afterlabel doesn't work as wanted + cursor.Emit(OpCodes.Ret); // skip over the return cursor.GotoNext(); - cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); - cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted - cursor.GotoNext(); // apparently afterlabel doesn't work as wanted + cursor.GotoNext(MoveType.Before, x => x.MatchRet()); + cursor.Next.OpCode = OpCodes.Nop; + cursor.GotoNext(); cursor.Emit(OpCodes.Ldarg_1); cursor.EmitDelegate(global::Modding.ModHooks.OnAfterSaveGameClear); - cursor.Emit(OpCodes.Ret); // apparently afterlabel doesn't work as wanted + cursor.Emit(OpCodes.Ret); } [MonoModIgnore] @@ -648,18 +652,18 @@ public static void PlayerDead(ILContext il, TypeDefinition stateMachineTypeDef) ILCursor cursor = new ILCursor(il); // Insert a call to your custom method - cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdloc(1), x => x.MatchCallOrCallvirt(typeof(global::GameManager), "get_cameraCtrl")); - cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted - cursor.GotoNext(); // apparently afterlabel doesn't work as wanted + cursor.GotoNext(MoveType.Before, x => x.MatchLdloc(1), x => x.MatchCallOrCallvirt(typeof(global::GameManager), "get_cameraCtrl")); + cursor.Next.OpCode = OpCodes.Nop; + cursor.GotoNext(); cursor.EmitDelegate(global::Modding.ModHooks.OnBeforePlayerDead); - cursor.Emit(OpCodes.Ldloc_1); // apparently afterlabel doesn't work as wanted + cursor.Emit(OpCodes.Ldloc_1); // this goes just before all the `ret`s - cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdcI4(0), x => x.MatchRet()); - cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted - cursor.GotoNext(); // apparently afterlabel doesn't work as wanted + cursor.GotoNext(MoveType.Before, x => x.MatchLdcI4(0), x => x.MatchRet()); + cursor.Next.OpCode = OpCodes.Nop; + cursor.GotoNext(); cursor.EmitDelegate(global::Modding.ModHooks.OnAfterPlayerDead); - cursor.Emit(OpCodes.Ldc_I4_0); // apparently afterlabel doesn't work as wanted + cursor.Emit(OpCodes.Ldc_I4_0); } [MonoModIgnore] @@ -671,35 +675,35 @@ public static void LoadSceneAdditive(ILContext il, TypeDefinition stateMachineTy // Insert a call to your custom method cursor.GotoNext ( - MoveType.AfterLabel, + MoveType.Before, x => x.MatchLdloc(1), x => x.MatchLdcI4(1), x => x.MatchStfld("tilemapDirty") ); - cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted - cursor.GotoNext(); // apparently afterlabel doesn't work as wanted + cursor.Next.OpCode = OpCodes.Nop; + cursor.GotoNext(); cursor.Emit(OpCodes.Ldarg_0); cursor.Emit(OpCodes.Ldarg_0); cursor.Emit(OpCodes.Ldfld, stateMachineTypeDef.Fields.First(f => f.Name == "destScene")); cursor.EmitDelegate(global::Modding.ModHooks.BeforeSceneLoad); cursor.Emit(OpCodes.Stfld, stateMachineTypeDef.Fields.First(f => f.Name == "destScene")); - cursor.Emit(OpCodes.Ldloc_1); // apparently afterlabel doesn't work as wanted + cursor.Emit(OpCodes.Ldloc_1); // somewhere before `this.RefreshTilemapInfo(destScene);` cursor.GotoNext ( - MoveType.AfterLabel, + MoveType.Before, x => x.MatchLdloc(1), x => x.MatchLdarg(0), x => x.MatchLdfld(out _), // destScene field of statemachine type x => x.MatchCallOrCallvirt(typeof(global::GameManager), "RefreshTilemapInfo") ); - cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted - cursor.GotoNext(); // apparently afterlabel doesn't work as wanted + cursor.Next.OpCode = OpCodes.Nop; + cursor.GotoNext(); cursor.Emit(OpCodes.Ldarg_0); cursor.Emit(OpCodes.Ldfld, stateMachineTypeDef.Fields.First(f => f.Name == "destScene")); cursor.EmitDelegate(global::Modding.ModHooks.OnSceneChanged); - cursor.Emit(OpCodes.Ldloc_1); // apparently afterlabel doesn't work as wanted + cursor.Emit(OpCodes.Ldloc_1); } [MonoModIgnore] @@ -709,12 +713,12 @@ public static void LoadFirstScene(ILContext il, TypeDefinition stateMachineTypeD ILCursor cursor = new ILCursor(il); // Insert a call to your custom method - cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdloc(1)); - cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdcI4(0), x => x.MatchRet()); - cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted - cursor.GotoNext(); // apparently afterlabel doesn't work as wanted + cursor.GotoNext(MoveType.Before, x => x.MatchLdloc(1)); + cursor.GotoNext(MoveType.Before, x => x.MatchLdcI4(0), x => x.MatchRet()); + cursor.Next.OpCode = OpCodes.Nop; + cursor.GotoNext(); cursor.EmitDelegate(global::Modding.ModHooks.OnNewGame); - cursor.Emit(OpCodes.Ldc_I4_0); // apparently afterlabel doesn't work as wanted + cursor.Emit(OpCodes.Ldc_I4_0); } [MonoModIgnore] @@ -724,11 +728,11 @@ public static void OnWillActivateFirstLevel(ILContext il) ILCursor cursor = new ILCursor(il); // Insert a call to your custom method - cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); - cursor.Next.OpCode = OpCodes.Nop; // apparently afterlabel doesn't work as wanted - cursor.GotoNext(); // apparently afterlabel doesn't work as wanted + cursor.GotoNext(MoveType.Before, x => x.MatchRet()); + cursor.Next.OpCode = OpCodes.Nop; + cursor.GotoNext(); cursor.EmitDelegate(global::Modding.ModHooks.OnNewGame); - cursor.Emit(OpCodes.Ret); // apparently afterlabel doesn't work as wanted + cursor.Emit(OpCodes.Ret); } } } \ No newline at end of file From 339b01f07d601622cd69772cc5ea52450678d135 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sun, 17 May 2026 23:28:40 +0200 Subject: [PATCH 35/54] fix the afterlabel thing --- .../Patches/Attributes/IEnumeratorIlPatch.cs | 6 +- .../Patches/Attributes/RawIlPatch.cs | 3 +- Assembly-CSharp/Patches/EnemyDeathEffects.cs | 4 +- Assembly-CSharp/Patches/GameManager.cs | 56 ++++--------------- 4 files changed, 20 insertions(+), 49 deletions(-) diff --git a/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs b/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs index 575e9732..ee204c50 100644 --- a/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs +++ b/Assembly-CSharp/Patches/Attributes/IEnumeratorIlPatch.cs @@ -6,6 +6,7 @@ using Mono.Cecil.Cil; using MonoMod; using MonoMod.Cil; +using MonoMod.Utils; namespace Modding.Patches.Attributes { @@ -58,7 +59,10 @@ public static void IEnumeratorIlPatch(MethodDefinition method, CustomAttribute a if (patcherMethod is null) throw new InvalidOperationException("Couldn't find patcher method!"); - patcherMethod.Invoke(null, [context, stateMachineTypeDef]); + context.Invoke(delegate(ILContext ctx) + { + patcherMethod.Invoke(null, [ctx, stateMachineTypeDef]); + }); } } } \ No newline at end of file diff --git a/Assembly-CSharp/Patches/Attributes/RawIlPatch.cs b/Assembly-CSharp/Patches/Attributes/RawIlPatch.cs index 06e1057e..da34d26a 100644 --- a/Assembly-CSharp/Patches/Attributes/RawIlPatch.cs +++ b/Assembly-CSharp/Patches/Attributes/RawIlPatch.cs @@ -4,6 +4,7 @@ using Mono.Cecil; using MonoMod; using MonoMod.Cil; +using MonoMod.Utils; namespace Modding.Patches.Attributes { @@ -51,7 +52,7 @@ public static void RawIlPatch(MethodDefinition method, CustomAttribute attrib) if (patcherMethod is null) throw new InvalidOperationException("Couldn't find patcher method!"); - patcherMethod.Invoke(null, new[] { context }); + context.Invoke(patcherMethod.CreateDelegate()); } } } \ No newline at end of file diff --git a/Assembly-CSharp/Patches/EnemyDeathEffects.cs b/Assembly-CSharp/Patches/EnemyDeathEffects.cs index 7578b203..36192cc3 100644 --- a/Assembly-CSharp/Patches/EnemyDeathEffects.cs +++ b/Assembly-CSharp/Patches/EnemyDeathEffects.cs @@ -29,7 +29,7 @@ public static void RecieveDeathEvent(ILContext il) // add a `ModHooks.OnRecieveDeathEvent(this, didFire, ref attackDirection, ref resetDeathEvent, ref spellBurn, ref isWatery);` at the start of the method ILCursor cursor = new ILCursor(il); - cursor.GotoNext(MoveType.Before, x => x.MatchLdarg(0)); + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdarg(0)); // Insert a call to your custom method cursor.Emit(OpCodes.Ldarg_0); @@ -48,7 +48,7 @@ public static void RecordKillForJournal(ILContext il) // add a `ModHooks.OnRecordKillForJournal(this, this.playerDataName, $"killed{this.playerDataName}", $"kills{this.playerDataName}", $"newData{this.playerDataName}");` at the start of the method ILCursor cursor = new ILCursor(il); - cursor.GotoNext(MoveType.Before, x => x.MatchLdcI4(0)); + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdcI4(0)); // Insert a call to your custom method cursor.Emit(OpCodes.Ldarg_0); // this diff --git a/Assembly-CSharp/Patches/GameManager.cs b/Assembly-CSharp/Patches/GameManager.cs index f2499e43..538babb7 100644 --- a/Assembly-CSharp/Patches/GameManager.cs +++ b/Assembly-CSharp/Patches/GameManager.cs @@ -579,10 +579,6 @@ public SceneLoad SceneLoad } } - // todo: apparently MoveType.AfterLabel doesn't work as wanted, so it works as a MoveType.Before, and we can just make: - // 1. the next instruction a OpCodes.Nop - // 2. put our stuff after the OpCodes.Nop - // 3. emit what we changed to a OpCodes.Nop public static partial class IlPatches { [MonoModIgnore] @@ -591,11 +587,8 @@ public static void OnApplicationQuit(ILContext il) // add a `ModHooks.OnApplicationQuit();` at the end of the method ILCursor cursor = new ILCursor(il); - cursor.GotoNext(MoveType.Before, x => x.MatchRet()); - cursor.Next.OpCode = OpCodes.Nop; - cursor.GotoNext(); + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); cursor.EmitDelegate(global::Modding.ModHooks.OnApplicationQuit); - cursor.Emit(OpCodes.Ret); } [MonoModIgnore] @@ -609,12 +602,9 @@ public static void LoadScene(ILContext il) cursor.EmitDelegate(global::Modding.ModHooks.BeforeSceneLoad); cursor.Emit(OpCodes.Starg, 1); - cursor.GotoNext(MoveType.Before, x => x.MatchRet()); - cursor.Next.OpCode = OpCodes.Nop; - cursor.GotoNext(); + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); cursor.Emit(OpCodes.Ldarg_1); cursor.EmitDelegate(global::Modding.ModHooks.OnSceneChanged); - cursor.Emit(OpCodes.Ret); } [MonoModIgnore] @@ -628,21 +618,15 @@ public static void ClearSaveFile(ILContext il) cursor.EmitDelegate(global::Modding.ModHooks.OnSavegameClear); // this goes just before both `ret`s - cursor.GotoNext(MoveType.Before, x => x.MatchRet()); - cursor.Next.OpCode = OpCodes.Nop; - cursor.GotoNext(); + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); cursor.Emit(OpCodes.Ldarg_1); cursor.EmitDelegate(global::Modding.ModHooks.OnAfterSaveGameClear); - cursor.Emit(OpCodes.Ret); // skip over the return cursor.GotoNext(); - cursor.GotoNext(MoveType.Before, x => x.MatchRet()); - cursor.Next.OpCode = OpCodes.Nop; - cursor.GotoNext(); + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); cursor.Emit(OpCodes.Ldarg_1); cursor.EmitDelegate(global::Modding.ModHooks.OnAfterSaveGameClear); - cursor.Emit(OpCodes.Ret); } [MonoModIgnore] @@ -652,18 +636,12 @@ public static void PlayerDead(ILContext il, TypeDefinition stateMachineTypeDef) ILCursor cursor = new ILCursor(il); // Insert a call to your custom method - cursor.GotoNext(MoveType.Before, x => x.MatchLdloc(1), x => x.MatchCallOrCallvirt(typeof(global::GameManager), "get_cameraCtrl")); - cursor.Next.OpCode = OpCodes.Nop; - cursor.GotoNext(); + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdloc(1), x => x.MatchCallOrCallvirt(typeof(global::GameManager), "get_cameraCtrl")); cursor.EmitDelegate(global::Modding.ModHooks.OnBeforePlayerDead); - cursor.Emit(OpCodes.Ldloc_1); // this goes just before all the `ret`s - cursor.GotoNext(MoveType.Before, x => x.MatchLdcI4(0), x => x.MatchRet()); - cursor.Next.OpCode = OpCodes.Nop; - cursor.GotoNext(); + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdcI4(0), x => x.MatchRet()); cursor.EmitDelegate(global::Modding.ModHooks.OnAfterPlayerDead); - cursor.Emit(OpCodes.Ldc_I4_0); } [MonoModIgnore] @@ -675,35 +653,29 @@ public static void LoadSceneAdditive(ILContext il, TypeDefinition stateMachineTy // Insert a call to your custom method cursor.GotoNext ( - MoveType.Before, + MoveType.AfterLabel, x => x.MatchLdloc(1), x => x.MatchLdcI4(1), x => x.MatchStfld("tilemapDirty") ); - cursor.Next.OpCode = OpCodes.Nop; - cursor.GotoNext(); cursor.Emit(OpCodes.Ldarg_0); cursor.Emit(OpCodes.Ldarg_0); cursor.Emit(OpCodes.Ldfld, stateMachineTypeDef.Fields.First(f => f.Name == "destScene")); cursor.EmitDelegate(global::Modding.ModHooks.BeforeSceneLoad); cursor.Emit(OpCodes.Stfld, stateMachineTypeDef.Fields.First(f => f.Name == "destScene")); - cursor.Emit(OpCodes.Ldloc_1); // somewhere before `this.RefreshTilemapInfo(destScene);` cursor.GotoNext ( - MoveType.Before, + MoveType.AfterLabel, x => x.MatchLdloc(1), x => x.MatchLdarg(0), x => x.MatchLdfld(out _), // destScene field of statemachine type x => x.MatchCallOrCallvirt(typeof(global::GameManager), "RefreshTilemapInfo") ); - cursor.Next.OpCode = OpCodes.Nop; - cursor.GotoNext(); cursor.Emit(OpCodes.Ldarg_0); cursor.Emit(OpCodes.Ldfld, stateMachineTypeDef.Fields.First(f => f.Name == "destScene")); cursor.EmitDelegate(global::Modding.ModHooks.OnSceneChanged); - cursor.Emit(OpCodes.Ldloc_1); } [MonoModIgnore] @@ -713,12 +685,9 @@ public static void LoadFirstScene(ILContext il, TypeDefinition stateMachineTypeD ILCursor cursor = new ILCursor(il); // Insert a call to your custom method - cursor.GotoNext(MoveType.Before, x => x.MatchLdloc(1)); - cursor.GotoNext(MoveType.Before, x => x.MatchLdcI4(0), x => x.MatchRet()); - cursor.Next.OpCode = OpCodes.Nop; - cursor.GotoNext(); + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdloc(1)); + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchLdcI4(0), x => x.MatchRet()); cursor.EmitDelegate(global::Modding.ModHooks.OnNewGame); - cursor.Emit(OpCodes.Ldc_I4_0); } [MonoModIgnore] @@ -728,11 +697,8 @@ public static void OnWillActivateFirstLevel(ILContext il) ILCursor cursor = new ILCursor(il); // Insert a call to your custom method - cursor.GotoNext(MoveType.Before, x => x.MatchRet()); - cursor.Next.OpCode = OpCodes.Nop; - cursor.GotoNext(); + cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); cursor.EmitDelegate(global::Modding.ModHooks.OnNewGame); - cursor.Emit(OpCodes.Ret); } } } \ No newline at end of file From 53eeaeeb351395768c829e6a4a1202f696bc0f55 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 23 May 2026 23:06:07 +0200 Subject: [PATCH 36/54] make HealthManager into an IL patch & add some more todo comments --- Assembly-CSharp/Patches/GameManager.cs | 15 +++---- Assembly-CSharp/Patches/HealthManager.cs | 40 +++++++++++------ Assembly-CSharp/Patches/InputHandler.cs | 44 +++++++------------ Assembly-CSharp/Patches/OnTriggerEnter2D.cs | 1 + Assembly-CSharp/Patches/Platform.cs | 1 + .../Patches/PlayMakerUnity2DProxy.cs | 1 + Assembly-CSharp/Patches/PlayerData.cs | 2 + Assembly-CSharp/Patches/SceneManager.cs | 2 + Assembly-CSharp/Patches/StartManager.cs | 1 + 9 files changed, 57 insertions(+), 50 deletions(-) diff --git a/Assembly-CSharp/Patches/GameManager.cs b/Assembly-CSharp/Patches/GameManager.cs index 538babb7..1fb70051 100644 --- a/Assembly-CSharp/Patches/GameManager.cs +++ b/Assembly-CSharp/Patches/GameManager.cs @@ -618,15 +618,12 @@ public static void ClearSaveFile(ILContext il) cursor.EmitDelegate(global::Modding.ModHooks.OnSavegameClear); // this goes just before both `ret`s - cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); - cursor.Emit(OpCodes.Ldarg_1); - cursor.EmitDelegate(global::Modding.ModHooks.OnAfterSaveGameClear); - - // skip over the return - cursor.GotoNext(); - cursor.GotoNext(MoveType.AfterLabel, x => x.MatchRet()); - cursor.Emit(OpCodes.Ldarg_1); - cursor.EmitDelegate(global::Modding.ModHooks.OnAfterSaveGameClear); + while (cursor.TryGotoNext(MoveType.AfterLabel, x => x.MatchRet())) + { + cursor.Emit(OpCodes.Ldarg_1); + cursor.EmitDelegate(global::Modding.ModHooks.OnAfterSaveGameClear); + cursor.GotoNext(); + } } [MonoModIgnore] diff --git a/Assembly-CSharp/Patches/HealthManager.cs b/Assembly-CSharp/Patches/HealthManager.cs index 54d4ebbb..ee26555c 100644 --- a/Assembly-CSharp/Patches/HealthManager.cs +++ b/Assembly-CSharp/Patches/HealthManager.cs @@ -1,5 +1,8 @@ using System.Collections; +using Mono.Cecil; +using Mono.Cecil.Cil; using MonoMod; +using MonoMod.Cil; // ReSharper disable all #pragma warning disable 1591, CS0108 @@ -10,21 +13,32 @@ namespace Modding.Patches public class HealthManager : global::HealthManager { [MonoModIgnore] - public bool isDead; + [Attributes.IEnumeratorIlPatch(nameof(IlPatches.CheckPersistence))] + extern protected IEnumerator CheckPersistence(); + } - // todo: make IL hook: add ModHooks before isDead check - ///This may be used by mods to find new enemies. Check this isDead flag to see if they're already dead - [MonoModReplace] - protected IEnumerator CheckPersistence() + public static partial class IlPatches + { + [MonoModIgnore] + public static void CheckPersistence(ILContext il, TypeDefinition stateMachineTypeDef) { - yield return null; - //We insert the hook here because I think some enemys' FSMs need 1 frame to mark the "isDead" bool for things that it thinks should be dead. - isDead = ModHooks.OnEnableEnemy( gameObject, isDead ); - if( this.isDead ) - { - base.gameObject.SetActive( false ); - } - yield break; + // add a `isDead = ModHooks.OnEnableEnemy( gameObject, isDead );` before the `this.isDead` check + ILCursor cursor = new ILCursor(il); + + // Insert a call to your custom method + cursor.GotoNext + ( + MoveType.AfterLabel, + x => x.MatchLdloc(1), + x => x.MatchLdfld("isDead") + ); + cursor.Emit(OpCodes.Ldloc_1); + cursor.Emit(OpCodes.Ldloc_1); + cursor.Emit(OpCodes.Callvirt, ReflectionHelper.GetMethodInfo(typeof(global::HealthManager), "get_gameObject", true)); + cursor.Emit(OpCodes.Ldloc_1); + cursor.Emit(OpCodes.Ldfld, ReflectionHelper.GetFieldInfo(typeof(global::HealthManager), "isDead", true)); + cursor.EmitDelegate(global::Modding.ModHooks.OnEnableEnemy); + cursor.Emit(OpCodes.Stfld, ReflectionHelper.GetFieldInfo(typeof(global::HealthManager), "isDead", true)); } } } diff --git a/Assembly-CSharp/Patches/InputHandler.cs b/Assembly-CSharp/Patches/InputHandler.cs index a9661846..28222bb6 100644 --- a/Assembly-CSharp/Patches/InputHandler.cs +++ b/Assembly-CSharp/Patches/InputHandler.cs @@ -1,4 +1,6 @@ +using Mono.Cecil.Cil; using MonoMod; +using MonoMod.Cil; using UnityEngine; #pragma warning disable 1591 @@ -10,39 +12,25 @@ namespace Modding.Patches public class InputHandler : global::InputHandler { [MonoModIgnore] - private bool isTitleScreenScene; - - [MonoModIgnore] - private bool isMenuScene; - - [MonoModIgnore] - private bool controllerPressed; + [Attributes.RawIlPatch(nameof(IlPatches.OnGUI))] + extern private void OnGUI(); + } + public static partial class IlPatches + { [MonoModIgnore] - private GameManager gm; - - // todo: make IL hook: add lockstate none before each ret - // Reverted cursor behavior - [MonoModReplace] - private void OnGUI() + public static void OnGUI(ILContext il) { - Cursor.lockState = CursorLockMode.None; - if (this.isTitleScreenScene) - { - Cursor.visible = false; - return; - } - if (this.isMenuScene) - { - Cursor.visible = !this.controllerPressed; - return; - } - if (!this.gm.isPaused) + // add a `Cursor.lockState = CursorLockMode.None;` before every (4) `ret` + ILCursor cursor = new ILCursor(il); + + // Insert a call to your custom method + while (cursor.TryGotoNext(MoveType.AfterLabel, x => x.MatchRet())) { - Cursor.visible = false; - return; + cursor.Emit(OpCodes.Ldc_I4, CursorLockMode.None); + cursor.Emit(OpCodes.Call, ReflectionHelper.GetMethodInfo(typeof(global::UnityEngine.Cursor), "set_lockState", false)); + cursor.GotoNext(); } - Cursor.visible = !this.controllerPressed; } } } \ No newline at end of file diff --git a/Assembly-CSharp/Patches/OnTriggerEnter2D.cs b/Assembly-CSharp/Patches/OnTriggerEnter2D.cs index c763f457..71db1b5c 100644 --- a/Assembly-CSharp/Patches/OnTriggerEnter2D.cs +++ b/Assembly-CSharp/Patches/OnTriggerEnter2D.cs @@ -9,6 +9,7 @@ namespace Modding.Patches [MonoModPatch("global::NailSlash")] public class NailSlash : global::NailSlash { + // todo: make IL hook: seems trivial enough? private extern void orig_OnTriggerEnter2D(Collider2D otherCollider); private void OnTriggerEnter2D(Collider2D otherCollider) diff --git a/Assembly-CSharp/Patches/Platform.cs b/Assembly-CSharp/Patches/Platform.cs index 0bc59fe2..140cdeaf 100644 --- a/Assembly-CSharp/Patches/Platform.cs +++ b/Assembly-CSharp/Patches/Platform.cs @@ -18,6 +18,7 @@ public ISharedData EncryptedSharedData [MonoModReplace] public static bool IsSaveSlotIndexValid(int slotIndex) => true; + // todo: this is the exact same as vanilla??? // ReSharper disable once UnusedMember.Global [MonoModReplace] protected string GetSaveSlotFileName(int slotIndex, SaveSlotFileNameUsage usage) diff --git a/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs b/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs index 3f671904..2f07ca68 100644 --- a/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs +++ b/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs @@ -9,6 +9,7 @@ namespace Modding.Patches [MonoModPatch("global::PlayMakerUnity2DProxy")] public class PlayMakerUnity2DProxy : global::PlayMakerUnity2DProxy { + // todo: make IL hook: seems trivial enough? [MonoModReplace] public void Start() { diff --git a/Assembly-CSharp/Patches/PlayerData.cs b/Assembly-CSharp/Patches/PlayerData.cs index f3531b85..ff2cd6c5 100644 --- a/Assembly-CSharp/Patches/PlayerData.cs +++ b/Assembly-CSharp/Patches/PlayerData.cs @@ -228,6 +228,7 @@ public void TakeHealth(int amount) TakeHealthInternal(amount); } + // todo: make IL hook: seems trivial enough? public extern void orig_UpdateBlueHealth(); public void UpdateBlueHealth() @@ -236,6 +237,7 @@ public void UpdateBlueHealth() SetInt(nameof(healthBlue), GetInt(nameof(healthBlue)) + ModHooks.OnBlueHealth()); } + // todo: make IL hook: seems trivial enough? public extern void orig_AddHealth(int amount); public void AddHealth(int amount) diff --git a/Assembly-CSharp/Patches/SceneManager.cs b/Assembly-CSharp/Patches/SceneManager.cs index efc9876d..03b11302 100644 --- a/Assembly-CSharp/Patches/SceneManager.cs +++ b/Assembly-CSharp/Patches/SceneManager.cs @@ -26,6 +26,7 @@ public class SceneManager : global::SceneManager [MonoModIgnore] private GameManager gm; + // todo: make IL hook: seems trivial enough? //Added checks for null and an attempt to fix any missing references // [MonoModReplace] private void Update() @@ -54,6 +55,7 @@ private void Update() [MonoModIgnore] private Transform borderDown; + // todo: make IL hook: seems trivial enough? // [MonoModIgnore] private extern void orig_OnCameraAspectChanged(float aspect); diff --git a/Assembly-CSharp/Patches/StartManager.cs b/Assembly-CSharp/Patches/StartManager.cs index 7a569ccd..15f93cbf 100644 --- a/Assembly-CSharp/Patches/StartManager.cs +++ b/Assembly-CSharp/Patches/StartManager.cs @@ -65,6 +65,7 @@ private void Awake() [MonoModIgnore] private extern IEnumerator LanguageSettingDone(); + // todo: make IL hook: seems trivial enough? [MonoModReplace] private IEnumerator Start() { From 9bc3aec50862ed7852f6f31501ab7d2cf70e2032 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Mon, 25 May 2026 14:43:05 +0200 Subject: [PATCH 37/54] implement more IL patches --- Assembly-CSharp/Patches/EnemyDeathEffects.cs | 8 +- Assembly-CSharp/Patches/GameManager.cs | 28 +- Assembly-CSharp/Patches/HealthManager.cs | 4 +- .../Patches/HeroAnimationController.cs | 43 +- Assembly-CSharp/Patches/HeroController.cs | 1043 ++++------------- Assembly-CSharp/Patches/InputHandler.cs | 4 +- Assembly-CSharp/Patches/NailSlash.cs | 38 + Assembly-CSharp/Patches/OnTriggerEnter2D.cs | 21 - .../Patches/PlayMakerUnity2DProxy.cs | 39 +- Assembly-CSharp/Patches/PlayerData.cs | 52 +- 10 files changed, 362 insertions(+), 918 deletions(-) create mode 100644 Assembly-CSharp/Patches/NailSlash.cs delete mode 100644 Assembly-CSharp/Patches/OnTriggerEnter2D.cs diff --git a/Assembly-CSharp/Patches/EnemyDeathEffects.cs b/Assembly-CSharp/Patches/EnemyDeathEffects.cs index 36192cc3..0c03c064 100644 --- a/Assembly-CSharp/Patches/EnemyDeathEffects.cs +++ b/Assembly-CSharp/Patches/EnemyDeathEffects.cs @@ -12,11 +12,11 @@ namespace Modding.Patches public class EnemyDeathEffects : global::EnemyDeathEffects { [MonoModIgnore] - [Attributes.RawIlPatch(nameof(IlPatches.RecieveDeathEvent))] + [Attributes.RawIlPatch(nameof(IlPatches.EnemyDeathEffects_RecieveDeathEvent))] extern public void RecieveDeathEvent(float? attackDirection, bool resetDeathEvent = false, bool spellBurn = false, bool isWatery = false); [MonoModIgnore] - [Attributes.RawIlPatch(nameof(IlPatches.RecordKillForJournal))] + [Attributes.RawIlPatch(nameof(IlPatches.EnemyDeathEffects_RecordKillForJournal))] extern public static void RecordKillForJournal(string playerDataName); } @@ -24,7 +24,7 @@ public class EnemyDeathEffects : global::EnemyDeathEffects public static partial class IlPatches { [MonoModIgnore] - public static void RecieveDeathEvent(ILContext il) + public static void EnemyDeathEffects_RecieveDeathEvent(ILContext il) { // add a `ModHooks.OnRecieveDeathEvent(this, didFire, ref attackDirection, ref resetDeathEvent, ref spellBurn, ref isWatery);` at the start of the method ILCursor cursor = new ILCursor(il); @@ -43,7 +43,7 @@ public static void RecieveDeathEvent(ILContext il) } [MonoModIgnore] - public static void RecordKillForJournal(ILContext il) + public static void EnemyDeathEffects_RecordKillForJournal(ILContext il) { // add a `ModHooks.OnRecordKillForJournal(this, this.playerDataName, $"killed{this.playerDataName}", $"kills{this.playerDataName}", $"newData{this.playerDataName}");` at the start of the method ILCursor cursor = new ILCursor(il); diff --git a/Assembly-CSharp/Patches/GameManager.cs b/Assembly-CSharp/Patches/GameManager.cs index 1fb70051..0aff3db6 100644 --- a/Assembly-CSharp/Patches/GameManager.cs +++ b/Assembly-CSharp/Patches/GameManager.cs @@ -44,31 +44,31 @@ public UIManager ui private ModSavegameData moddedData; [MonoModIgnore] - [Attributes.RawIlPatch(nameof(IlPatches.OnApplicationQuit))] + [Attributes.RawIlPatch(nameof(IlPatches.GameManager_OnApplicationQuit))] extern private void OnApplicationQuit(); [MonoModIgnore] - [Attributes.RawIlPatch(nameof(IlPatches.LoadScene))] + [Attributes.RawIlPatch(nameof(IlPatches.GameManager_LoadScene))] extern public void LoadScene(string destScene); [MonoModIgnore] - [Attributes.RawIlPatch(nameof(IlPatches.ClearSaveFile))] + [Attributes.RawIlPatch(nameof(IlPatches.GameManager_ClearSaveFile))] extern public void ClearSaveFile(int saveSlot, Action callback); [MonoModIgnore] - [Attributes.IEnumeratorIlPatch(nameof(IlPatches.PlayerDead))] + [Attributes.IEnumeratorIlPatch(nameof(IlPatches.GameManager_PlayerDead))] extern public IEnumerator PlayerDead(float waitTime); [MonoModIgnore] - [Attributes.IEnumeratorIlPatch(nameof(IlPatches.LoadSceneAdditive))] + [Attributes.IEnumeratorIlPatch(nameof(IlPatches.GameManager_LoadSceneAdditive))] extern public IEnumerator LoadSceneAdditive(string destScene); [MonoModIgnore] - [Attributes.IEnumeratorIlPatch(nameof(IlPatches.LoadFirstScene))] + [Attributes.IEnumeratorIlPatch(nameof(IlPatches.GameManager_LoadFirstScene))] extern public IEnumerator LoadFirstScene(); [MonoModIgnore] - [Attributes.RawIlPatch(nameof(IlPatches.OnWillActivateFirstLevel))] + [Attributes.RawIlPatch(nameof(IlPatches.GameManager_OnWillActivateFirstLevel))] extern public void OnWillActivateFirstLevel(); // il patch just dies trying to resolve types for no reason? @@ -582,7 +582,7 @@ public SceneLoad SceneLoad public static partial class IlPatches { [MonoModIgnore] - public static void OnApplicationQuit(ILContext il) + public static void GameManager_OnApplicationQuit(ILContext il) { // add a `ModHooks.OnApplicationQuit();` at the end of the method ILCursor cursor = new ILCursor(il); @@ -592,7 +592,7 @@ public static void OnApplicationQuit(ILContext il) } [MonoModIgnore] - public static void LoadScene(ILContext il) + public static void GameManager_LoadScene(ILContext il) { // add a `destScene = ModHooks.BeforeSceneLoad(destScene);` at the start and a `ModHooks.OnSceneChanged(destScene);` at the end of the method ILCursor cursor = new ILCursor(il).Goto(0); @@ -608,7 +608,7 @@ public static void LoadScene(ILContext il) } [MonoModIgnore] - public static void ClearSaveFile(ILContext il) + public static void GameManager_ClearSaveFile(ILContext il) { // add a `ModHooks.OnSavegameClear(saveSlot);` at the start and a `ModHooks.OnAfterSaveGameClear(saveSlot);` at the end of the method ILCursor cursor = new ILCursor(il).Goto(0); @@ -627,7 +627,7 @@ public static void ClearSaveFile(ILContext il) } [MonoModIgnore] - public static void PlayerDead(ILContext il, TypeDefinition stateMachineTypeDef) + public static void GameManager_PlayerDead(ILContext il, TypeDefinition stateMachineTypeDef) { // add a `ModHooks.OnSavegameClear(saveSlot);` at the start and a `ModHooks.OnAfterSaveGameClear(saveSlot);` at the end of the method ILCursor cursor = new ILCursor(il); @@ -642,7 +642,7 @@ public static void PlayerDead(ILContext il, TypeDefinition stateMachineTypeDef) } [MonoModIgnore] - public static void LoadSceneAdditive(ILContext il, TypeDefinition stateMachineTypeDef) + public static void GameManager_LoadSceneAdditive(ILContext il, TypeDefinition stateMachineTypeDef) { // add a `destScene = ModHooks.BeforeSceneLoad(destScene);` at the start and a `ModHooks.OnSceneChanged(destScene);` in the middle of the method ILCursor cursor = new ILCursor(il); @@ -676,7 +676,7 @@ public static void LoadSceneAdditive(ILContext il, TypeDefinition stateMachineTy } [MonoModIgnore] - public static void LoadFirstScene(ILContext il, TypeDefinition stateMachineTypeDef) + public static void GameManager_LoadFirstScene(ILContext il, TypeDefinition stateMachineTypeDef) { // add a `ModHooks.OnNewGame();` at the end of the method ILCursor cursor = new ILCursor(il); @@ -688,7 +688,7 @@ public static void LoadFirstScene(ILContext il, TypeDefinition stateMachineTypeD } [MonoModIgnore] - public static void OnWillActivateFirstLevel(ILContext il) + public static void GameManager_OnWillActivateFirstLevel(ILContext il) { // add a `ModHooks.OnNewGame();` at the end of the method ILCursor cursor = new ILCursor(il); diff --git a/Assembly-CSharp/Patches/HealthManager.cs b/Assembly-CSharp/Patches/HealthManager.cs index ee26555c..847c6f98 100644 --- a/Assembly-CSharp/Patches/HealthManager.cs +++ b/Assembly-CSharp/Patches/HealthManager.cs @@ -13,14 +13,14 @@ namespace Modding.Patches public class HealthManager : global::HealthManager { [MonoModIgnore] - [Attributes.IEnumeratorIlPatch(nameof(IlPatches.CheckPersistence))] + [Attributes.IEnumeratorIlPatch(nameof(IlPatches.HealthManager_CheckPersistence))] extern protected IEnumerator CheckPersistence(); } public static partial class IlPatches { [MonoModIgnore] - public static void CheckPersistence(ILContext il, TypeDefinition stateMachineTypeDef) + public static void HealthManager_CheckPersistence(ILContext il, TypeDefinition stateMachineTypeDef) { // add a `isDead = ModHooks.OnEnableEnemy( gameObject, isDead );` before the `this.isDead` check ILCursor cursor = new ILCursor(il); diff --git a/Assembly-CSharp/Patches/HeroAnimationController.cs b/Assembly-CSharp/Patches/HeroAnimationController.cs index 46a970e3..d266ab84 100644 --- a/Assembly-CSharp/Patches/HeroAnimationController.cs +++ b/Assembly-CSharp/Patches/HeroAnimationController.cs @@ -1,6 +1,8 @@ using System.Collections; using GlobalEnums; +using Mono.Cecil.Cil; using MonoMod; +using MonoMod.Cil; using UnityEngine; // ReSharper disable All @@ -12,30 +14,33 @@ namespace Modding.Patches public class HeroAnimationController : global::HeroAnimationController { [MonoModIgnore] - private HeroControllerStates cState; - - [MonoModIgnore] - private bool wasFacingRight; + [Attributes.RawIlPatch(nameof(IlPatches.HeroAnimationController_Update))] + extern private void Update(); + } + public static partial class IlPatches + { [MonoModIgnore] - private extern void UpdateAnimation(); - - // todo: make IL hook: remove betaEnd pd check - [MonoModReplace] - private void Update() + public static void HeroAnimationController_Update(ILContext il) { - if (this.controlEnabled && !waitingToEnter) - { - this.UpdateAnimation(); - } - else if (this.cState.facingRight) - { - this.wasFacingRight = true; - } - else + // remove the `this.pd.betaEnd` check at the end of the method + ILCursor cursor = new ILCursor(il); + + cursor.GotoNext + ( + MoveType.AfterLabel, + x => x.MatchLdarg(0), + x => x.MatchLdfld("pd"), + x => x.MatchLdstr(nameof(global::PlayerData.betaEnd)), + x => x.MatchCallOrCallvirt(nameof(global::PlayerData.GetBool)), + x => x.MatchBrfalse(out ILLabel retLabel) + ); + cursor.Emit(OpCodes.Ret); + while (cursor.Next.OpCode != OpCodes.Ret) { - this.wasFacingRight = false; + cursor.Remove(); } + cursor.Remove(); } } } \ No newline at end of file diff --git a/Assembly-CSharp/Patches/HeroController.cs b/Assembly-CSharp/Patches/HeroController.cs index 28454dc5..e61aaf99 100644 --- a/Assembly-CSharp/Patches/HeroController.cs +++ b/Assembly-CSharp/Patches/HeroController.cs @@ -1,6 +1,8 @@ using System.Collections; using GlobalEnums; +using Mono.Cecil.Cil; using MonoMod; +using MonoMod.Cil; using UnityEngine; // ReSharper disable All @@ -11,835 +13,51 @@ namespace Modding.Patches [MonoModPatch("global::HeroController")] public class HeroController : global::HeroController { - #region Attack() - - [MonoModIgnore] - private float attackDuration; - - [MonoModIgnore] - private PlayMakerFSM slashFsm; - - [MonoModIgnore] - private float altAttackTime; - - [MonoModIgnore] - private bool wallSlashing; - - [MonoModIgnore] - private GameObject grubberFlyBeam; - - [MonoModIgnore] - private float MANTIS_CHARM_SCALE = 1.35f; - - [MonoModIgnore] - private bool joniBeam; - - [MonoModIgnore] - public NailSlash wallSlash; - - [MonoModIgnore] - public NailSlash normalSlash; - - [MonoModIgnore] - public NailSlash alternateSlash; - - [MonoModIgnore] - public NailSlash upSlash; - - [MonoModIgnore] - public NailSlash downSlash; - - [MonoModReplace] - public void Attack(AttackDirection attackDir) - { - ModHooks.OnAttack(attackDir); //MOD API ADDED - if (Time.timeSinceLevelLoad - this.altAttackTime > this.ALT_ATTACK_RESET) - this.cState.altAttack = false; - this.cState.attacking = true; - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_32))) - this.attackDuration = this.ATTACK_DURATION_CH; - else - this.attackDuration = this.ATTACK_DURATION; - if (this.cState.wallSliding) - { - this.wallSlashing = true; - this.slashComponent = this.wallSlash; - this.slashFsm = this.wallSlashFsm; - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_35))) - { - if ((this.playerData.GetInt(nameof(PlayerData.health)) == this.playerData.GetInt(nameof(PlayerData.CurrentMaxHealth)) && !this.playerData.GetBool(nameof(PlayerData.equippedCharm_27))) || (this.joniBeam && this.playerData.GetBool(nameof(PlayerData.equippedCharm_27)))) - { - if (this.transform.localScale.x > 0f) - { - this.grubberFlyBeam = this.grubberFlyBeamPrefabR.Spawn(this.transform.position); - } - else - { - this.grubberFlyBeam = this.grubberFlyBeamPrefabL.Spawn(this.transform.position); - } - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_13))) - { - this.grubberFlyBeam.transform.SetScaleY(this.MANTIS_CHARM_SCALE); - } - else - { - this.grubberFlyBeam.transform.SetScaleY(1f); - } - } - if (this.playerData.GetInt(nameof(PlayerData.health)) == 1 && this.playerData.GetBool(nameof(PlayerData.equippedCharm_6)) && this.playerData.GetInt(nameof(PlayerData.healthBlue)) < 1) - { - if (this.transform.localScale.x > 0f) - { - this.grubberFlyBeam = this.grubberFlyBeamPrefabR_fury.Spawn(this.transform.position); - } - else - { - this.grubberFlyBeam = this.grubberFlyBeamPrefabL_fury.Spawn(this.transform.position); - } - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_13))) - { - this.grubberFlyBeam.transform.SetScaleY(this.MANTIS_CHARM_SCALE); - } - else - { - this.grubberFlyBeam.transform.SetScaleY(1f); - } - } - } - } - else - { - this.wallSlashing = false; - if (attackDir == AttackDirection.normal) - { - if (!this.cState.altAttack) - { - this.slashComponent = this.normalSlash; - this.slashFsm = this.normalSlashFsm; - this.cState.altAttack = true; - } - else - { - this.slashComponent = this.alternateSlash; - this.slashFsm = this.alternateSlashFsm; - this.cState.altAttack = false; - } - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_35))) - { - if ((this.playerData.GetInt(nameof(PlayerData.health)) >= this.playerData.GetInt(nameof(PlayerData.maxHealth)) && !this.playerData.GetBool(nameof(PlayerData.equippedCharm_27))) || (this.joniBeam && this.playerData.GetBool(nameof(PlayerData.equippedCharm_27)))) - { - if (this.transform.localScale.x < 0f) - this.grubberFlyBeam = this.grubberFlyBeamPrefabR.Spawn(this.transform.position); - else - this.grubberFlyBeam = this.grubberFlyBeamPrefabL.Spawn(this.transform.position); - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_13))) - this.grubberFlyBeam.transform.SetScaleY(this.MANTIS_CHARM_SCALE); - else - this.grubberFlyBeam.transform.SetScaleY(1f); - } - if (this.playerData.GetInt(nameof(PlayerData.health)) == 1 && this.playerData.GetBool(nameof(PlayerData.equippedCharm_6)) && this.playerData.GetInt(nameof(PlayerData.healthBlue)) < 1) - { - if (this.transform.localScale.x < 0f) - this.grubberFlyBeam = this.grubberFlyBeamPrefabR_fury.Spawn(this.transform.position); - else - this.grubberFlyBeam = this.grubberFlyBeamPrefabL_fury.Spawn(this.transform.position); - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_13))) - this.grubberFlyBeam.transform.SetScaleY(this.MANTIS_CHARM_SCALE); - else - this.grubberFlyBeam.transform.SetScaleY(1f); - } - } - } - else if (attackDir == AttackDirection.upward) - { - this.slashComponent = this.upSlash; - this.slashFsm = this.upSlashFsm; - this.cState.upAttacking = true; - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_35))) - { - if ((this.playerData.GetInt(nameof(PlayerData.health)) >= this.playerData.GetInt(nameof(PlayerData.maxHealth)) && !this.playerData.GetBool(nameof(PlayerData.equippedCharm_27))) || (this.joniBeam && this.playerData.GetBool(nameof(PlayerData.equippedCharm_27)))) - { - this.grubberFlyBeam = this.grubberFlyBeamPrefabU.Spawn(this.transform.position); - this.grubberFlyBeam.transform.SetScaleY(this.transform.localScale.x); - this.grubberFlyBeam.transform.localEulerAngles = new Vector3(0f, 0f, 270f); - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_13))) - this.grubberFlyBeam.transform.SetScaleY(this.grubberFlyBeam.transform.localScale.y * this.MANTIS_CHARM_SCALE); - } - if (this.playerData.GetInt(nameof(PlayerData.health)) == 1 && this.playerData.GetBool(nameof(PlayerData.equippedCharm_6)) && this.playerData.GetInt(nameof(PlayerData.healthBlue)) < 1) - { - this.grubberFlyBeam = this.grubberFlyBeamPrefabU_fury.Spawn(this.transform.position); - this.grubberFlyBeam.transform.SetScaleY(this.transform.localScale.x); - this.grubberFlyBeam.transform.localEulerAngles = new Vector3(0f, 0f, 270f); - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_13))) - this.grubberFlyBeam.transform.SetScaleY(this.grubberFlyBeam.transform.localScale.y * this.MANTIS_CHARM_SCALE); - } - } - } - else if (attackDir == AttackDirection.downward) - { - this.slashComponent = this.downSlash; - this.slashFsm = this.downSlashFsm; - this.cState.downAttacking = true; - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_35))) - { - if ((this.playerData.GetInt(nameof(PlayerData.health)) >= this.playerData.GetInt(nameof(PlayerData.maxHealth)) && !this.playerData.GetBool(nameof(PlayerData.equippedCharm_27))) || (this.joniBeam && this.playerData.GetBool(nameof(PlayerData.equippedCharm_27)))) - { - this.grubberFlyBeam = this.grubberFlyBeamPrefabD.Spawn(this.transform.position); - this.grubberFlyBeam.transform.SetScaleY(this.transform.localScale.x); - this.grubberFlyBeam.transform.localEulerAngles = new Vector3(0f, 0f, 90f); - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_13))) - this.grubberFlyBeam.transform.SetScaleY(this.grubberFlyBeam.transform.localScale.y * this.MANTIS_CHARM_SCALE); - } - if (this.playerData.GetInt(nameof(PlayerData.health)) == 1 && this.playerData.GetBool(nameof(PlayerData.equippedCharm_6)) && this.playerData.GetInt(nameof(PlayerData.healthBlue)) < 1) - { - this.grubberFlyBeam = this.grubberFlyBeamPrefabD_fury.Spawn(this.transform.position); - this.grubberFlyBeam.transform.SetScaleY(this.transform.localScale.x); - this.grubberFlyBeam.transform.localEulerAngles = new Vector3(0f, 0f, 90f); - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_13))) - this.grubberFlyBeam.transform.SetScaleY(this.grubberFlyBeam.transform.localScale.y * this.MANTIS_CHARM_SCALE); - } - } - } - } - if (this.cState.wallSliding) - { - if (this.cState.facingRight) - this.slashFsm.FsmVariables.GetFsmFloat("direction").Value = 180f; - else - this.slashFsm.FsmVariables.GetFsmFloat("direction").Value = 0f; - } - else if (attackDir == AttackDirection.normal && this.cState.facingRight) - this.slashFsm.FsmVariables.GetFsmFloat("direction").Value = 0f; - else if (attackDir == AttackDirection.normal && !this.cState.facingRight) - this.slashFsm.FsmVariables.GetFsmFloat("direction").Value = 180f; - else if (attackDir == AttackDirection.upward) - this.slashFsm.FsmVariables.GetFsmFloat("direction").Value = 90f; - else if (attackDir == AttackDirection.downward) - this.slashFsm.FsmVariables.GetFsmFloat("direction").Value = 270f; - this.altAttackTime = Time.timeSinceLevelLoad; - ModHooks.AfterAttack(attackDir); //MOD API - Added - if (!this.cState.attacking) return; //MOD API - Added - this.slashComponent.StartSlash(); - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_38))) - this.fsm_orbitShield.SendEvent("SLASH"); - } - - #endregion - - #region SoulGain - - [MonoModIgnore] - private GameManager gm; - - [MonoModReplace] - public void SoulGain() - { - int num; - if (this.playerData.GetInt(nameof(PlayerData.MPCharge)) < this.playerData.GetInt(nameof(PlayerData.maxMP))) - { - num = 11; - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_20))) - { - num += 3; - } - - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_21))) - { - num += 8; - } - } - else - { - num = 6; - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_20))) - { - num += 2; - } - - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_21))) - { - num += 6; - } - } - - int mpreserve = this.playerData.GetInt(nameof(PlayerData.MPReserve)); - num = Modding.ModHooks.OnSoulGain(num); - this.playerData.AddMPCharge(num); - GameCameras.instance.soulOrbFSM.SendEvent("MP GAIN"); - if (this.playerData.GetInt(nameof(PlayerData.MPReserve)) != mpreserve) - { - this.gm.soulVessel_fsm.SendEvent("MP RESERVE UP"); - } - } - - #endregion - - #region LookForQueueInput - - [MonoModIgnore] - private bool isGameplayScene; - - [MonoModIgnore] - private InputHandler inputHandler; - - [MonoModIgnore] - private extern bool CanWallJump(); - - [MonoModIgnore] - private extern bool CanJump(); - - [MonoModIgnore] - private extern bool CanDoubleJump(); - - [MonoModIgnore] - private extern bool CanInfiniteAirJump(); - - [MonoModIgnore] - private extern bool CanDash(); - - [MonoModIgnore] - private extern bool CanAttack(); - - [MonoModIgnore] - private extern void DoWallJump(); - - [MonoModIgnore] - private extern void HeroJump(); - - [MonoModIgnore] - private extern void DoDoubleJump(); - - [MonoModIgnore] - private extern void CancelJump(); - - [MonoModIgnore] - private extern void ResetLook(); - - [MonoModIgnore] - private extern void HeroDash(); - - [MonoModIgnore] - private extern bool CanSwim(); - - [MonoModIgnore] - private extern void SetState(ActorStates newState); - - [MonoModIgnore] - private HeroAudioController audioCtrl; - - [MonoModIgnore] - private int jumpQueueSteps; - - [MonoModIgnore] - private int doubleJumpQueueSteps; - - [MonoModIgnore] - private bool doubleJumpQueuing; - - [MonoModIgnore] - private int jumpReleaseQueueSteps; - - [MonoModIgnore] - private bool jumpReleaseQueuing; - - [MonoModIgnore] - private bool jumpQueuing; - - [MonoModIgnore] - private int dashQueueSteps; - [MonoModIgnore] - private bool dashQueuing; + [Attributes.RawIlPatch(nameof(IlPatches.HeroController_Attack))] + extern private void Attack(AttackDirection attackDir); [MonoModIgnore] - private int attackQueueSteps; + [Attributes.RawIlPatch(nameof(IlPatches.HeroController_SoulGain))] + extern public void SoulGain(); [MonoModIgnore] - private bool attackQueuing; + [Attributes.RawIlPatch(nameof(IlPatches.HeroController_LookForQueueInput))] + extern private void LookForQueueInput(); [MonoModIgnore] - private int JUMP_QUEUE_STEPS = 2; + [Attributes.RawIlPatch(nameof(IlPatches.HeroController_TakeDamage))] + extern public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount, int hazardType); [MonoModIgnore] - private int DOUBLE_JUMP_QUEUE_STEPS = 10; + [Attributes.RawIlPatch(nameof(IlPatches.HeroController_StartMPDrain))] + extern public void StartMPDrain(float time); [MonoModIgnore] - private int ATTACK_QUEUE_STEPS = 5; - - - [MonoModReplace] - private void LookForQueueInput() - { - if (this.acceptingInput && !this.gm.isPaused && this.isGameplayScene) - { - if (this.inputHandler.inputActions.jump.WasPressed) - { - if (this.CanWallJump()) - { - this.DoWallJump(); - } - else if (this.CanJump()) - { - this.HeroJump(); - } - else if (this.CanDoubleJump()) - { - this.DoDoubleJump(); - } - else if (this.CanInfiniteAirJump()) - { - this.CancelJump(); - this.audioCtrl.PlaySound(HeroSounds.JUMP); - this.ResetLook(); - this.cState.jumping = true; - } - else - { - this.jumpQueueSteps = 0; - this.jumpQueuing = true; - this.doubleJumpQueueSteps = 0; - this.doubleJumpQueuing = true; - } - } - - if (this.inputHandler.inputActions.dash.WasPressed && !ModHooks.OnDashPressed()) - { - if (this.CanDash()) - { - this.HeroDash(); - } - else - { - this.dashQueueSteps = 0; - this.dashQueuing = true; - } - } - - if (this.inputHandler.inputActions.attack.WasPressed) - { - if (this.CanAttack()) - { - this.DoAttack(); - } - else - { - this.attackQueueSteps = 0; - this.attackQueuing = true; - } - } - - if (this.inputHandler.inputActions.jump.IsPressed) - { - if (this.jumpQueueSteps <= this.JUMP_QUEUE_STEPS && this.CanJump() && this.jumpQueuing) - { - this.HeroJump(); - } - else if (this.doubleJumpQueueSteps <= this.DOUBLE_JUMP_QUEUE_STEPS && this.CanDoubleJump() && this.doubleJumpQueuing) - { - if (this.cState.onGround) - { - this.HeroJump(); - } - else - { - this.DoDoubleJump(); - } - } - - if (this.CanSwim()) - { - if (this.hero_state != ActorStates.airborne) - { - this.SetState(ActorStates.airborne); - } - - this.cState.swimming = true; - } - } - - if (this.inputHandler.inputActions.dash.IsPressed - && this.dashQueueSteps <= this.DASH_QUEUE_STEPS - && this.CanDash() - && this.dashQueuing - && !ModHooks.OnDashPressed()) - { - this.HeroDash(); - } - - if (this.inputHandler.inputActions.attack.IsPressed && this.attackQueueSteps <= this.ATTACK_QUEUE_STEPS && this.CanAttack() && this.attackQueuing) - { - this.DoAttack(); - } - } - } - - #endregion - - #region TakeDamage - - [MonoModIgnore] - private int hitsSinceShielded; - - [MonoModIgnore] - private extern bool CanTakeDamage(); - - [MonoModIgnore] - private AudioSource audioSource; - - [MonoModIgnore] - private extern void CancelAttack(); - - [MonoModIgnore] - private extern void CancelBounce(); - - [MonoModIgnore] - private extern void CancelRecoilHorizontal(); - - [MonoModIgnore] - private bool takeNoDamage; - - [MonoModIgnore] - private float nailChargeTimer; - - [MonoModIgnore] - private extern IEnumerator Die(); - - [MonoModIgnore] - private extern IEnumerator DieFromHazard(HazardType hazardType, float angle); - - [MonoModIgnore] - private extern IEnumerator StartRecoil(CollisionSide impactSide, bool spawnDamageEffect, int damageAmount); - - [MonoModIgnore] - public event HeroController.TakeDamageEvent OnTakenDamage; - - [MonoModIgnore] - private HeroVibrationController vibrationCtrl; - - [MonoModReplace] - public void TakeDamage(GameObject go, CollisionSide damageSide, int damageAmount, int hazardType) - { - damageAmount = ModHooks.OnTakeDamage(ref hazardType, damageAmount); - bool spawnDamageEffect = true; - if (damageAmount > 0) - { - if (BossSceneController.IsBossScene) - { - int bossLevel = BossSceneController.Instance.BossLevel; - if (bossLevel != 1) - { - if (bossLevel == 2) - { - damageAmount = 9999; - } - } - else - { - damageAmount *= 2; - } - } - - if (this.CanTakeDamage()) - { - if (this.damageMode == DamageMode.HAZARD_ONLY && hazardType == 1) - { - return; - } - - if (this.cState.shadowDashing && hazardType == 1) - { - return; - } - - if (this.parryInvulnTimer > 0f && hazardType == 1) - { - return; - } - - VibrationMixer mixer = VibrationManager.GetMixer(); - if (mixer != null) - { - mixer.StopAllEmissionsWithTag("heroAction"); - } - - bool carefreeShouldStopDamage = false; - if (this.carefreeShieldEquipped && hazardType == 1) - { - if (this.hitsSinceShielded > 7) - { - this.hitsSinceShielded = 7; - } - - switch (this.hitsSinceShielded) - { - case 1: - if ((float) UnityEngine.Random.Range(1, 100) <= 10f) - { - carefreeShouldStopDamage = true; - } - - break; - case 2: - if ((float) UnityEngine.Random.Range(1, 100) <= 20f) - { - carefreeShouldStopDamage = true; - } - - break; - case 3: - if ((float) UnityEngine.Random.Range(1, 100) <= 30f) - { - carefreeShouldStopDamage = true; - } - - break; - case 4: - if ((float) UnityEngine.Random.Range(1, 100) <= 50f) - { - carefreeShouldStopDamage = true; - } - - break; - case 5: - if ((float) UnityEngine.Random.Range(1, 100) <= 70f) - { - carefreeShouldStopDamage = true; - } - - break; - case 6: - if ((float) UnityEngine.Random.Range(1, 100) <= 80f) - { - carefreeShouldStopDamage = true; - } - - break; - case 7: - if ((float) UnityEngine.Random.Range(1, 100) <= 90f) - { - carefreeShouldStopDamage = true; - } - - break; - default: - carefreeShouldStopDamage = false; - break; - } - - if (carefreeShouldStopDamage) - { - this.hitsSinceShielded = 0; - this.carefreeShield.SetActive(true); - damageAmount = 0; - spawnDamageEffect = false; - } - else - { - this.hitsSinceShielded++; - } - } - - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_5)) && this.playerData.GetInt(nameof(PlayerData.blockerHits)) > 0 && hazardType == 1 && this.cState.focusing && !carefreeShouldStopDamage) - { - this.proxyFSM.SendEvent("HeroCtrl-TookBlockerHit"); - this.audioSource.PlayOneShot(this.blockerImpact, 1f); - spawnDamageEffect = false; - damageAmount = 0; - } - else - { - this.proxyFSM.SendEvent("HeroCtrl-HeroDamaged"); - } - - this.CancelAttack(); - if (this.cState.wallSliding) - { - this.cState.wallSliding = false; - this.vibrationCtrl.StopWallSlide(); - } - - if (this.cState.touchingWall) - { - this.cState.touchingWall = false; - } - - if (this.cState.recoilingLeft || this.cState.recoilingRight) - { - this.CancelRecoilHorizontal(); - } - - if (this.cState.bouncing) - { - this.CancelBounce(); - this.rb2d.linearVelocity = new Vector2(this.rb2d.linearVelocity.x, 0f); - } - - if (this.cState.shroomBouncing) - { - this.CancelBounce(); - this.rb2d.linearVelocity = new Vector2(this.rb2d.linearVelocity.x, 0f); - } - - if (!carefreeShouldStopDamage) - { - this.audioCtrl.PlaySound(HeroSounds.TAKE_HIT); - } - - damageAmount = ModHooks.AfterTakeDamage(hazardType, damageAmount); - if (!this.takeNoDamage && !this.playerData.GetBool(nameof(PlayerData.invinciTest))) - { - if (this.playerData.GetBool(nameof(PlayerData.overcharmed))) - { - this.playerData.TakeHealth(damageAmount * 2); - } - else - { - this.playerData.TakeHealth(damageAmount); - } - } - - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_3)) && damageAmount > 0) - { - if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_35))) - { - this.AddMPCharge(this.GRUB_SOUL_MP_COMBO); - } - else - { - this.AddMPCharge(this.GRUB_SOUL_MP); - } - } - - if (this.joniBeam && damageAmount > 0) - { - this.joniBeam = false; - } - - if (this.cState.nailCharging || this.nailChargeTimer != 0f) - { - this.cState.nailCharging = false; - this.nailChargeTimer = 0f; - } - - if (damageAmount > 0 && this.OnTakenDamage != null) - { - this.OnTakenDamage(); - } - - if (this.playerData.GetInt(nameof(PlayerData.health)) == 0) - { - base.StartCoroutine(this.Die()); - return; - } - else if (hazardType == 2) - { - base.StartCoroutine(this.DieFromHazard(HazardType.SPIKES, (!(go != null)) ? 0f : go.transform.rotation.z)); - return; - } - else if (hazardType == 3) - { - base.StartCoroutine(this.DieFromHazard(HazardType.ACID, 0f)); - return; - } - else if (hazardType == 4) - { - Debug.Log("Lava death"); - return; - } - else if (hazardType == 5) - { - base.StartCoroutine(this.DieFromHazard(HazardType.PIT, 0f)); - return; - } - base.StartCoroutine(this.StartRecoil(damageSide, spawnDamageEffect, damageAmount)); - return; - } - else if (this.cState.invulnerable && !this.cState.hazardDeath && !this.playerData.GetBool(nameof(PlayerData.isInvincible))) - { - if (hazardType == 2) - { - if (!this.takeNoDamage) - { - damageAmount = ModHooks.AfterTakeDamage(hazardType, damageAmount); - this.playerData.TakeHealth(damageAmount); - } - - this.proxyFSM.SendEvent("HeroCtrl-HeroDamaged"); - if (this.playerData.GetInt("health") == 0) - { - base.StartCoroutine(this.Die()); - } - else - { - this.audioCtrl.PlaySound(HeroSounds.TAKE_HIT, false); - base.StartCoroutine(this.DieFromHazard(HazardType.SPIKES, (go != null) ? go.transform.rotation.z : 0f)); - } - } - else if (hazardType == 3) - { - damageAmount = ModHooks.AfterTakeDamage(hazardType, damageAmount); - this.playerData.TakeHealth(damageAmount); - this.proxyFSM.SendEvent("HeroCtrl-HeroDamaged"); - if (this.playerData.GetInt(nameof(PlayerData.health)) == 0) - { - base.StartCoroutine(this.Die()); - return; - } - base.StartCoroutine(this.DieFromHazard(HazardType.ACID, 0f)); - return; - } - else if (hazardType == 4) - { - Debug.Log("Lava damage"); - } - } - } - } - - #endregion + [Attributes.RawIlPatch(nameof(IlPatches.HeroController_Update))] + extern private void Update(); [MonoModIgnore] - private NailSlash slashComponent; + [Attributes.RawIlPatch(nameof(IlPatches.HeroController_CharmUpdate))] + extern public void CharmUpdate(); [MonoModIgnore] - private float focusMP_amount; - - private void orig_StartMPDrain(float time) { } - - public void StartMPDrain(float time) - { - orig_StartMPDrain(time); - focusMP_amount *= ModHooks.OnFocusCost(); - } - - private void orig_Update() { } - - private void Update() - { - ModHooks.OnHeroUpdate(); - orig_Update(); - } - + [Attributes.RawIlPatch(nameof(IlPatches.HeroController_DoAttack))] + extern private void DoAttack(); #region Dash() + // This is the original dash vector calculating code used by the game + // It is used to set the input dash velocity vector for the DashVectorHook [MonoModIgnore] - private float dash_timer; - - [MonoModIgnore] - private extern void FinishedDashing(); + private float BUMP_VELOCITY; [MonoModIgnore] - private Rigidbody2D rb2d; + private float BUMP_VELOCITY_DASH; - // This is the original dash vector calculating code used by the game - // It is used to set the input dash velocity vector for the DashVectorHook private Vector2 OrigDashVector() { - const float BUMP_VELOCITY = 4f; - const float BUMP_VELOCITY_DASH = 5f; Vector2 origVector; - float velocity; if (this.playerData.GetBool(nameof(PlayerData.equippedCharm_16)) && this.cState.shadowDashing) { @@ -858,11 +76,7 @@ private Vector2 OrigDashVector() { if (this.CheckForBump(CollisionSide.right)) { - origVector = new Vector2 - ( - velocity, - this.cState.onGround ? BUMP_VELOCITY : BUMP_VELOCITY_DASH - ); + origVector = new Vector2(velocity, this.cState.onGround ? BUMP_VELOCITY : BUMP_VELOCITY_DASH); } else { @@ -871,20 +85,25 @@ private Vector2 OrigDashVector() } else if (this.CheckForBump(CollisionSide.left)) { - origVector = new Vector2 - ( - -velocity, - this.cState.onGround ? BUMP_VELOCITY : BUMP_VELOCITY_DASH - ); + origVector = new Vector2(-velocity, this.cState.onGround ? BUMP_VELOCITY : BUMP_VELOCITY_DASH); } else { origVector = new Vector2(-velocity, 0f); } - return origVector; } + [MonoModIgnore] + private float dash_timer; + + [MonoModIgnore] + private extern void FinishedDashing(); + + [MonoModIgnore] + private Rigidbody2D rb2d; + + [MonoModReplace] private void Dash() { AffectedByGravity(false); @@ -903,27 +122,199 @@ private void Dash() } #endregion + } - #region CharmUpdate() + public static partial class IlPatches + { + [MonoModIgnore] + public static void HeroController_Attack(ILContext il) + { + // remove the `this.pd.betaEnd` check at the end of the method + ILCursor cursor = new ILCursor(il).Goto(0); + + cursor.Emit(OpCodes.Ldarg_1); + cursor.EmitDelegate(global::Modding.ModHooks.OnAttack); + + cursor.GotoNext + ( + MoveType.AfterLabel, + x => x.MatchLdarg(0), + x => x.MatchLdfld("slashComponent"), + x => x.MatchCallOrCallvirt(nameof(global::NailSlash.StartSlash)) + ); + var labelToJumpOverRet = cursor.DefineLabel(); + labelToJumpOverRet.Target = cursor.Next; + cursor.Emit(OpCodes.Ldarg_1); + cursor.EmitDelegate(global::Modding.ModHooks.AfterAttack); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Ldfld, ReflectionHelper.GetFieldInfo(typeof(global::HeroController), nameof(global::HeroController.cState))); + cursor.Emit(OpCodes.Ldfld, ReflectionHelper.GetFieldInfo(typeof(global::HeroControllerStates), nameof(global::HeroControllerStates.attacking))); + cursor.Emit(OpCodes.Brtrue_S, labelToJumpOverRet); + cursor.Emit(OpCodes.Ret); + } - private extern void orig_CharmUpdate(); + [MonoModIgnore] + public static void HeroController_SoulGain(ILContext il) + { + // add a `num = Modding.ModHooks.OnSoulGain(num);` near the end of the method + ILCursor cursor = new ILCursor(il); + + cursor.GotoNext + ( + MoveType.AfterLabel, + x => x.MatchLdarg(0), + x => x.MatchLdfld(nameof(global::HeroController.playerData)), + x => x.MatchLdloc(0), + x => x.MatchCallOrCallvirt(nameof(global::PlayerData.AddMPCharge)) + ); + cursor.Emit(OpCodes.Ldloc_0); + cursor.EmitDelegate(global::Modding.ModHooks.OnSoulGain); + cursor.Emit(OpCodes.Stloc_0); + } - public void CharmUpdate() + [MonoModIgnore] + public static void HeroController_LookForQueueInput(ILContext il) { - orig_CharmUpdate(); - ModHooks.OnCharmUpdate(playerData, this); - playerData.UpdateBlueHealth(); + // add a `&& !Modding.ModHooks.OnDashPressed()` to two if (...) + ILCursor cursor = new ILCursor(il); + + ILLabel labelForFirstIf = cursor.DefineLabel(); + cursor.GotoNext + ( + MoveType.After, + x => x.MatchLdarg(0), + x => x.MatchLdfld("inputHandler"), + x => x.MatchLdfld(nameof(global::InputHandler.inputActions)), + x => x.MatchLdfld(nameof(global::HeroActions.dash)), + x => x.MatchCallOrCallvirt("get_WasPressed"), + x => x.MatchBrfalse(out labelForFirstIf) + ); + cursor.EmitDelegate(global::Modding.ModHooks.OnDashPressed); + cursor.Emit(OpCodes.Brtrue_S, labelForFirstIf); + + ILLabel labelForSecondIf = cursor.DefineLabel(); + cursor.GotoNext + ( + MoveType.After, + x => x.MatchLdarg(0), + x => x.MatchLdfld("inputHandler"), + x => x.MatchLdfld(nameof(global::InputHandler.inputActions)), + x => x.MatchLdfld(nameof(global::HeroActions.dash)), + x => x.MatchCallOrCallvirt("get_IsPressed"), + x => x.MatchBrfalse(out labelForSecondIf) + ); + cursor.EmitDelegate(global::Modding.ModHooks.OnDashPressed); + cursor.Emit(OpCodes.Brtrue_S, labelForSecondIf); } - #endregion + [MonoModIgnore] + public static void HeroController_TakeDamage(ILContext il) + { + // add a `damageAmount = Modding.ModHooks.OnTakeDamage(ref hazardType, damageAmount);` at the start and a `damageAmount = Modding.ModHooks.AfterTakeDamage(hazardType, damageAmount);` somewhere in the middle + ILCursor cursor = new ILCursor(il).Goto(0); + + cursor.Emit(OpCodes.Ldarga_S, il.Method.Parameters[3]); // ref hazardType + cursor.Emit(OpCodes.Ldarg_3); // damageAmount + cursor.EmitDelegate(global::Modding.ModHooks.OnTakeDamage); + cursor.Emit(OpCodes.Starg_S, il.Method.Parameters[2]); // damageAmount + + cursor.GotoNext + ( + MoveType.AfterLabel, + x => x.MatchLdarg(0), + x => x.MatchLdfld(nameof(global::HeroController.takeNoDamage)), + x => x.MatchBrtrue(out var _) + ); + cursor.Emit(OpCodes.Ldarg_S, il.Method.Parameters[3]); // hazardType + cursor.Emit(OpCodes.Ldarg_S, il.Method.Parameters[2]); // damageAmount + cursor.EmitDelegate(global::Modding.ModHooks.AfterTakeDamage); + cursor.Emit(OpCodes.Starg_S, il.Method.Parameters[2]); // damageAmount + + cursor.GotoNext + ( + MoveType.After, + x => x.MatchLdcI4(3), + x => x.MatchBneUn(out var _) + ); // to skip over some parts + cursor.GotoNext + ( + MoveType.After, + x => x.MatchLdarg(0), + x => x.MatchLdfld(nameof(global::HeroController.takeNoDamage)), + x => x.MatchBrtrue(out var _) + ); + cursor.Emit(OpCodes.Ldarg_S, il.Method.Parameters[3]); // hazardType + cursor.Emit(OpCodes.Ldarg_S, il.Method.Parameters[2]); // damageAmount + cursor.EmitDelegate(global::Modding.ModHooks.AfterTakeDamage); + cursor.Emit(OpCodes.Starg_S, il.Method.Parameters[2]); // damageAmount + + cursor.GotoNext + ( + MoveType.After, + x => x.MatchLdcI4(3), + x => x.MatchBneUn(out var _) + ); + cursor.Emit(OpCodes.Ldarg_S, il.Method.Parameters[3]); // hazardType + cursor.Emit(OpCodes.Ldarg_S, il.Method.Parameters[2]); // damageAmount + cursor.EmitDelegate(global::Modding.ModHooks.AfterTakeDamage); + cursor.Emit(OpCodes.Starg_S, il.Method.Parameters[2]); // damageAmount + } [MonoModIgnore] - private extern void orig_DoAttack(); + public static void HeroController_StartMPDrain(ILContext il) + { + // add a `this.focusMP_amount *= Modding.ModHooks.OnFocusCost();` at the end + ILCursor cursor = new ILCursor(il); + + cursor.GotoNext + ( + MoveType.AfterLabel, + x => x.MatchRet() + ); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Ldfld, ReflectionHelper.GetFieldInfo(typeof(global::HeroController), "focusMP_amount")); + cursor.EmitDelegate(global::Modding.ModHooks.OnFocusCost); + cursor.Emit(OpCodes.Mul); + cursor.Emit(OpCodes.Stfld, ReflectionHelper.GetFieldInfo(typeof(global::HeroController), "focusMP_amount")); + } - public void DoAttack() + [MonoModIgnore] + public static void HeroController_Update(ILContext il) { - ModHooks.OnDoAttack(); - orig_DoAttack(); + // add a `ModHooks.OnHeroUpdate();` at the start + ILCursor cursor = new ILCursor(il).Goto(0); + + cursor.EmitDelegate(global::Modding.ModHooks.OnHeroUpdate); + } + + [MonoModIgnore] + public static void HeroController_CharmUpdate(ILContext il) + { + // add a `ModHooks.OnCharmUpdate(playerData, this); playerData.UpdateBlueHealth();` at the end + ILCursor cursor = new ILCursor(il); + + cursor.GotoNext + ( + MoveType.AfterLabel, + x => x.MatchRet() + ); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Ldfld, ReflectionHelper.GetFieldInfo(typeof(global::HeroController), nameof(global::HeroController.playerData))); + cursor.Emit(OpCodes.Ldarg_0); + cursor.EmitDelegate(global::Modding.ModHooks.OnCharmUpdate); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Ldfld, ReflectionHelper.GetFieldInfo(typeof(global::HeroController), nameof(global::HeroController.playerData))); + cursor.Emit(OpCodes.Callvirt, ReflectionHelper.GetMethodInfo(typeof(global::PlayerData), nameof(global::PlayerData.UpdateBlueHealth), true)); + } + + [MonoModIgnore] + public static void HeroController_DoAttack(ILContext il) + { + // add a `ModHooks.OnDoAttack();` at the start + ILCursor cursor = new ILCursor(il).Goto(0); + + cursor.EmitDelegate(global::Modding.ModHooks.OnDoAttack); } } } diff --git a/Assembly-CSharp/Patches/InputHandler.cs b/Assembly-CSharp/Patches/InputHandler.cs index 28222bb6..cc38d366 100644 --- a/Assembly-CSharp/Patches/InputHandler.cs +++ b/Assembly-CSharp/Patches/InputHandler.cs @@ -12,14 +12,14 @@ namespace Modding.Patches public class InputHandler : global::InputHandler { [MonoModIgnore] - [Attributes.RawIlPatch(nameof(IlPatches.OnGUI))] + [Attributes.RawIlPatch(nameof(IlPatches.InputHandler_OnGUI))] extern private void OnGUI(); } public static partial class IlPatches { [MonoModIgnore] - public static void OnGUI(ILContext il) + public static void InputHandler_OnGUI(ILContext il) { // add a `Cursor.lockState = CursorLockMode.None;` before every (4) `ret` ILCursor cursor = new ILCursor(il); diff --git a/Assembly-CSharp/Patches/NailSlash.cs b/Assembly-CSharp/Patches/NailSlash.cs new file mode 100644 index 00000000..7523fb07 --- /dev/null +++ b/Assembly-CSharp/Patches/NailSlash.cs @@ -0,0 +1,38 @@ +using Mono.Cecil.Cil; +using MonoMod; +using MonoMod.Cil; +using UnityEngine; + +// ReSharper disable All +#pragma warning disable 1591, CS0626 + +namespace Modding.Patches +{ + [MonoModPatch("global::NailSlash")] + public class NailSlash : global::NailSlash + { + [MonoModIgnore] + [Attributes.RawIlPatch(nameof(IlPatches.NailSlash_OnTriggerEnter2D))] + extern private void OnTriggerEnter2D(Collider2D otherCollider); + } + + public static partial class IlPatches + { + [MonoModIgnore] + public static void NailSlash_OnTriggerEnter2D(ILContext il) + { + // add a `ModHooks.OnSlashHit(otherCollider, gameObject);` at the start + ILCursor cursor = new ILCursor(il); + + cursor.GotoNext + ( + MoveType.AfterLabel, + x => x.MatchRet() + ); + cursor.Emit(OpCodes.Ldarg_1); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Callvirt, ReflectionHelper.GetMethodInfo(typeof(global::NailSlash), "get_gameObject", true)); + cursor.EmitDelegate(global::Modding.ModHooks.OnSlashHit); + } + } +} \ No newline at end of file diff --git a/Assembly-CSharp/Patches/OnTriggerEnter2D.cs b/Assembly-CSharp/Patches/OnTriggerEnter2D.cs deleted file mode 100644 index 71db1b5c..00000000 --- a/Assembly-CSharp/Patches/OnTriggerEnter2D.cs +++ /dev/null @@ -1,21 +0,0 @@ -using MonoMod; -using UnityEngine; - -// ReSharper disable All -#pragma warning disable 1591, CS0626 - -namespace Modding.Patches -{ - [MonoModPatch("global::NailSlash")] - public class NailSlash : global::NailSlash - { - // todo: make IL hook: seems trivial enough? - private extern void orig_OnTriggerEnter2D(Collider2D otherCollider); - - private void OnTriggerEnter2D(Collider2D otherCollider) - { - ModHooks.OnSlashHit(otherCollider, gameObject); - orig_OnTriggerEnter2D(otherCollider); - } - } -} \ No newline at end of file diff --git a/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs b/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs index 2f07ca68..d60dfd78 100644 --- a/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs +++ b/Assembly-CSharp/Patches/PlayMakerUnity2DProxy.cs @@ -1,4 +1,6 @@ -using MonoMod; +using Mono.Cecil.Cil; +using MonoMod; +using MonoMod.Cil; using UnityEngine; // ReSharper disable All @@ -9,23 +11,28 @@ namespace Modding.Patches [MonoModPatch("global::PlayMakerUnity2DProxy")] public class PlayMakerUnity2DProxy : global::PlayMakerUnity2DProxy { - // todo: make IL hook: seems trivial enough? - [MonoModReplace] - public void Start() + [MonoModIgnore] + [Attributes.RawIlPatch(nameof(IlPatches.PlayMakerUnity2DProxy_Start))] + extern public void Start(); + } + + public static partial class IlPatches + { + [MonoModIgnore] + public static void PlayMakerUnity2DProxy_Start(ILContext il) { - if (!PlayMakerUnity2d.isAvailable()) - { - Debug.LogError - ( - "PlayMakerUnity2DProxy requires the 'PlayMaker Unity 2D' Prefab in the Scene.\nUse the menu 'PlayMaker/Addons/Unity 2D/Components/Add PlayMakerUnity2D to Scene' to correct the situation", - this - ); - enabled = false; - return; - } + // add a `SetInt(nameof(healthBlue), GetInt(nameof(healthBlue)) + ModHooks.OnBlueHealth());` at the end + ILCursor cursor = new ILCursor(il); - ModHooks.OnColliderCreate(gameObject); - this.RefreshImplementation(); + cursor.GotoNext + ( + MoveType.AfterLabel, + x => x.MatchLdarg(0), + x => x.MatchCallOrCallvirt(nameof(global::PlayMakerUnity2DProxy.RefreshImplementation)) + ); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Callvirt, ReflectionHelper.GetMethodInfo(typeof(global::PlayMakerUnity2DProxy), "get_gameObject", true)); + cursor.EmitDelegate(global::Modding.ModHooks.OnColliderCreate); } } } \ No newline at end of file diff --git a/Assembly-CSharp/Patches/PlayerData.cs b/Assembly-CSharp/Patches/PlayerData.cs index ff2cd6c5..54b1e9f1 100644 --- a/Assembly-CSharp/Patches/PlayerData.cs +++ b/Assembly-CSharp/Patches/PlayerData.cs @@ -1,4 +1,6 @@ +using Mono.Cecil.Cil; using MonoMod; +using MonoMod.Cil; using UnityEngine; // ReSharper disable All @@ -10,9 +12,6 @@ namespace Modding.Patches [MonoModPatch("global::PlayerData")] public class PlayerData : global::PlayerData { - [MonoModIgnore] - public static PlayerData instance { get; set; } - public void SetBoolInternal(string boolName, bool value) { ReflectionHelper.SetFieldSafe(this, boolName, value); @@ -228,22 +227,47 @@ public void TakeHealth(int amount) TakeHealthInternal(amount); } - // todo: make IL hook: seems trivial enough? - public extern void orig_UpdateBlueHealth(); + [MonoModIgnore] + [Attributes.RawIlPatch(nameof(IlPatches.PlayerData_UpdateBlueHealth))] + extern public void UpdateBlueHealth(); + + [MonoModIgnore] + [Attributes.RawIlPatch(nameof(IlPatches.PlayerData_AddHealth))] + extern public void AddHealth(int amount); + } - public void UpdateBlueHealth() + public static partial class IlPatches + { + [MonoModIgnore] + public static void PlayerData_UpdateBlueHealth(ILContext il) { - orig_UpdateBlueHealth(); - SetInt(nameof(healthBlue), GetInt(nameof(healthBlue)) + ModHooks.OnBlueHealth()); + // add a `SetInt(nameof(healthBlue), GetInt(nameof(healthBlue)) + ModHooks.OnBlueHealth());` at the end + ILCursor cursor = new ILCursor(il); + + cursor.GotoNext + ( + MoveType.AfterLabel, + x => x.MatchRet() + ); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Ldstr, nameof(global::PlayerData.healthBlue)); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Ldstr, nameof(global::PlayerData.healthBlue)); + cursor.Emit(OpCodes.Callvirt, ReflectionHelper.GetMethodInfo(typeof(global::PlayerData), "GetInt", true)); + cursor.EmitDelegate(global::Modding.ModHooks.OnBlueHealth); + cursor.Emit(OpCodes.Add); + cursor.Emit(OpCodes.Callvirt, ReflectionHelper.GetMethodInfo(typeof(global::PlayerData), "SetInt", true)); } - // todo: make IL hook: seems trivial enough? - public extern void orig_AddHealth(int amount); - - public void AddHealth(int amount) + [MonoModIgnore] + public static void PlayerData_AddHealth(ILContext il) { - amount = ModHooks.BeforeAddHealth(amount); - orig_AddHealth(amount); + // add a `amount = ModHooks.BeforeAddHealth(amount);` at the start + ILCursor cursor = new ILCursor(il).Goto(0); + + cursor.Emit(OpCodes.Ldarg_1); + cursor.EmitDelegate(global::Modding.ModHooks.BeforeAddHealth); + cursor.Emit(OpCodes.Starg, 1); } } } \ No newline at end of file From 88a8c80109ddcf3bd8298210a83925d01aa128b6 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Mon, 25 May 2026 14:58:36 +0200 Subject: [PATCH 38/54] not everything can be an IL patch --- Assembly-CSharp/Patches/HeroController.cs | 34 +++++++---------------- 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/Assembly-CSharp/Patches/HeroController.cs b/Assembly-CSharp/Patches/HeroController.cs index e61aaf99..b36e14de 100644 --- a/Assembly-CSharp/Patches/HeroController.cs +++ b/Assembly-CSharp/Patches/HeroController.cs @@ -37,14 +37,19 @@ public class HeroController : global::HeroController [Attributes.RawIlPatch(nameof(IlPatches.HeroController_Update))] extern private void Update(); - [MonoModIgnore] - [Attributes.RawIlPatch(nameof(IlPatches.HeroController_CharmUpdate))] - extern public void CharmUpdate(); - [MonoModIgnore] [Attributes.RawIlPatch(nameof(IlPatches.HeroController_DoAttack))] extern private void DoAttack(); + // il patch just dies trying to resolve types for no reason? + public extern void orig_CharmUpdate(); + public void CharmUpdate() + { + orig_CharmUpdate(); + ModHooks.OnCharmUpdate(playerData, this); + playerData.UpdateBlueHealth(); + } + #region Dash() // This is the original dash vector calculating code used by the game @@ -55,6 +60,7 @@ public class HeroController : global::HeroController [MonoModIgnore] private float BUMP_VELOCITY_DASH; + [MonoModAdded] private Vector2 OrigDashVector() { Vector2 origVector; @@ -288,26 +294,6 @@ public static void HeroController_Update(ILContext il) cursor.EmitDelegate(global::Modding.ModHooks.OnHeroUpdate); } - [MonoModIgnore] - public static void HeroController_CharmUpdate(ILContext il) - { - // add a `ModHooks.OnCharmUpdate(playerData, this); playerData.UpdateBlueHealth();` at the end - ILCursor cursor = new ILCursor(il); - - cursor.GotoNext - ( - MoveType.AfterLabel, - x => x.MatchRet() - ); - cursor.Emit(OpCodes.Ldarg_0); - cursor.Emit(OpCodes.Ldfld, ReflectionHelper.GetFieldInfo(typeof(global::HeroController), nameof(global::HeroController.playerData))); - cursor.Emit(OpCodes.Ldarg_0); - cursor.EmitDelegate(global::Modding.ModHooks.OnCharmUpdate); - cursor.Emit(OpCodes.Ldarg_0); - cursor.Emit(OpCodes.Ldfld, ReflectionHelper.GetFieldInfo(typeof(global::HeroController), nameof(global::HeroController.playerData))); - cursor.Emit(OpCodes.Callvirt, ReflectionHelper.GetMethodInfo(typeof(global::PlayerData), nameof(global::PlayerData.UpdateBlueHealth), true)); - } - [MonoModIgnore] public static void HeroController_DoAttack(ILContext il) { From 31a6bfe6e86e1ce475266e2833379a7378fdf883 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Mon, 25 May 2026 15:32:02 +0200 Subject: [PATCH 39/54] update the last patches --- Assembly-CSharp/Patches/SceneManager.cs | 90 ++++++++++--------- Assembly-CSharp/Patches/StartManager.cs | 38 ++++---- .../CameraLockArea.cs | 27 +++++- 3 files changed, 92 insertions(+), 63 deletions(-) diff --git a/Assembly-CSharp/Patches/SceneManager.cs b/Assembly-CSharp/Patches/SceneManager.cs index 03b11302..b77747fd 100644 --- a/Assembly-CSharp/Patches/SceneManager.cs +++ b/Assembly-CSharp/Patches/SceneManager.cs @@ -1,7 +1,9 @@ using System; using System.Collections.Generic; +using Mono.Cecil.Cil; using UnityEngine; using MonoMod; +using MonoMod.Cil; // ReSharper disable All #pragma warning disable 1591, 0108, 0169, 0649, 0414, CS0626 @@ -12,55 +14,20 @@ namespace Modding.Patches public class SceneManager : global::SceneManager { [MonoModIgnore] - private bool gameplayScene; - - [MonoModIgnore] - private HeroController heroCtrl; - - [MonoModIgnore] - private bool heroInfoSent; - - // [MonoModIgnore] - private extern void orig_Update(); - - [MonoModIgnore] - private GameManager gm; - - // todo: make IL hook: seems trivial enough? - //Added checks for null and an attempt to fix any missing references - // [MonoModReplace] - private void Update() - { - if (this.gameplayScene) - { - if (!this.heroInfoSent && this.heroCtrl != null && (this.heroCtrl.heroLight == null || this.heroCtrl.heroLight.material == null)) - { - this.heroCtrl.SetDarkness(this.darknessLevel); - this.heroInfoSent = true; - } - } - - orig_Update(); - } + [Attributes.RawIlPatch(nameof(IlPatches.SceneManager_Update))] + extern private void Update(); [MonoModIgnore] private Transform borderLeft; - [MonoModIgnore] private Transform borderRight; - [MonoModIgnore] private Transform borderUp; - [MonoModIgnore] private Transform borderDown; - // todo: make IL hook: seems trivial enough? - // [MonoModIgnore] - private extern void orig_OnCameraAspectChanged(float aspect); - //add modhook to send the newly created borders to any mods that want them - // [MonoModReplace] + private extern void orig_OnCameraAspectChanged(float aspect); private void OnCameraAspectChanged(float aspect) { orig_OnCameraAspectChanged(aspect); @@ -85,10 +52,7 @@ private void OnCameraAspectChanged(float aspect) ModHooks.OnDrawBlackBorders(borders); } - // [MonoModIgnore] private extern void orig_Start(); - - // [MonoModReplace] private void Start() { try @@ -99,4 +63,48 @@ private void Start() { } } } + + public static partial class IlPatches + { + [MonoModIgnore] + public static void SceneManager_Update(ILContext il) + { + // add a branch around `this.heroCtrl.heroLight.material.SetColor("_Color", Color.white);` + ILCursor cursor = new ILCursor(il); + + ILLabel forAfterChecks = cursor.DefineLabel(); + + cursor.GotoNext + ( + MoveType.AfterLabel, + x => x.MatchLdarg(0), + x => x.MatchLdfld("heroCtrl"), + x => x.MatchLdarg(0), + x => x.MatchLdfld(nameof(global::SceneManager.darknessLevel)), + x => x.MatchCallOrCallvirt(nameof(global::HeroController.SetDarkness)) + ); + forAfterChecks.Target = cursor.Next; + + cursor.GotoPrev + ( + MoveType.AfterLabel, + x => x.MatchLdarg(0), + x => x.MatchLdfld("heroCtrl"), + x => x.MatchLdfld(nameof(global::HeroController.heroLight)) + ); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Ldfld, ReflectionHelper.GetFieldInfo(typeof(global::SceneManager), "heroCtrl")); + cursor.Emit(OpCodes.Ldfld, ReflectionHelper.GetFieldInfo(typeof(global::HeroController), nameof(global::HeroController.heroLight))); + cursor.Emit(OpCodes.Ldnull); + cursor.Emit(OpCodes.Call, ReflectionHelper.GetMethodInfo(typeof(global::UnityEngine.Object), "op_Equality", false)); + cursor.Emit(OpCodes.Brtrue_S, forAfterChecks); + cursor.Emit(OpCodes.Ldarg_0); + cursor.Emit(OpCodes.Ldfld, ReflectionHelper.GetFieldInfo(typeof(global::SceneManager), "heroCtrl")); + cursor.Emit(OpCodes.Ldfld, ReflectionHelper.GetFieldInfo(typeof(global::HeroController), nameof(global::HeroController.heroLight))); + cursor.Emit(OpCodes.Callvirt, ReflectionHelper.GetMethodInfo(typeof(global::UnityEngine.SpriteRenderer), "get_material", true)); + cursor.Emit(OpCodes.Ldnull); + cursor.Emit(OpCodes.Call, ReflectionHelper.GetMethodInfo(typeof(global::UnityEngine.Object), "op_Equality", false)); + cursor.Emit(OpCodes.Brtrue_S, forAfterChecks); + } + } } \ No newline at end of file diff --git a/Assembly-CSharp/Patches/StartManager.cs b/Assembly-CSharp/Patches/StartManager.cs index 15f93cbf..0828d3a8 100644 --- a/Assembly-CSharp/Patches/StartManager.cs +++ b/Assembly-CSharp/Patches/StartManager.cs @@ -78,15 +78,13 @@ private IEnumerator Start() loadOperation.allowSceneActivation = false; } Platform.Current.SetSceneLoadState(true, false); - bool showLanguageSelect = !this.CheckIsLanguageSet(); - if (showLanguageSelect && Platform.Current.ShowLanguageSelect) + if (!this.CheckIsLanguageSet() && Platform.Current.ShowLanguageSelect) { yield return base.StartCoroutine(this.ShowLanguageSelect()); while (!this.confirmedLanguage) { yield return null; } - yield return base.StartCoroutine(this.LanguageSettingDone()); } TeamCherry.Localization.LanguageCode currentLanguage = (TeamCherry.Localization.LanguageCode) Lang.CurrentLanguage(); @@ -94,40 +92,44 @@ private IEnumerator Start() { yield return null; } - bool flag = false; + bool savedLanguageDifferentFromDefault = false; string text; if (TeamCherry.Localization.LocalizationProjectSettings.TryGetSavedLanguageCode(out text)) { TeamCherry.Localization.LanguageCode languageEnum = TeamCherry.Localization.LocalizationSettings.GetLanguageEnum(text); if (currentLanguage != languageEnum) { - flag = true; + savedLanguageDifferentFromDefault = true; } } - if (flag) + if (savedLanguageDifferentFromDefault) { Lang.LoadLanguage(); - ChangeFontByLanguage[] array = UObject.FindObjectsByType(FindObjectsSortMode.None); - for (int i = 0; i < array.Length; i++) + ChangeFontByLanguage[] changeFontByLanguages = UObject.FindObjectsByType(FindObjectsSortMode.None); + for (int i = 0; i < changeFontByLanguages.Length; i++) { - array[i].SetFont(); + changeFontByLanguages[i].SetFont(); } - SetTextMeshProGameText[] componentsInChildren = base.GetComponentsInChildren(true); - for (int i = 0; i < componentsInChildren.Length; i++) + SetTextMeshProGameText[] setTextMeshProGameTexts = base.GetComponentsInChildren(true); + for (int i = 0; i < setTextMeshProGameTexts.Length; i++) { - componentsInChildren[i].UpdateText(); + setTextMeshProGameTexts[i].UpdateText(); } - LogoLanguage[] componentsInChildren2 = base.GetComponentsInChildren(true); - for (int i = 0; i < componentsInChildren2.Length; i++) + LogoLanguage[] logoLanguages = base.GetComponentsInChildren(true); + for (int i = 0; i < logoLanguages.Length; i++) { - componentsInChildren2[i].SetSprite(); + logoLanguages[i].SetSprite(); } } this.startManagerAnimator.SetBool("WillShowControllerNotice", false); this.startManagerAnimator.SetBool("WillShowQuote", true); - - StandaloneLoadingSpinner loadSpinner = UnityEngine.Object.Instantiate(this.loadSpinnerPrefab); - loadSpinner.Setup(null); + // this.startManagerAnimator.SetTrigger("Start"); + // int loadingIconNameHash = Animator.StringToHash("LoadingIcon"); + // while (this.startManagerAnimator.GetCurrentAnimatorStateInfo(0).shortNameHash != loadingIconNameHash) + // { + // yield return null; + // } + UnityEngine.Object.Instantiate(this.loadSpinnerPrefab).Setup(null); bool didWaitForPlayerPrefs = false; while (!Platform.Current.IsPlayerPrefsLoaded) { diff --git a/Assembly-CSharp/Patches/SuppressPreloadException/CameraLockArea.cs b/Assembly-CSharp/Patches/SuppressPreloadException/CameraLockArea.cs index 311a06d2..c295efda 100644 --- a/Assembly-CSharp/Patches/SuppressPreloadException/CameraLockArea.cs +++ b/Assembly-CSharp/Patches/SuppressPreloadException/CameraLockArea.cs @@ -12,6 +12,26 @@ namespace Modding.Patches [MonoModPatch("global::CameraLockArea")] public class CameraLockArea : global::CameraLockArea { + [MonoModIgnore] + private bool hasGotRefs; + + [MonoModReplace] + private void GetRefs() + { + if (this.hasGotRefs) + { + return; + } + this.gcams = Modding.Patches.SuppressPreloadException.GameCameras.instance; + if (this.gcams == null) + { + return; + } + this.cameraCtrl = this.gcams.cameraController; + this.camTarget = this.gcams.cameraTarget; + this.hasGotRefs = true; + } + [MonoModIgnore] private SuppressPreloadException.GameCameras gcams; [MonoModIgnore] @@ -31,13 +51,12 @@ public class CameraLockArea : global::CameraLockArea [MonoModIgnore] private extern bool ValidateBounds(); + [MonoModReplace] private IEnumerator Start() { - this.gcams = SuppressPreloadException.GameCameras.instance; - if (this.gcams == null) + this.GetRefs(); + if (!this.hasGotRefs) yield break; - this.cameraCtrl = this.gcams.cameraController; - this.camTarget = this.gcams.cameraTarget; Scene scene = this.gameObject.scene; if (this.cameraCtrl == null) yield break; From bfd0faf83759d486f521e4e5379da27ca48e50b1 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 30 May 2026 13:26:53 +0200 Subject: [PATCH 40/54] add hookgen for TC assemblies & more typeforwarders up hk & mapi version number add slnx for those that like it --- Assembly-CSharp/Assembly-CSharp.csproj | 26 ++++++----- HollowKnight.Modding.API.slnx | 5 ++ PostPatcher/Program.cs | 63 ++++++++++++++------------ hollowknight.version | 2 +- moddingapi.version | 2 +- 5 files changed, 56 insertions(+), 42 deletions(-) create mode 100644 HollowKnight.Modding.API.slnx diff --git a/Assembly-CSharp/Assembly-CSharp.csproj b/Assembly-CSharp/Assembly-CSharp.csproj index 0add8292..879f0bd3 100644 --- a/Assembly-CSharp/Assembly-CSharp.csproj +++ b/Assembly-CSharp/Assembly-CSharp.csproj @@ -23,6 +23,12 @@ + + + + + + @@ -41,26 +47,24 @@ - - - - - - - + - - - - + + + + + + + + diff --git a/HollowKnight.Modding.API.slnx b/HollowKnight.Modding.API.slnx new file mode 100644 index 00000000..b2e272fe --- /dev/null +++ b/HollowKnight.Modding.API.slnx @@ -0,0 +1,5 @@ + + + + + diff --git a/PostPatcher/Program.cs b/PostPatcher/Program.cs index fde8a782..d2798506 100644 --- a/PostPatcher/Program.cs +++ b/PostPatcher/Program.cs @@ -20,55 +20,60 @@ private static void Main(string[] args) return; } - int changes = 0; + int forwarders = 0; using AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly(args[0]); - ForwardTk2dTypes(assembly); + // forwarders += ForwardTypes(assembly, "TeamCherry.BuildBot.dll", "TeamCherry.BuildBot", ""); + forwarders += ForwardTypes(assembly, "TeamCherry.Cinematics.dll", "TeamCherry.Cinematics", ""); + forwarders += ForwardTypes(assembly, "TeamCherry.Localization.dll", "HutongGames.PlayMaker.Actions", "HutongGames.PlayMaker.Actions"); + forwarders += ForwardTypes(assembly, "TeamCherry.Localization.dll", "TeamCherry.Localization", ""); + forwarders += ForwardTypes(assembly, "TeamCherry.NestedFadeGroup.dll", "HutongGames.PlayMaker.Actions", "HutongGames.PlayMaker.Actions"); + forwarders += ForwardTypes(assembly, "TeamCherry.NestedFadeGroup.dll", "TeamCherry.NestedFadeGroup", ""); + forwarders += ForwardTypes(assembly, "TeamCherry.SharedUtils.dll", "TeamCherry.SharedUtils", ""); + forwarders += ForwardTypes(assembly, "TeamCherry.TK2D.dll", "", ""); + forwarders += ForwardTypes(assembly, "TeamCherry.TK2D.dll", "tk2dRuntime", ""); + forwarders += ForwardTypes(assembly, "TeamCherry.TK2D.dll", "tk2dRuntime.TileMap", ""); assembly.Write(args[1]); - Console.WriteLine("Changed " + changes + " get/set calls"); + Console.WriteLine("Added " + forwarders + " type forwarders"); } - private static void ForwardTk2dTypes(AssemblyDefinition assembly) + private static int ForwardTypes(AssemblyDefinition outAssembly, string sourcePath, string fromNameSpace, string toNameSpace) { - AssemblyNameReference assemblyNameReference = new AssemblyNameReference("TeamCherry.TK2D", null); - foreach (var typeName in new string[] - { - "tk2dAnimatedSprite", "tk2dAssetPlatform", "tk2dBaseSprite", "tk2dBatchedSprite", "tk2dButton", "tk2dCamera", "tk2dCameraAnchor", - "tk2dCameraResolutionOverride", "tk2dCameraSettings", "tk2dClippedSprite", "tk2dCollider2DData", "tk2dEditorSpriteDataUnloader", - "tk2dFont", "tk2dFontChar", "tk2dFontData", "tk2dFontKerning", "Tk2dGlobalEvents", "tk2dLinkedSpriteCollection", - "tk2dPixelPerfectHelper", "tk2dResource", "tk2dResourceTocEntry", "tk2dSlicedSprite", "tk2dSprite", "tk2dSpriteAnimation", - "tk2dSpriteAnimationClip", "tk2dSpriteAnimationFrame", "tk2dSpriteAnimator", "tk2dSpriteAttachPoint", "tk2dSpriteCollection", - "tk2dSpriteCollectionData", "tk2dSpriteCollectionDefault", "tk2dSpriteCollectionDefinition", "tk2dSpriteCollectionFont", - "tk2dSpriteCollectionPlatform", "tk2dSpriteCollectionSize", "tk2dSpriteColliderDefinition", "tk2dSpriteColliderIsland", - "tk2dSpriteDefinition", "tk2dSpriteFromTexture", "tk2dSpriteGeomGen", "Tk2dSpriteSetKeywords", "tk2dSpriteSheetSource", - "tk2dStaticSpriteBatcher", "tk2dSystem", "tk2dTextGeomGen", "tk2dTextMesh", "tk2dTextMeshData", "tk2dTiledSprite", "tk2dTileFlags", - "tk2dTileMap", "tk2dTileMapData", "tk2dUpdateManager", "tk2dUtil" - }) + int forwarders = 0; + using AssemblyDefinition sourceAssembly = AssemblyDefinition.ReadAssembly(sourcePath); + AssemblyNameReference nameReference = new AssemblyNameReference(sourceAssembly.Name.Name, sourceAssembly.Name.Version); + if (outAssembly.MainModule.AssemblyReferences.All(x => x.Name != sourceAssembly.Name.Name)) { - var forwardedType = assembly.MainModule.ImportReference - ( - assembly.MainModule.AssemblyResolver - .Resolve(assemblyNameReference) - .MainModule.GetType(typeName) - ); - assembly.MainModule.ExportedTypes.Add + outAssembly.MainModule.AssemblyReferences.Add(nameReference); + } + foreach (TypeDefinition type in sourceAssembly.MainModule.Types) + { + if (!type.IsPublic) continue; + if (type.Namespace != fromNameSpace) continue; + if (outAssembly.MainModule.GetType(type.Namespace, type.Name) != null) continue; + if (outAssembly.MainModule.ExportedTypes.Any(e => e.Namespace == type.Namespace && e.Name == type.Name)) continue; + var forwardedType = outAssembly.MainModule.ImportReference(type); + outAssembly.MainModule.ExportedTypes.Add ( new ExportedType ( - "", - typeName, - assembly.MainModule, - assembly.Name + toNameSpace, + type.Name, + outAssembly.MainModule, + outAssembly.Name ) { Attributes = TypeAttributes.Public | TypeAttributes.Forwarder, Scope = forwardedType.Scope } ); + forwarders++; } + + return forwarders; } } } \ No newline at end of file diff --git a/hollowknight.version b/hollowknight.version index 68c21b76..f36952bd 100644 --- a/hollowknight.version +++ b/hollowknight.version @@ -1 +1 @@ -1.5.12459 \ No newline at end of file +1.5.12620 \ No newline at end of file diff --git a/moddingapi.version b/moddingapi.version index aafd756e..61ae7069 100644 --- a/moddingapi.version +++ b/moddingapi.version @@ -1 +1 @@ -v77 \ No newline at end of file +v78 \ No newline at end of file From 25f43b9a86ca6c02ee23d37be826cf9447f0000a Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 30 May 2026 13:28:20 +0200 Subject: [PATCH 41/54] remove unnecessary forwarding file --- Assembly-CSharp/tk2dForwarding.cs | 56 ------------------------------- 1 file changed, 56 deletions(-) delete mode 100644 Assembly-CSharp/tk2dForwarding.cs diff --git a/Assembly-CSharp/tk2dForwarding.cs b/Assembly-CSharp/tk2dForwarding.cs deleted file mode 100644 index c61eb2e7..00000000 --- a/Assembly-CSharp/tk2dForwarding.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System.Runtime.CompilerServices; - -// for backwards compatibility, done by hand in PostPatcher -[assembly:TypeForwardedTo(typeof(tk2dAnimatedSprite))] -[assembly:TypeForwardedTo(typeof(tk2dAssetPlatform))] -[assembly:TypeForwardedTo(typeof(tk2dBaseSprite))] -[assembly:TypeForwardedTo(typeof(tk2dBatchedSprite))] -[assembly:TypeForwardedTo(typeof(tk2dButton))] -[assembly:TypeForwardedTo(typeof(tk2dCamera))] -[assembly:TypeForwardedTo(typeof(tk2dCameraAnchor))] -[assembly:TypeForwardedTo(typeof(tk2dCameraResolutionOverride))] -[assembly:TypeForwardedTo(typeof(tk2dCameraSettings))] -[assembly:TypeForwardedTo(typeof(tk2dClippedSprite))] -[assembly:TypeForwardedTo(typeof(tk2dCollider2DData))] -[assembly:TypeForwardedTo(typeof(tk2dEditorSpriteDataUnloader))] -[assembly:TypeForwardedTo(typeof(tk2dFont))] -[assembly:TypeForwardedTo(typeof(tk2dFontChar))] -[assembly:TypeForwardedTo(typeof(tk2dFontData))] -[assembly:TypeForwardedTo(typeof(tk2dFontKerning))] -[assembly:TypeForwardedTo(typeof(Tk2dGlobalEvents))] -[assembly:TypeForwardedTo(typeof(tk2dLinkedSpriteCollection))] -[assembly:TypeForwardedTo(typeof(tk2dPixelPerfectHelper))] -[assembly:TypeForwardedTo(typeof(tk2dResource))] -[assembly:TypeForwardedTo(typeof(tk2dResourceTocEntry))] -[assembly:TypeForwardedTo(typeof(tk2dSlicedSprite))] -[assembly:TypeForwardedTo(typeof(tk2dSprite))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteAnimation))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteAnimationClip))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteAnimationFrame))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteAnimator))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteAttachPoint))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteCollection))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteCollectionData))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteCollectionDefault))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteCollectionDefinition))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteCollectionFont))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteCollectionPlatform))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteCollectionSize))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteColliderDefinition))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteColliderIsland))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteDefinition))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteFromTexture))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteGeomGen))] -[assembly:TypeForwardedTo(typeof(Tk2dSpriteSetKeywords))] -[assembly:TypeForwardedTo(typeof(tk2dSpriteSheetSource))] -[assembly:TypeForwardedTo(typeof(tk2dStaticSpriteBatcher))] -[assembly:TypeForwardedTo(typeof(tk2dSystem))] -[assembly:TypeForwardedTo(typeof(tk2dTextGeomGen))] -[assembly:TypeForwardedTo(typeof(tk2dTextMesh))] -[assembly:TypeForwardedTo(typeof(tk2dTextMeshData))] -[assembly:TypeForwardedTo(typeof(tk2dTiledSprite))] -[assembly:TypeForwardedTo(typeof(tk2dTileFlags))] -[assembly:TypeForwardedTo(typeof(tk2dTileMap))] -[assembly:TypeForwardedTo(typeof(tk2dTileMapData))] -[assembly:TypeForwardedTo(typeof(tk2dUpdateManager))] -[assembly:TypeForwardedTo(typeof(tk2dUtil))] From b2326beeeef19d80918f92cf2fc31d6dfdb8b68f Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 30 May 2026 15:21:36 +0200 Subject: [PATCH 42/54] patch TeamCherry.Localization --- Assembly-CSharp/Assembly-CSharp.csproj | 16 ++++- Assembly-CSharp/Language/Language.cs | 11 +++- Assembly-CSharp/Language/LanguageCode.cs | 3 + Assembly-CSharp/Menu/MenuUtils.cs | 2 +- Assembly-CSharp/Mod.cs | 2 +- Assembly-CSharp/ModHooks.cs | 5 +- Assembly-CSharp/ModListMenu.cs | 2 +- Assembly-CSharp/Patches/StartManager.cs | 4 +- HollowKnight.Modding.API.sln | 9 ++- HollowKnight.Modding.API.slnx | 7 ++- PostPatcher/Program.cs | 5 -- TeamCherry.Localization/Patches/Language.cs | 46 ++++++++++++++ .../TeamCherry.Localization.csproj | 61 +++++++++++++++++++ 13 files changed, 150 insertions(+), 23 deletions(-) create mode 100644 TeamCherry.Localization/Patches/Language.cs create mode 100644 TeamCherry.Localization/TeamCherry.Localization.csproj diff --git a/Assembly-CSharp/Assembly-CSharp.csproj b/Assembly-CSharp/Assembly-CSharp.csproj index 879f0bd3..528b5286 100644 --- a/Assembly-CSharp/Assembly-CSharp.csproj +++ b/Assembly-CSharp/Assembly-CSharp.csproj @@ -50,6 +50,11 @@ + + + + + @@ -73,8 +78,10 @@ - + + + @@ -89,8 +96,10 @@ - + + + @@ -142,6 +151,9 @@ + + true + false diff --git a/Assembly-CSharp/Language/Language.cs b/Assembly-CSharp/Language/Language.cs index bf80b6ab..2a51ed70 100644 --- a/Assembly-CSharp/Language/Language.cs +++ b/Assembly-CSharp/Language/Language.cs @@ -4,6 +4,9 @@ using UObject = UnityEngine.Object; using USystemLanguage = UnityEngine.SystemLanguage; +// ReSharper disable All +#pragma warning disable 1591, 0108, 0169, 0649, 0626 + namespace Language; [Obsolete("Use `TeamCherry.Localization.Language` instead.")] @@ -17,15 +20,14 @@ public static class Language public static UObject GetAsset(string name) => COMPAT_GetAsset(name); public static LanguageCode CurrentLanguage() => (LanguageCode) COMPAT_CurrentLanguage(); public static string Get(string key) => COMPAT_Get(key); + public static string GetInternal(string key, string sheetTitle) => COMPAT_GetInternal(key, sheetTitle); + public static string Get(string key, string sheetTitle) => COMPAT_Get(key, sheetTitle); public static IEnumerable GetSheets() => COMPAT_GetSheets(); public static IEnumerable GetKeys(string sheetTitle) => COMPAT_GetKeys(sheetTitle); public static bool Has(string key) => COMPAT_Has(key); public static bool Has(string key, string sheet) => COMPAT_Has(key, sheet); public static bool HasSheet(string sheet) => COMPAT_HasSheet(sheet); public static LanguageCode LanguageNameToCode(USystemLanguage name) => (LanguageCode) COMPAT_LanguageNameToCode(name); - public static string GetInternal(string key, string sheetTitle) => COMPAT_Get(key, sheetTitle); - [MonoMod.MonoModLinkFrom("System.String TeamCherry.Localization.Language::Get(System.String,System.String)")] - public static string Get(string key, string sheetTitle) => Modding.ModHooks.LanguageGet(key, sheetTitle); private static void DoSwitch(LanguageCode newLang) => COMPAT_DoSwitch((TeamCherry.Localization.LanguageCode) newLang); private static bool HasLanguageFile(string lang, string sheetTitle) => COMPAT_HasLanguageFile(lang, sheetTitle); @@ -58,6 +60,9 @@ public static class Language [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String Get(System.String)")] [MonoMod.MonoModRemove] extern private static string COMPAT_Get(string key); + [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String GetInternal(System.String,System.String)")] + [MonoMod.MonoModRemove] + extern private static string COMPAT_GetInternal(string key, string sheetTitle); [MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String Get(System.String,System.String)")] [MonoMod.MonoModRemove] extern private static string COMPAT_Get(string key, string sheetTitle); diff --git a/Assembly-CSharp/Language/LanguageCode.cs b/Assembly-CSharp/Language/LanguageCode.cs index 5f3fce38..e560aa34 100644 --- a/Assembly-CSharp/Language/LanguageCode.cs +++ b/Assembly-CSharp/Language/LanguageCode.cs @@ -1,3 +1,6 @@ +// ReSharper disable All +#pragma warning disable 1591, 0108, 0169, 0649, 0626 + namespace Language; // for backwards compatibility diff --git a/Assembly-CSharp/Menu/MenuUtils.cs b/Assembly-CSharp/Menu/MenuUtils.cs index af0a1de8..0bd47d9a 100644 --- a/Assembly-CSharp/Menu/MenuUtils.cs +++ b/Assembly-CSharp/Menu/MenuUtils.cs @@ -8,7 +8,7 @@ using UnityEngine; using UnityEngine.UI; using Patch = Modding.Patches; -using Lang = Language.Language; +using Lang = TeamCherry.Localization.Language; namespace Modding.Menu diff --git a/Assembly-CSharp/Mod.cs b/Assembly-CSharp/Mod.cs index 217698d8..f830174c 100644 --- a/Assembly-CSharp/Mod.cs +++ b/Assembly-CSharp/Mod.cs @@ -10,7 +10,7 @@ using MonoMod.Utils; using System.Linq; using Newtonsoft.Json.Linq; -using Lang = Language.Language; +using Lang = TeamCherry.Localization.Language; // ReSharper disable file UnusedMember.Global diff --git a/Assembly-CSharp/ModHooks.cs b/Assembly-CSharp/ModHooks.cs index 88b303aa..c412dbad 100644 --- a/Assembly-CSharp/ModHooks.cs +++ b/Assembly-CSharp/ModHooks.cs @@ -12,7 +12,6 @@ using System.Linq; using Modding.Delegates; using Object = UnityEngine.Object; -using Lang = Language.Language; // ReSharper disable PossibleInvalidCastExceptionInForeachLoop // ReSharper disable SuggestVarOrType_SimpleTypes @@ -26,7 +25,7 @@ namespace Modding public class ModHooks { // Make sure this is in sync with `/moddingapi.version`. - private const int _modVersion = 77; + private const int _modVersion = 78; private static readonly string SettingsPath = Path.Combine(Application.persistentDataPath, "ModdingApi.GlobalSettings.json"); @@ -226,7 +225,7 @@ internal static void LogConsole(string message, LogLevel level) /// N/A internal static string LanguageGet(string key, string sheet) { - string res = Lang.GetInternal(key, sheet); + string res = Language.Language.GetInternal(key, sheet); if (LanguageGetHook == null) return res; diff --git a/Assembly-CSharp/ModListMenu.cs b/Assembly-CSharp/ModListMenu.cs index fec0f388..0a7b6082 100644 --- a/Assembly-CSharp/ModListMenu.cs +++ b/Assembly-CSharp/ModListMenu.cs @@ -6,7 +6,7 @@ using UnityEngine.UI; using static Modding.ModLoader; using Patch = Modding.Patches; -using Lang = Language.Language; +using Lang = TeamCherry.Localization.Language; namespace Modding { diff --git a/Assembly-CSharp/Patches/StartManager.cs b/Assembly-CSharp/Patches/StartManager.cs index 0828d3a8..da750f85 100644 --- a/Assembly-CSharp/Patches/StartManager.cs +++ b/Assembly-CSharp/Patches/StartManager.cs @@ -4,7 +4,7 @@ using MonoMod; using UnityEngine; using UObject = UnityEngine.Object; -using Lang = Language.Language; +using Lang = TeamCherry.Localization.Language; // ReSharper disable All #pragma warning disable 1591, CS0649 @@ -23,6 +23,8 @@ public class StartManager : global::StartManager private void Awake() { + // i love working with self-contained libraries where one has to work around cyclic dependencies + ReflectionHelper.SetField(typeof(TeamCherry.Localization.Language), "LanguageGet", ModHooks.LanguageGet); if (ModLoader.LoadState == ModLoader.ModLoadState.NotStarted) { Logger.APILogger.Log("Main menu loading"); diff --git a/HollowKnight.Modding.API.sln b/HollowKnight.Modding.API.sln index 085230af..ca764506 100644 --- a/HollowKnight.Modding.API.sln +++ b/HollowKnight.Modding.API.sln @@ -3,14 +3,17 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.27130.2027 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp\Assembly-CSharp.csproj", "{1CACEA6A-D114-46B1-8C47-F2F92062B844}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp/Assembly-CSharp.csproj", "{1CACEA6A-D114-46B1-8C47-F2F92062B844}" ProjectSection(ProjectDependencies) = postProject {E06FBDDA-0A27-45EC-AC28-259C23715C50} = {E06FBDDA-0A27-45EC-AC28-259C23715C50} + {CE61CBC8-9373-4C5B-BA15-DED48888DB73} = {CE61CBC8-9373-4C5B-BA15-DED48888DB73} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PrePatcher", "PrePatcher\PrePatcher.csproj", "{E06FBDDA-0A27-45EC-AC28-259C23715C50}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TeamCherry.Localization", "TeamCherry.Localization/TeamCherry.Localization.csproj", "{E06FBDDA-0A27-45EC-AC28-259C23715707}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PostPatcher", "PostPatcher\PostPatcher.csproj", "{CE61CBC8-9373-4C5B-BA15-DED48888DB73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PrePatcher", "PrePatcher/PrePatcher.csproj", "{E06FBDDA-0A27-45EC-AC28-259C23715C50}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PostPatcher", "PostPatcher/PostPatcher.csproj", "{CE61CBC8-9373-4C5B-BA15-DED48888DB73}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/HollowKnight.Modding.API.slnx b/HollowKnight.Modding.API.slnx index b2e272fe..8cbea0c4 100644 --- a/HollowKnight.Modding.API.slnx +++ b/HollowKnight.Modding.API.slnx @@ -1,5 +1,6 @@  - - - + + + + diff --git a/PostPatcher/Program.cs b/PostPatcher/Program.cs index d2798506..5a7951f2 100644 --- a/PostPatcher/Program.cs +++ b/PostPatcher/Program.cs @@ -1,11 +1,6 @@ using System; -using System.Collections.Generic; -using System.Diagnostics; using System.Linq; using Mono.Cecil; -using Mono.Cecil.Cil; -using Mono.Cecil.Rocks; -using MethodAttributes = Mono.Cecil.MethodAttributes; namespace Postpatcher { diff --git a/TeamCherry.Localization/Patches/Language.cs b/TeamCherry.Localization/Patches/Language.cs new file mode 100644 index 00000000..51ed6d07 --- /dev/null +++ b/TeamCherry.Localization/Patches/Language.cs @@ -0,0 +1,46 @@ +using MonoMod; +using System.Collections.Generic; +using UnityEngine; + +// ReSharper disable all +#pragma warning disable 1591, 649, 414, 169, CS0108, CS0626 + +namespace Modding.Patches +{ + [MonoModPatch("global::TeamCherry.Localization.Language")] + public static class Language + { + [MonoModIgnore] + private static Dictionary> currentEntrySheets; + + [MonoModAdded] + public static string GetInternal(string key, string sheetTitle) + { + if (currentEntrySheets == null || !currentEntrySheets.ContainsKey(sheetTitle)) + { + Debug.LogError($"The sheet with title \"{sheetTitle}\" does not exist!"); + return string.Empty; + } + + if (currentEntrySheets[sheetTitle].ContainsKey(key)) + { + return currentEntrySheets[sheetTitle][key]; + } + + return "#!#" + key + "#!#"; + } + + [MonoModReplace] + public static string Get(string key, string sheetTitle) + { + if (LanguageGet != null) + return LanguageGet(key, sheetTitle); + return GetInternal(key, sheetTitle); + } + + [MonoModAdded] + public delegate string LanguageGetFunc(string key, string sheetTitle); + [MonoModAdded] + public static LanguageGetFunc LanguageGet = null; + } +} diff --git a/TeamCherry.Localization/TeamCherry.Localization.csproj b/TeamCherry.Localization/TeamCherry.Localization.csproj new file mode 100644 index 00000000..8cbeabd5 --- /dev/null +++ b/TeamCherry.Localization/TeamCherry.Localization.csproj @@ -0,0 +1,61 @@ + + + Modding + TeamCherry.Localization.mm + net472 + Hollow Knight - Mod API Enabled + Modding API + Copyright © 2017 + bin\$(Configuration)\ + true + packages + latest + true + + + + full + bin\$(Configuration)\TeamCherry.Localization.mm.xml + + + pdbonly + bin\$(Configuration)\TeamCherry.Localization.mm.xml + + + + + all + + + + all + + + + all + + + + + + false + + + false + + + + + + + + + + + + + + + + + From f628d8d2001db9e0369fac19e64c06adbae5f214 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 30 May 2026 16:50:13 +0200 Subject: [PATCH 43/54] fix typo --- TeamCherry.Localization/Patches/Language.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TeamCherry.Localization/Patches/Language.cs b/TeamCherry.Localization/Patches/Language.cs index 51ed6d07..f26eabcf 100644 --- a/TeamCherry.Localization/Patches/Language.cs +++ b/TeamCherry.Localization/Patches/Language.cs @@ -11,20 +11,20 @@ namespace Modding.Patches public static class Language { [MonoModIgnore] - private static Dictionary> currentEntrySheets; + private static Dictionary> _currentEntrySheets; [MonoModAdded] public static string GetInternal(string key, string sheetTitle) { - if (currentEntrySheets == null || !currentEntrySheets.ContainsKey(sheetTitle)) + if (_currentEntrySheets == null || !_currentEntrySheets.ContainsKey(sheetTitle)) { Debug.LogError($"The sheet with title \"{sheetTitle}\" does not exist!"); return string.Empty; } - if (currentEntrySheets[sheetTitle].ContainsKey(key)) + if (_currentEntrySheets[sheetTitle].ContainsKey(key)) { - return currentEntrySheets[sheetTitle][key]; + return _currentEntrySheets[sheetTitle][key]; } return "#!#" + key + "#!#"; From b35d10c022ed9253b8aaa920a4fceb431d7bf7c2 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 30 May 2026 16:50:53 +0200 Subject: [PATCH 44/54] have more consistent preloads --- Assembly-CSharp/ModLoader.cs | 8 +++--- Assembly-CSharp/Patches/StartManager.cs | 35 ++++++++++--------------- Assembly-CSharp/Preloader.cs | 20 +++++++++++++- 3 files changed, 38 insertions(+), 25 deletions(-) diff --git a/Assembly-CSharp/ModLoader.cs b/Assembly-CSharp/ModLoader.cs index 6a0a19e6..69240f36 100644 --- a/Assembly-CSharp/ModLoader.cs +++ b/Assembly-CSharp/ModLoader.cs @@ -241,12 +241,14 @@ Assembly Resolve(object sender, ResolveEventArgs args) // Setup dict of scene preloads GetPreloads(orderedMods, scenes, toPreload, sceneHooks); - - if (toPreload.Count > 0 || sceneHooks.Count > 0) + + /*if (toPreload.Count > 0 || sceneHooks.Count > 0) { Preloader pld = coroutineHolder.GetOrAddComponent(); yield return pld.Preload(toPreload, preloadedObjects, sceneHooks); - } + }*/ + Preloader pld = coroutineHolder.GetOrAddComponent(); + yield return pld.Preload(toPreload, preloadedObjects, sceneHooks); foreach (ModInstance mod in orderedMods) { diff --git a/Assembly-CSharp/Patches/StartManager.cs b/Assembly-CSharp/Patches/StartManager.cs index da750f85..fc965142 100644 --- a/Assembly-CSharp/Patches/StartManager.cs +++ b/Assembly-CSharp/Patches/StartManager.cs @@ -16,19 +16,19 @@ namespace Modding.Patches [MonoModPatch("global::StartManager")] public class StartManager : global::StartManager { - private bool startedPreloading = false; private MonoBehaviour modLoaderObj = null; private extern void orig_Awake(); - private void Awake() { // i love working with self-contained libraries where one has to work around cyclic dependencies ReflectionHelper.SetField(typeof(TeamCherry.Localization.Language), "LanguageGet", ModHooks.LanguageGet); + + orig_Awake(); + if (ModLoader.LoadState == ModLoader.ModLoadState.NotStarted) { Logger.APILogger.Log("Main menu loading"); - startedPreloading = true; ModLoader.LoadState = ModLoader.ModLoadState.Started; GameObject obj = new GameObject(); @@ -45,8 +45,6 @@ private void Awake() // Debug log because this is the expected code path Logger.APILogger.LogDebug($"StartManager: Already begun mod loading (state {ModLoader.LoadState})"); } - - orig_Awake(); } [MonoModIgnore] @@ -72,13 +70,9 @@ private void Awake() private IEnumerator Start() { this.controllerImage.sprite = this.GetControllerSpriteForPlatform(this.platform); - - AsyncOperation loadOperation = null; - if (!startedPreloading) - { - loadOperation = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync("Menu_Title"); - loadOperation.allowSceneActivation = false; - } + // AsyncOperation loadOperation = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync("Menu_Title"); + AsyncOperation loadOperation = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync("Quit_To_Menu"); + loadOperation.allowSceneActivation = false; Platform.Current.SetSceneLoadState(true, false); if (!this.CheckIsLanguageSet() && Platform.Current.ShowLanguageSelect) { @@ -125,12 +119,14 @@ private IEnumerator Start() } this.startManagerAnimator.SetBool("WillShowControllerNotice", false); this.startManagerAnimator.SetBool("WillShowQuote", true); + /* ################################################################################################################################## */ // this.startManagerAnimator.SetTrigger("Start"); // int loadingIconNameHash = Animator.StringToHash("LoadingIcon"); // while (this.startManagerAnimator.GetCurrentAnimatorStateInfo(0).shortNameHash != loadingIconNameHash) // { // yield return null; // } + /* ################################################################################################################################## */ UnityEngine.Object.Instantiate(this.loadSpinnerPrefab).Setup(null); bool didWaitForPlayerPrefs = false; while (!Platform.Current.IsPlayerPrefsLoaded) @@ -150,16 +146,13 @@ private IEnumerator Start() { Debug.LogFormat("Finished waiting for PlayerPrefs load.", Array.Empty()); } + + //modLoaderObj.StartCoroutine(ModLoader.LoadModsInit(modLoaderObj.gameObject)); + yield return ModLoader.LoadModsInit(modLoaderObj.gameObject); + Platform.Current.SetSceneLoadState(true, true); - if (!startedPreloading) - { - loadOperation.allowSceneActivation = true; - yield return loadOperation; - } - else - { - modLoaderObj.StartCoroutine(ModLoader.LoadModsInit(modLoaderObj.gameObject)); - } + loadOperation.allowSceneActivation = true; + yield return loadOperation; yield break; } } diff --git a/Assembly-CSharp/Preloader.cs b/Assembly-CSharp/Preloader.cs index 468c4393..22e37bdd 100644 --- a/Assembly-CSharp/Preloader.cs +++ b/Assembly-CSharp/Preloader.cs @@ -87,7 +87,10 @@ Dictionary>> sceneHooks break; } - yield return CleanUpPreloading(); + if (toPreload.Count > 0 || sceneHooks.Count > 0) + { + yield return CleanUpPreloading(); + } UnmuteAllAudio(); Logger.APILogger.LogError($"Finished preloading in {stopwatch.ElapsedMilliseconds / 1000:F2}s"); @@ -105,6 +108,11 @@ private IEnumerator DoPreloadAssetBundle Dictionary>> sceneHooks ) { + if (toPreload.Count <= 0 && sceneHooks.Count <= 0) + { + yield break; + } + const string PreloadBundleName = "modding_api_asset_bundle"; string preloadJson = JsonConvert.SerializeObject @@ -226,6 +234,11 @@ private IEnumerator DoPreloadRepackedScenes Dictionary>> sceneHooks ) { + if (toPreload.Count <= 0 && sceneHooks.Count <= 0) + { + yield break; + } + const string PreloadBundleName = "modding_api_scene_bundle"; string preloadJson = JsonConvert.SerializeObject(toPreload.ToDictionary(k => k.Key, v => v.Value.SelectMany(x => x.Preloads).Distinct())); @@ -297,6 +310,11 @@ private IEnumerator DoPreloadScenes float progressBeta = 0 ) { + if (toPreload.Count <= 0 && sceneHooks.Count <= 0) + { + yield break; + } + List sceneNames = toPreload.Keys.Union(sceneHooks.Keys).ToList(); Dictionary scenePriority = new(); Dictionary sceneAsyncOperationHolder = new(); From efafedb696136e2b2207670b7dd115bd84760b5d Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 30 May 2026 19:46:23 +0200 Subject: [PATCH 45/54] dont add unused slnx --- HollowKnight.Modding.API.slnx | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 HollowKnight.Modding.API.slnx diff --git a/HollowKnight.Modding.API.slnx b/HollowKnight.Modding.API.slnx deleted file mode 100644 index 8cbea0c4..00000000 --- a/HollowKnight.Modding.API.slnx +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - From 0a5fe2010b5c9024eb32cbeaeab287d2ec74a851 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 30 May 2026 19:55:31 +0200 Subject: [PATCH 46/54] dont disable implicit framework references and do build the tc localization assembly --- Assembly-CSharp/Assembly-CSharp.csproj | 1 - HollowKnight.Modding.API.sln | 4 ++++ TeamCherry.Localization/TeamCherry.Localization.csproj | 1 - 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Assembly-CSharp/Assembly-CSharp.csproj b/Assembly-CSharp/Assembly-CSharp.csproj index 528b5286..a2e44c4f 100644 --- a/Assembly-CSharp/Assembly-CSharp.csproj +++ b/Assembly-CSharp/Assembly-CSharp.csproj @@ -10,7 +10,6 @@ true packages latest - true diff --git a/HollowKnight.Modding.API.sln b/HollowKnight.Modding.API.sln index ca764506..7bf7761c 100644 --- a/HollowKnight.Modding.API.sln +++ b/HollowKnight.Modding.API.sln @@ -33,6 +33,10 @@ Global {CE61CBC8-9373-4C5B-BA15-DED48888DB73}.Debug|Any CPU.Build.0 = Debug|Any CPU {CE61CBC8-9373-4C5B-BA15-DED48888DB73}.Release|Any CPU.ActiveCfg = Release|Any CPU {CE61CBC8-9373-4C5B-BA15-DED48888DB73}.Release|Any CPU.Build.0 = Release|Any CPU + {E06FBDDA-0A27-45EC-AC28-259C23715707}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E06FBDDA-0A27-45EC-AC28-259C23715707}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E06FBDDA-0A27-45EC-AC28-259C23715707}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E06FBDDA-0A27-45EC-AC28-259C23715707}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/TeamCherry.Localization/TeamCherry.Localization.csproj b/TeamCherry.Localization/TeamCherry.Localization.csproj index 8cbeabd5..e293d2a1 100644 --- a/TeamCherry.Localization/TeamCherry.Localization.csproj +++ b/TeamCherry.Localization/TeamCherry.Localization.csproj @@ -10,7 +10,6 @@ true packages latest - true From f7837fb8d6fe501cf5e7a8981576c20f74ae7afc Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 30 May 2026 20:06:41 +0200 Subject: [PATCH 47/54] works offline, so check CI later --- Assembly-CSharp/Assembly-CSharp.csproj | 1 + TeamCherry.Localization/TeamCherry.Localization.csproj | 1 + 2 files changed, 2 insertions(+) diff --git a/Assembly-CSharp/Assembly-CSharp.csproj b/Assembly-CSharp/Assembly-CSharp.csproj index a2e44c4f..528b5286 100644 --- a/Assembly-CSharp/Assembly-CSharp.csproj +++ b/Assembly-CSharp/Assembly-CSharp.csproj @@ -10,6 +10,7 @@ true packages latest + true diff --git a/TeamCherry.Localization/TeamCherry.Localization.csproj b/TeamCherry.Localization/TeamCherry.Localization.csproj index e293d2a1..8cbeabd5 100644 --- a/TeamCherry.Localization/TeamCherry.Localization.csproj +++ b/TeamCherry.Localization/TeamCherry.Localization.csproj @@ -10,6 +10,7 @@ true packages latest + true From 3aa023660e1fc7a7a6f5a9dc44b007eb6c08062f Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 30 May 2026 20:06:53 +0200 Subject: [PATCH 48/54] maybe try dotnet 10.x --- .github/workflows/build.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index fe822203..2f58bd61 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -60,7 +60,9 @@ jobs: macos) echo "RID=osx-x64" >> $GITHUB_ENV ;; esac - - uses: actions/setup-dotnet@v4 + - uses: actions/setup-dotnet@v5 + with: + dotnet-version: 10.x - name: Setup MSBuild run: | sudo apt-get update -y From 9b7296d435dac004200bfaf83b55ce496bfa6d99 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sat, 30 May 2026 20:54:49 +0200 Subject: [PATCH 49/54] tc localization patch doesn't need to reference runtimedetour or pre/postpatchers & do build the tc localization --- .github/workflows/build.yaml | 6 +++++- Assembly-CSharp/Assembly-CSharp.csproj | 4 ++-- HollowKnight.Modding.API.sln | 10 ++++----- .../TeamCherry.Localization.csproj | 21 ++----------------- 4 files changed, 14 insertions(+), 27 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 2f58bd61..69f5491e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -70,9 +70,13 @@ jobs: - name: Restore Dependencies run: | dotnet restore - - name: Build PrePatcher + - name: Build PrePatcher & PostPatcher run: | dotnet build PrePatcher -o PrePatcher/Output -p:Configuration=Release + dotnet build PostPatcher -o PostPatcher/Output -p:Configuration=Release + - name: Build TC assembly patches + run: | + dotnet build TeamCherry.Localization --runtime $RID -p:Configuration=Release - name: Build Assembly-CSharp run: | dotnet build Assembly-CSharp --runtime $RID -p:Configuration=Release diff --git a/Assembly-CSharp/Assembly-CSharp.csproj b/Assembly-CSharp/Assembly-CSharp.csproj index 528b5286..c40e518e 100644 --- a/Assembly-CSharp/Assembly-CSharp.csproj +++ b/Assembly-CSharp/Assembly-CSharp.csproj @@ -125,11 +125,11 @@ - + full bin\$(Configuration)\Assembly-CSharp.mm.xml - + pdbonly bin\$(Configuration)\Assembly-CSharp.mm.xml diff --git a/HollowKnight.Modding.API.sln b/HollowKnight.Modding.API.sln index 7bf7761c..373de31f 100644 --- a/HollowKnight.Modding.API.sln +++ b/HollowKnight.Modding.API.sln @@ -9,7 +9,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly {CE61CBC8-9373-4C5B-BA15-DED48888DB73} = {CE61CBC8-9373-4C5B-BA15-DED48888DB73} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TeamCherry.Localization", "TeamCherry.Localization/TeamCherry.Localization.csproj", "{E06FBDDA-0A27-45EC-AC28-259C23715707}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TeamCherry.Localization", "TeamCherry.Localization/TeamCherry.Localization.csproj", "{01234567-89AB-CDEF-0123-456789ABCDEF}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PrePatcher", "PrePatcher/PrePatcher.csproj", "{E06FBDDA-0A27-45EC-AC28-259C23715C50}" EndProject @@ -33,10 +33,10 @@ Global {CE61CBC8-9373-4C5B-BA15-DED48888DB73}.Debug|Any CPU.Build.0 = Debug|Any CPU {CE61CBC8-9373-4C5B-BA15-DED48888DB73}.Release|Any CPU.ActiveCfg = Release|Any CPU {CE61CBC8-9373-4C5B-BA15-DED48888DB73}.Release|Any CPU.Build.0 = Release|Any CPU - {E06FBDDA-0A27-45EC-AC28-259C23715707}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E06FBDDA-0A27-45EC-AC28-259C23715707}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E06FBDDA-0A27-45EC-AC28-259C23715707}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E06FBDDA-0A27-45EC-AC28-259C23715707}.Release|Any CPU.Build.0 = Release|Any CPU + {01234567-89AB-CDEF-0123-456789ABCDEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {01234567-89AB-CDEF-0123-456789ABCDEF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {01234567-89AB-CDEF-0123-456789ABCDEF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {01234567-89AB-CDEF-0123-456789ABCDEF}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/TeamCherry.Localization/TeamCherry.Localization.csproj b/TeamCherry.Localization/TeamCherry.Localization.csproj index 8cbeabd5..5bf8bb4d 100644 --- a/TeamCherry.Localization/TeamCherry.Localization.csproj +++ b/TeamCherry.Localization/TeamCherry.Localization.csproj @@ -13,11 +13,11 @@ true - + full bin\$(Configuration)\TeamCherry.Localization.mm.xml - + pdbonly bin\$(Configuration)\TeamCherry.Localization.mm.xml @@ -26,23 +26,6 @@ all - - - all - - - - all - - - - - - false - - - false - From 271f65c6aa87852378f12cc292f01f670fb3e0d9 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sun, 31 May 2026 00:47:39 +0200 Subject: [PATCH 50/54] this also works locally & does use the overridden mscorlib again --- Assembly-CSharp/Assembly-CSharp.csproj | 17 ++++++++++------ PostPatcher/PostPatcher.csproj | 20 ++++++++++++++++++- PrePatcher/PrePatcher.csproj | 20 ++++++++++++++++++- .../TeamCherry.Localization.csproj | 15 ++++++++------ 4 files changed, 58 insertions(+), 14 deletions(-) diff --git a/Assembly-CSharp/Assembly-CSharp.csproj b/Assembly-CSharp/Assembly-CSharp.csproj index c40e518e..101fea62 100644 --- a/Assembly-CSharp/Assembly-CSharp.csproj +++ b/Assembly-CSharp/Assembly-CSharp.csproj @@ -3,6 +3,7 @@ Modding Assembly-CSharp.mm net472 + Hollow Knight - Mod API Enabled Modding API Copyright © 2017 @@ -10,7 +11,6 @@ true packages latest - true @@ -96,6 +96,8 @@ + + @@ -170,15 +172,18 @@ - - + + + - - - + + + + + diff --git a/PostPatcher/PostPatcher.csproj b/PostPatcher/PostPatcher.csproj index 477e2a48..df750cdf 100644 --- a/PostPatcher/PostPatcher.csproj +++ b/PostPatcher/PostPatcher.csproj @@ -2,6 +2,7 @@ Exe net472 + true PostPatcher PostPatcher @@ -19,7 +20,7 @@ - + @@ -38,4 +39,21 @@ all + + + + + + + + + + + + + + + + + diff --git a/PrePatcher/PrePatcher.csproj b/PrePatcher/PrePatcher.csproj index 57f3cbcb..f4c989a1 100644 --- a/PrePatcher/PrePatcher.csproj +++ b/PrePatcher/PrePatcher.csproj @@ -2,6 +2,7 @@ Exe net472 + true PrePatcher PrePatcher @@ -19,7 +20,7 @@ - + @@ -38,4 +39,21 @@ all + + + + + + + + + + + + + + + + + diff --git a/TeamCherry.Localization/TeamCherry.Localization.csproj b/TeamCherry.Localization/TeamCherry.Localization.csproj index 5bf8bb4d..375cefca 100644 --- a/TeamCherry.Localization/TeamCherry.Localization.csproj +++ b/TeamCherry.Localization/TeamCherry.Localization.csproj @@ -3,6 +3,7 @@ Modding TeamCherry.Localization.mm net472 + Hollow Knight - Mod API Enabled Modding API Copyright © 2017 @@ -10,7 +11,6 @@ true packages latest - true @@ -30,15 +30,18 @@ - - + + + - - - + + + + + From e7282dbabfaef28f58cc4600d5e3c7c87ebcb848 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Sun, 31 May 2026 19:42:09 +0200 Subject: [PATCH 51/54] disable implicit framework references don't reference System.Data.DataSetExtensions, Microsoft.CSharp & System.Net.Http do reference most vanilla assemblies don't have assemblyinfos update copyright & use forward slashes --- Assembly-CSharp/Assembly-CSharp.csproj | 13 ++++---- Assembly-CSharp/Properties/AssemblyInfo.cs | 3 -- PostPatcher/PostPatcher.csproj | 31 +++++++------------ PostPatcher/Properties/AssemblyInfo.cs | 9 ------ PrePatcher/PrePatcher.csproj | 31 +++++++------------ PrePatcher/Properties/AssemblyInfo.cs | 9 ------ .../TeamCherry.Localization.csproj | 13 ++++---- 7 files changed, 36 insertions(+), 73 deletions(-) delete mode 100644 Assembly-CSharp/Properties/AssemblyInfo.cs delete mode 100644 PostPatcher/Properties/AssemblyInfo.cs delete mode 100644 PrePatcher/Properties/AssemblyInfo.cs diff --git a/Assembly-CSharp/Assembly-CSharp.csproj b/Assembly-CSharp/Assembly-CSharp.csproj index 101fea62..4d1e8884 100644 --- a/Assembly-CSharp/Assembly-CSharp.csproj +++ b/Assembly-CSharp/Assembly-CSharp.csproj @@ -6,11 +6,12 @@ Hollow Knight - Mod API Enabled Modding API - Copyright © 2017 - bin\$(Configuration)\ + Copyright © 2026 + bin/$(Configuration)/ true packages latest + true @@ -181,9 +182,9 @@ - - - - + + + + diff --git a/Assembly-CSharp/Properties/AssemblyInfo.cs b/Assembly-CSharp/Properties/AssemblyInfo.cs deleted file mode 100644 index 3be76136..00000000 --- a/Assembly-CSharp/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,3 +0,0 @@ -using System.Runtime.InteropServices; -[assembly: ComVisible(false)] -[assembly: Guid("1cacea6a-d114-46b1-8c47-f2f92062b844")] diff --git a/PostPatcher/PostPatcher.csproj b/PostPatcher/PostPatcher.csproj index df750cdf..e3078398 100644 --- a/PostPatcher/PostPatcher.csproj +++ b/PostPatcher/PostPatcher.csproj @@ -6,34 +6,25 @@ true PostPatcher PostPatcher - Copyright © 2019 - bin\$(Configuration)\ - 9 + Copyright © 2026 + bin/$(Configuration)/ + latest + true - - full - - - - pdbonly + + full + pdbonly - - - - - - - all @@ -51,9 +42,9 @@ - - - - + + + + diff --git a/PostPatcher/Properties/AssemblyInfo.cs b/PostPatcher/Properties/AssemblyInfo.cs deleted file mode 100644 index 5010e0c8..00000000 --- a/PostPatcher/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Runtime.InteropServices; - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("e06fbdda-0a27-45ec-ac28-259c23715c51")] diff --git a/PrePatcher/PrePatcher.csproj b/PrePatcher/PrePatcher.csproj index f4c989a1..3f4b6c3a 100644 --- a/PrePatcher/PrePatcher.csproj +++ b/PrePatcher/PrePatcher.csproj @@ -6,34 +6,25 @@ true PrePatcher PrePatcher - Copyright © 2019 - bin\$(Configuration)\ - 9 + Copyright © 2026 + bin/$(Configuration)/ + latest + true - - full - - - - pdbonly + + full + pdbonly - - - - - - - all @@ -51,9 +42,9 @@ - - - - + + + + diff --git a/PrePatcher/Properties/AssemblyInfo.cs b/PrePatcher/Properties/AssemblyInfo.cs deleted file mode 100644 index 854da53c..00000000 --- a/PrePatcher/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Runtime.InteropServices; - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("e06fbdda-0a27-45ec-ac28-259c23715c50")] diff --git a/TeamCherry.Localization/TeamCherry.Localization.csproj b/TeamCherry.Localization/TeamCherry.Localization.csproj index 375cefca..32e381a6 100644 --- a/TeamCherry.Localization/TeamCherry.Localization.csproj +++ b/TeamCherry.Localization/TeamCherry.Localization.csproj @@ -6,11 +6,12 @@ Hollow Knight - Mod API Enabled Modding API - Copyright © 2017 - bin\$(Configuration)\ + Copyright © 2026 + bin/$(Configuration)/ true packages latest + true @@ -39,9 +40,9 @@ - - - - + + + + From c538a6436b81f4f2c3267126521e02ca2d749640 Mon Sep 17 00:00:00 2001 From: Yusuf Bham Date: Sun, 15 Feb 2026 21:11:23 -0500 Subject: [PATCH 52/54] Use FrameworkOverridePath for Unity's mscorlib I'd love to use netstandard2.1 instead but it doesn't seem to play well with the prepatcher relinking. This seems to work rather well though. Co-authored-by: "ZackCodes.ai" --- Assembly-CSharp/Assembly-CSharp.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Assembly-CSharp/Assembly-CSharp.csproj b/Assembly-CSharp/Assembly-CSharp.csproj index 4d1e8884..5f124eee 100644 --- a/Assembly-CSharp/Assembly-CSharp.csproj +++ b/Assembly-CSharp/Assembly-CSharp.csproj @@ -12,6 +12,7 @@ packages latest true + $(MSBuildProjectDirectory)/../Vanilla From dd61c90f53053c14c9403675040ef289e7a5df99 Mon Sep 17 00:00:00 2001 From: Yusuf Bham Date: Mon, 1 Jun 2026 16:32:58 -0400 Subject: [PATCH 53/54] Assembly-CSharp: stop overriding mscorlib Seems like the newest bump gave us an mscorlib that has the reflection stuff baked in, so there's no point in keeping this around. We otherwise would've had to bump this anyways, so this is an overall win. --- Assembly-CSharp/Assembly-CSharp.csproj | 6 +- PostPatcher/PostPatcher.csproj | 5 +- PrePatcher/PrePatcher.csproj | 7 +- .../TeamCherry.Localization.csproj | 7 +- override/mscorlib.dll | Bin 4064768 -> 0 bytes override/mscorlib.xml | 98505 ---------------- 6 files changed, 10 insertions(+), 98520 deletions(-) delete mode 100644 override/mscorlib.dll delete mode 100644 override/mscorlib.xml diff --git a/Assembly-CSharp/Assembly-CSharp.csproj b/Assembly-CSharp/Assembly-CSharp.csproj index 5f124eee..bc3c1585 100644 --- a/Assembly-CSharp/Assembly-CSharp.csproj +++ b/Assembly-CSharp/Assembly-CSharp.csproj @@ -1,4 +1,4 @@ - + Modding Assembly-CSharp.mm @@ -98,8 +98,6 @@ - - @@ -188,4 +186,4 @@ - + \ No newline at end of file diff --git a/PostPatcher/PostPatcher.csproj b/PostPatcher/PostPatcher.csproj index e3078398..7aaf0d5f 100644 --- a/PostPatcher/PostPatcher.csproj +++ b/PostPatcher/PostPatcher.csproj @@ -1,4 +1,4 @@ - + Exe net472 @@ -34,8 +34,7 @@ - - + diff --git a/PrePatcher/PrePatcher.csproj b/PrePatcher/PrePatcher.csproj index 3f4b6c3a..33fc7e56 100644 --- a/PrePatcher/PrePatcher.csproj +++ b/PrePatcher/PrePatcher.csproj @@ -1,4 +1,4 @@ - + Exe net472 @@ -34,8 +34,7 @@ - - + @@ -47,4 +46,4 @@ - + \ No newline at end of file diff --git a/TeamCherry.Localization/TeamCherry.Localization.csproj b/TeamCherry.Localization/TeamCherry.Localization.csproj index 32e381a6..49c94a27 100644 --- a/TeamCherry.Localization/TeamCherry.Localization.csproj +++ b/TeamCherry.Localization/TeamCherry.Localization.csproj @@ -1,4 +1,4 @@ - + Modding TeamCherry.Localization.mm @@ -32,8 +32,7 @@ - - + @@ -45,4 +44,4 @@ - + \ No newline at end of file diff --git a/override/mscorlib.dll b/override/mscorlib.dll deleted file mode 100644 index bd246df606330a8547f24a9f5f981409f09eb501..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4064768 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

+7Cs?5b?5JYS<;_H9js;a|Xb>u7 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

H7HTgCIE7DoUa|uiYq# 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 z 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%0A{7lg)&0hdBbkD41H8tt| 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

l|1cS@+KWOL-K9{ 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

6%@an5Lu*Cj0=ihs-O;>rzAK}O>vq7oQm+H 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

MPJ0H&-}hFCOsh-H>(jtnIykfzyk9o<6{K&g~D+ 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

  • j)k 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
    Di`7B2gXGwpA*oo#-h`!4jz#+9&DXwd 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

    fS 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 z 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

    oq3$TZY))5FG}$J# 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 z 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

    <6obP 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 sVdT|f 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

    IQi+rOl8lemNU@o@cG;ScVH~B+Xe2i~# z098IBzi5F07=lq)f^GO7*O93Y+lH>_jX{`*KcV)ezrzV+>PJ~&GhR%g4p9>I@jkj^ zG*Yn^hwv)`{i$;#VJ^1gB5tGI0QzzKhz1{PqWD0jLk%>*RLsFf?8D9>nz(~HpRz9u zW8WP|n;%a-Or))%*(BOLQYO<^VIL0TJZ@s?m-K%NSU1dtY!mXKDr%!CrlRg5@`{^y zW-;r+d?YNP4zL;b@yt^4k50=pu>j$<>qSGe!0Sv%bm<=OM6CpH0b9BRQ9L6==foC(*VHEa2 z-9rDmRTI^>(HEfI4*CgX*{O+Se2vq{yNh~4JKR97-IP1-;i+$F%czVNIF3iiyN7m! zrq~YUJIV@qP#P<-3qPR5UQJX$O)S7QB_jg5GJKidM|0rGZ`e0)#ekHv>L zUjD$gV=0be{9(!mE0FC7Z4#64EfSBi@1hEtpfe`p0U8}+emr%Y^_*Zo$1xZ`a!f#V zjKFgz*-q5Qv!`i4Scfx~vzmDNXUYwY&XG^FK?l5ep0P4G+T3KF zSc+44`W9^nD{vgwkoPv{9vF`_+=F_D@$9{x=V;@5)R6t|2#|*5%4jjcf{DpkK zvwz@ye2G;!2IUXh01D$Zyp1+kj;wd-k5CiM&=O41);uNwxqAc(LMgL+u(F=nx5%aJO8UJQK zMM0s9*YO@c#3_vT=;9aL!d>K6bkQEe(N@((Mokwr(HI}#Q=G*J!Sic^`$QgUo~$W`1WrXS}mKXF1ON&hni3Z`9xu3hQYbTW-Hm^n@&LHtVyVFL%-!b-5zN z7Xh67zI9y)Gj9BKHf8|-zr=ilN$bVNd;B~F7$(1e@=bo8Q*RwhH$TM{&_wPI@@)d{ z6H_mb^Sy&7_~uIGkm>A5L7 zcy5XAp4+0o=bjkgxi1EK9*Du7hvGBOU*Zdo;u-7FJrg}%&m@n}^QGqn&sUxto>b3^ zo>`t;o;jX8p81}EC zJ(oON6d;air@!a*Kc-_Ib)H2Rv^o2R#jx z?>$YGQ=V4J8P5XctY@L}lV_1~$+JZH#j{Mg>RGPb@T^hpdJZZNJlB+mp6klro|}rI z+*VZOuA(Uc)vJV5pAuGsN^Uh#DW^WEyrw>-)Ki~U>Z=)*hUzm)BQ=ZCM15XKR$ow> zs@atf)f`H9HJ8#y&7<^J^D7^#1(bnmL1mCySQ)IoqD)d>Ri>yVl~lEiGF>gJ%uvfI zGu86SEVY6%Tdklv9e!HRt~A}DL<$! zmBVT)<(S%9Ij*)*epK5kC)IY!DYd3YD1WLwl?Q4s!^hMk#r;(Mn!ztddU~r{vcrCTdma9)+qI~bxM70v(iG_qO{buDy_6_ zN^5Pq(ni~%wAFSh?X+EdP};4$uYId@(Do=DweOTp+Fqrzwomy$+pl!d4k%rhVNa>~hsPxv(DIaMUls?)uB}Kcfe4_oXEY$8QOSOB-a_vuLmG+miM$DkrtdJeUs{-Ro0&!tw=^Qd+7ylQE+eAdL?y*UPaxkS5?2$tEorzn(A@AmU=?3tzOXUs2BBm z>K}T2^-ujB^?}|%RlE&Vzqhe!dYh?Pye-t{y{*+3y=~Nd-nMEvZ+rDE@B3;EZ%4Jh zx0{;m?XI@;_E1}Sd#athz0~gBK57qdKeeYfMeXJ7ua5Q(P-l2QR%dz#t8=}dsPnu- z)cM{~>N4+Wb+vbly3RXJ-Qb;~Zt{MmZt+f2_j_lmhrM&uQ{K7i&))g!Meic@x_2>` z%)eF@W36f$X==dOtR@&+)I?*O`k1j@eahIOK4+bmrZ-smt8C6%b}I^y{J|6<Cfm#>@V_4m_) z{()N9KUjOg|CyG}KTgZ;pQ63!pQh#VPuFt$XKQ)<^R>MG1zI8hQtf5`*V-%om0A)1 zI_*{eH(E*m2CbBTllHnlO{?VJtX1`I(`xv4Xm$KMwMPEKT2uc|T1)@WT6_OFt)u_E z_JRL`*2RBO`_O+$>+Zj*_4NO$_4Z%W`uJ~Z{rtDI6#pOE0RIDRj{l)H*Dv&Wenns6 z59rJNLH%q0Q~C;jMt!CK8GV&Mlm3lAv%cP+Mc?3mPT%Iws_*bWukZ9{*LVA0)c5*x z>ihh;^aK9f`aypl{gA(ae%Sw#e#Bo?Kk6@~ANQBmfAp8tPx&k8r~R+%XZ@A*i~cJ5 zC4W`@hQFGA%m0@Cm%om#np~GO>+3%A9o;k==!s@S{Ry+N{*>87&uG4@KW{eEbD8hy z11(ubO<`Y?04KGK|}k27cM6U{mLm*!l3iaAeDHRtQo z%*Fa_bE&?_T&6EEm+MQ-75XM~rJiQ4(l?uH^lj!keW&@2zT4cW?=d&&-%w76HbFY5L+^7Fw?$-~S2lNx>LH$Sbd;O$&LO*Z*sNXbC>$lA_`W^Ep z{WtSx{jPaYzi(dB|1_`Y56r9jU*@m+-{y5)1a9bR;HGW{Zt01EJ9?(TZ~C)=-}Nkk zyZUp1dpa*5_wqeY?~5E5^93|-!GP{99q@XS0zPlKfZtmoV0tSB0^XW|ptn{a?5!P0 z^wteL<9#QP#oHk8oVQ6Jt2a6Dy!XAp3*P2|Y~B`u?B14v9Nsp8oZhy9Jl^*M1-xAX zg}nU&FM0b1igFWu zgWfv96W;p4AH5BNr@bA6XS|(*XT4p5KY64yzcE4yx|=f zyy+btyyg8oc*i>?c+Wd7_|Q8s_{cjs=rN`R6=POVHRc5i7)ydL87qT@jrGA|#^zvg zV_UGKu`^i8*cB{md>2eI_692$`+~0<2ZC=H2ZNQ2AA(hkBf+Z1(O@;>Sny5bcsJ)?wIvCzi zN5dEDWcWj!4KwtC5eRiP5<}gMCqg}qCquoAXF|P=Y@xnJ_E0|~M<~U}8R~E33Jo-J zhlU$@LL-d4q0fx`q0fy1p)ZVrp^-+R&?uvLXtYr(G}fpX8fUy78gEnzO)#p2CL2{l zUmDdzQ;Zs+X-2KkbmQ&N45Mynrcp06+h`D)V>ArSH5!E$8I41WjV7Tb#=D`fjpWcu zqiJZB@m^?+(LA))Xcby#v<|H|+JrV3?Lr%k_d}bEj-fQ8b7-s4Ews((5!z|=4DB*L z3hg%fhQ2cfhV~mHLI;e`LkEqKq3?|`p+m;l&=1D=&|zaj=!h{Xbj$JiFjj>w8f!wAjCG;Q z#`@3|V`JzSBQ12**cSTL*b%yB>6%bl<~}*Y_yo_xZ!7FAxs;g5i)a z6b}0m!U?{o!;kwihoAK24L|KG7S8A^7kvOXNcctH z&~Q%Qr{P?_Vc|T!;o-c#5#d6<&%-bIMurRfMulJTjSd&_jR_a^jSau*8y_y^n-DJT zn-nhN`!Za`H#Pj0FEw1lH!WP#H$7a-HzQozH#1zvH!EDvH#_`}Z%(*@Z*I7uZ(g{u zZ+^ImZ$Y@ZZ(+EFZ&A3NZ%MeLZ)v!bZ&|prZ+W=8@9S_+-^y@r->UFX-leH+55zK!7-zRls8zAfR|zHQ;TzU|?8z8&EOzMbKPzFpx(zTM%)zHh_J ze0##necy#w`1XcZ`u2s_`Sypu@f`@S_Z8^!*Ut zT*mKBDDQtJ;WhsY2^Iah5-RyiCRFy9O{nUxolwi)CZUf1gM|A2)Px59X$g(}vlE*5 z=On!ApPSIeKQG~Z|NMjw{)Gv>{7VuB_?ITk@h?l5>tCKQ-@iIxp?__{B7a)KV*k#B zCH`FrOa1#3miZ4SEcgGI@U{QvgcbhF2`l|K5?1+dCam_~O<3c5^4CZ_;;)@})L$p@n7?u2aevdq6aMCjC;crFPx)IX zp7ys(JmYVlc-H@Z;!pn0i9h>$C7$#5Pdx7*lz72EEb*d$Wa1_NsKm?uv58mw6B2*% zPfWb(pOkpr|7GG0|E$ED{<(>_{L2$>`?n?D@$X9f&Hr8EUH^f^KmBJDANbEFKJ;Hq zeB{5B_?Q1`qA;%|D&~zu&AgN7HGfYu%s&$S=KVy|e2^G2A0~#)zY`Np5s8>eB!j6& zo-p;u)20#0X!;}1m}VrC8H{8$Ly>3Aa3qVF5P88&jAS!2L~@#sNAj3YM)H|YMGBa? zA_dL-kwWH6k(bPuBZbXkk(bR9kyp%DBSp-Tk)md)NHMc?q=Z=}QpPMBDQhN0lFV|E za%TBRdGoc%Yi5N=b+cmRE%S{?O|wd*wplguwplGw$E+TyYu1R=H)}@TF&ji0n2jUv zn(s!Mo5_(@=6jLWX7flJvsI+6**?>PRD{2=Nl>_KI{h`$Rr8`$oE%{UY7X zk0breVUZMbcx0eCA~MMQEHcFWJTlB29T{#;jC^KJiF|I(h>SF6M@E@*BBRYEk+J5o zNUFI!GTmGqnPskv%r-Yg=9rr!^UQ6L73Q~*i{_rlCG&9PSMzA(nt3vE!~7|7)4UY9 zZC;MtF@K5tZeEStGk=ZzY2Jx=0)Ir5z}<)%xF691e@66xKZ7?A%wPtd%8(eynBlQN zrVLpEnKN*GtS#TL<{Fw1ElpL-o5R=t#gjoN8d#2JkfXy^l;#_KbFHzvKI6VjH2Q5i zcdnw*`{lVt7>%sye)^Z_xp90`Yo0alS3HxPDH^3WOwKFER_UROCiAU%PrS@^(r9#{ zvJ?Hg(}noHw4Hzz?uk1hFwG@jImE_v-wJQooygPPl%?XcEsmylfB z8>P61%=-bjrt0RoTr($EAJanYrR?v|GZ)e6WbWs2Db}vR0ZX0fUgr5GI|ni^a%~Hl z!`|M^8sEQ&E>Et*+K#KyVI^+!4fg1E>~iOj>z(j4&yPg6t#C6TcJj6Y-V{>VDT8uP zI60V2+1t5aGT12tx#Z?=@bpl0-t~MR%#OZuhdup;GiyF0++bwBcJ3i@tN0e6^`FZ?2HjPH(%z0=!ef zUdQe!&OTF|_a)g&_6%@pe_v-2n@-k3=2FhQ+qipRw}>YeIyF;qyc5Z`F>xr@&No}- z+~adDibeM$S#NSF){^adD{|0j?PH&DmS^op6Si1Ov7)b{(GzXCry7l99m&?@)A^=B zbnJE7iyeK-Hy!LPmvz~iw{+R-m96Ay?kL%%A=_kb#aW76@BXH|Z)cm8D>*E^y!>o^ zLn2yl4L)(UO}0AO5@lZGdSy;!?lpHQ_i5?&lGj_`tcY%}^}QQAl6$S(qU$_GW^b?G z-Q&}4IJIw;ZrA7*6`~C6y{ye8O{7GJO?!r?K%;xvbe|p@`}rL1w(;f)A(jqx`UBZs zWKYw1v(sYNt#R^f^^8r=Lhi5@?y!f4 z_=ZDtx~2TJqxdvvYh#URclyCFwvdXX1I;TDwx%vB(7WUR|YixG6OvkuonzN(R58dIJ zKs)zo*PUUC+oNA_+r4!zVE5jSS9N+@**fKPnN~S_qwED_A8~BHGxks|XN#7(`*h}d zPD#o=CAGQJ>b@W7Z$O>|1sp_V2FuNuGJG$U94fkbRx3qdZ%k z`rWb3iC)>|L=C1n^&$Hb(cC%y%KqTMXFS6g-Q(q+vQBl5jk129ti(HO4qAD+p1@Hu z8kGw;Ym=>MxO-0Xh`Y;n`&&4|BewFc6Cuvz*2TqW^fCLsT`nmDoHDiE*I@F#6CuV9 z^~8D$xfHd$(@F}`O6=yrDA7(v6VYje8 z^_|vK+|7Nyk$iJHgS8!*t2p~$hX&4c2NRt3vWz~~J~GLYyuH*Z4eJPIkF_HE^Nc)} zr8jI?cHXSWTGKB-Irer@-naMoe^$=vP4{FO-Wd0PILC3`E;szYJ#W5hLhSgzxs;kh zc%S$`D+9Sjak+ArSEDZH-kFKDQhdU@Pv%rV%N9OV}01; zd}g$JvqgXK{-@}t#a`8&sK|%TC&-m;_;zu0?5KJ?FB6SwbalplKirw)Y%6EFua-KW z1CH@TjJ@7!^jCK4e7P}i<9gc4)hOZY3;lTB!|s)>vkZH>^oFH3ujhtG1TtI8v*xw; znb9Bc=CFy$^K^NMUJ)Rcp|$sul)2Rk15tMzEX7T96p!X=RW=JI#I#4 zPGnLh_SjJ^oHCVTvlVl4l~_TK_1>l2O2!OZ;D94`#uS;=U$tbrCQ`_%<_pIUKi>@@fD$Dmi8T6m7Wu2XdEQDR zPWu()Do%84uR_k1jvWP@-m$?1C;A|dE4vRwQ_1L#g2Au`tV&Rj)nH;-(k^c$ZBUDR*z)wJs*AQ zkKO;>=Nts|)t9UH6>m-7lPI*f3|hs->M_88SM(l(jZ{ z-Z%bs`k~i{QRi=3dHx~j?7xp1IY)81N2M1no5}ZwYFhKku?O7Gx^h^`73a*d&SQLw zsRTFu4UR!JI;X1ll8jTV;Q(YB}>TzDXJ{m3KeR_6OSa+5@w44^Z zjv1u)vG-}?b!Tk*BTm$tYdm)ESZlx2gXD0d`=^f)p(wes&j12dbTJ`1Hm4gcGxb*Xq~o-d6VVE#33t^o}2y$2obH?Nqif+5TkPl`U4b(-pH!eQMw<4phpX!S=AvmN{ed zU2$?CdzAp!1MTTP2|Mdp{joD_#&BoeJZ_ZiuI);BXAapT$v#K+O|th%ua}ZNO_q0@ zZACG0s<_!D6-HwbaoLr6H=Hzr1Zv?fsW8XDrj)1$oN1V^tV^@FW+!so(N0R;3 zuzAiLvM)}rmuhj&nNHrbk;er&tkY`eXxf^6&CZKFLUg+1^uQ%AJJGzH&e>Aa7o1^L zh&J`NT6QBh+R{W96}YC&^W`t|E#_#H`DtBLiAL!iljV_E9-ZY;+*5^j(nja)afmk} zMWd(q4ostH)YXkHXXZQU(P6{g=FFbu7{Y(<(_-UW(6(pJ(o$gXCXV?#1#kc#!DX%-9Q&w{2*Zu@FjfdOqXfVB= zeI`@CE^nKSp3@{LPR|;d?#y9wUDKZ9B-bpH$66)1JsVHSM@f>R1+CO1_O;osMqDan1$o>FRQPvX^pXq|+DI=lcluuqWL9 zxiV))_VU^ncRs5%neLQT1n<-p*YNCN*0;XwC8xSee#u?($+1rR`7*B)kVxgA+sZb#OZ+tXRwYcJ0# z1ACZN&UR##fjx&+({^Olv_00UX}jH9HEj>GYTBO8s%bm2YTAyhnzo~k^sIIp%E?*U z>(MPL@E31gi$<5fbfSJ-JsKDtCVP}y)qCkJJQwdHFkJLN3g$XDH|!M2||XEHf>Pe-iYIL>?$omXC$x=b0{bvdMq z6Uk3hrD{4olB|XFBH40e*~=F8@3z?V+No^CvYr0Vwa!=bIcEiL^>9jK{5t0h>cemO zWr_J#*~?Ew@^epm!{leCE}ZY$ThDSN5INlsgn?cm?7eOc4#wFB9j zWIK?p?tiXD8vXx_AohC4r@hT>}MBR6#d`lO=N9_ zqe~e%(~0C#zM19ZN-l5qC(f|(2~M=No73*)ymAg}i!MgjVQtZ`(dfUkMJ3rH`#SKm zgLqSR9;*y8aQ)Pd{uX!As?d-ormN-%0 zFP$j4ne&-xBX=q6`dv}RDbqvlu!HU}*-A1~Gj^GtXN&CiBJcL)7%pPxdY8C6XP@y!HJ#oZ^6AA)Tzjy~C1+EogaU3ERG;P4pp51h ztrqslMZT>bJzmN?9PQjWKH@5!UDMOgJJ%w+yYn79?>tBLpdassV!!6suQu?; zm1uP8IcL3#es_-N6LUH}!%sx^U876iiCA8)*3iWZT)`9~Sj&lIUJAY8oEce1XZz~8 zb!SE1|BXfNbj{l6;&ZOv#ozOqeo_@jw_3xj^8@>6WpLHm-bz{1^0V`&{1!~dZPpyt z*bk%8i%KQEbY8hYwSd= z-Dh?(y4NR5yLpz!%PYywcKp%S$;+ke&alhwlDDsNdcAAkIP19F*tx4Q=yojE#jero4bZkxQ@Cx?w0<<$OC_j$|;{Lr5LBxQwKywhQobtj|%k-cA9b!jiz zs^3^?@Z6>y)pqYKmS8@6SVp&(lGl-%x}PuQT|6HxHt%k$2IZAcS<~_wsJ!wyH;H$9 zd~3}iuiwk-ofG(^F7{eus}JFq?V^!&%`zB`KCZ%hF{9DGicV{n*WuoM#c6B*e2q+A z+YDxK`q-iF70plIc6#6>_8GhFR;cYn#oXsbtM72;O*rC2bCaD&UcHo8D!2UYCGfvWZP%e zs6%2NV^qQm61@bub7diS1WTa#t_&sW9eRbAP#K(P*lV_i03DC(6UauvW{SO zFYuV#BQ1Q9H;k~i2+_ZxGo8G;I*sdu|9YJ@%&^L|Mj_-i)sgOf#G9R+_AR(^h(WoKB77Mp?xH=bDv%ryv3bh`cLedjE^ z>_y(_869i&yY|s^7cV+l6CG9{laqUS+_%1surWGT?olO#7P|v;gR6OUk6HQqh%5O` zqtUS=&i*!uXZ&YIhjo3KUr~xionCa-A^YNztiwJ7kjH7OckFxITJl)#LE2+`B{+2? zdmovrZ|EoOme``G6CHD-CyqNy3GH-_A68lIjIJZcXy+5g&pVv4KXI+tKF*lCoMBe3 z3UF;jh-Ex?_)0Y5RT#1S$-F%NgVSHhp7o~N!u~rwb>l0}l4Th@2s&l@&qs(mH=Uk! zH^0njZ`-GCxx7=7{vf(Vr=Fufh(;HiIK5sI_pbEOYEHRq;aE2HN2@dQFxhfs4#@VOe*y${JBzHaRvGwVZ?dZ1|P9H1V z-xrmg&pmQKlH2yrW$@42cBQz}vqnldk?e(3>QCFU2q<2Ok&m(rYS2f19 zb80pJ1?L>(LIbBR)9c~n*@MiV+@oZ#JYW&O-f+%piRtZw>9s%EtH|xOzCB>~&$3L@ z>(}J+ zY?X_BjwJIU*CyA|jc+j8M|*1y`=}=8NbgK0y`{)9mGh=Iom_`pvTP;tY)R%yZsk9h zczWe5b0AAMy`0L@kR>kLq|2h zZ}s@k@)pf&*02^koU1PLcv8Zync7?dvZI1-B+t##J9Cp;KFK|!P2J|4smg7W`$u}c z#V=g5u&+nRoEY0=&}Ms5GfDVHGE`RuYf={}>GUVk8KQ0}Yg z3e&_R97wYfGLD%X46vQ#qY= zPswf(tGS-|@g1w>Ji}*=q0y*1zfbmgGqiGy7}SYpq>7W@mrcnVp^eX?JI5cI_@nNRlK; zlDs5IlC(*Zgd|ClB)^i7Bq1RrNs=T`i=*Ll9{GjAW=UhmKC^SyoM zkNfR;yUsb+xz2U2bDcBir}R1RwBb9Bzw65@>rF~3eU9|<7xNBMb6b%1C;gE0IdbQo z^iAjQhhz`&p7s2P?6+horC!dzY*HIif3l~O(nl((tT(9xIjWMirI+ttr}g^VU_IM1 znR}wmw5Hr&Z2nt3{i9u*V~i)!Ge=e0I_vI^NJr+)7pdMyzuID+_t9Is8Od6ep=q4I zH;;^d=YF%D+$q5OUacdyggNTpvD{-Qy?{Ika{i%_orpR_egu<&(Fd(y6# zK-Nb~>#Fnu?vXRcljV@|m2;QgxhE~QXy>8^@2IrJR$A^Fm3HJKHJ-kOzHZF-F{><6 zyHcnB0-=bi!^_N|&$$|v%%YSnC1t@GaWXf1)ernwr+oqJ|fm*Z12D&#qqBxC4JR@Bvs zMjcT@hYV162A{Z}?<8dE`RR97o7b3k-m9Xi?fEipmAXGj*;n9MsvBxlJ_Z!hLHbN>9^w(j@t^s8D6hfboxC5N&CJs15dPlXXJE90Aq#{K*| zc)IltBW(_MvYBmTTyNFyZeggICPyuDHAug1Z(e7bK0{5r^I^Vj*Fc|J-H|Ga`9U3x zyfVe14Ks$$AEegI!hpI5Jj;r%u%c_(qRbL#+#6;-$$IBAyyd~jrAtpWbj7VII%K8w zzFno|TP2u$i%L6YP0`7U60K>gth5iUv{);@byj}+t^5}CRyjW!QcKh|tfG-tR8*?c zCI?mY3u$Iw_dU~^(Z>VS(1)$)=shZ}k(D;bN_)*pyVZ&^t!S$?-lJ9|Eqnh$wFbxM zsd+57qRVen%jWN;B6;3)QhUA_VXTka>FdnW_ur$U+6i1YE!JDaGquz+XT6Hlmi*G& z>d7_P-Xd)uvMof~QqI5SNzRXaWz(Wd{<=lUb|ks9ww_s*p^^Fx$yv5gnL_fr&}pTQ zm__~lvp(!UDT~ZEQr$GY+wAr9UewI_@o!aH3R|PuHU_gbn$b)v?L8|kj`P-L zF8SO;WkwyX@~yLa)*r2s9<_4mXieM6ns%x+ZIU%bL#xcKtun8%O1g83>PznF!PiQS z8hSpU%Di{Gy6U_B3RN$1Px($-kf`AZ+Er;&9TsTa88ZnXtG zV74^g&AArw(gP}5YefUBXsi{cDfamB2aQ~^`M;WML~`HthPkR# z4}~b2QoAmzo~7>p%OgOT*@qw4DI^6n&O2= zRV4YnZ!K?5ma2_dz6NI2%ZCS5q^D(FqL==K{_1~}Od(GS#OA47cH2y=Pm4NdZPr=AS`#2n8$r~lVn%%M4z(c0POdVaCi(=ak#qeg1J zr@7a~EWvkc3%ApUru2)}s*OnR!^~bq zo(9~$k}r=NLm%OO)Rsmxn0r3k7}2b4cCEb;C9+mK8PP`TIrV$%@U=N3E$RzZ8!fpf z+$@1S=k29&T(ib+eV?z78$*Y`r=kg~RY_~CsK=Xp z<=z-CmU)=VG1D3uKh+k|ym+N+4T> z^vW;ujsuyB)+V5pVvZiH=lKr%-t*7>>c}N||cKN+kDrph%)}Bt< z-}BZRxRN%gR-(7qzD8L#t+JmhY49jtY&Fut*85&tE>!9(^@hUt4_q z@7(#*uToSS`sdrAlwKm~kv6lxGuw;)1mnhu`h4|0gc*I${?|N%tG668P1==2(yvL* zr<|&nmligieUw?xvi1|L_q0hXky5?IwqVwaYzxxrB$E33YnoY;@6o^9K3QKj{aVL1 zBYNJg>a?Eqe8o?7`La0Y%{47GMMYQg{*q^mH2wd~vqmJ(ddL%LvL}{pU)~TaNB{D! z*wVXH2_}8xI5!VD0@bg9|M0wCmL_~T)qH2Q{*4E-zyBpe{b#zvN;_bst!b*>a;;g@ zO8N9-Gc%XZoA5@>nfg4QV6SVgnQI<#Xb%`^^7f0HtfBq6o9x^khiC8~GREt%S8Y9q zj_^)oBW-JKHD1P->fYonZ>p=5uS+%gnht-=$?!PKp%Y8vF)z)2ht$`73xyGi2 zj7YyL!Yo1k*6KY)0sh52Weoj=BXjflnTP20%(Mf%f9R<>dVXbd_`^1do>|@&a?~C;*I=#d9=Z)wQ zD>}s4bTh3MM~r4veVhGUG~SA2d8HLg%l^>nPo)kTBuAfXvDa9UUI%6ilckJQW*OS? z3iYgN)4D3spDQxoXFjE&`W}YlBGXD8e0#fU5kvc^=vph%*Q!~6MLa8H*8Ru4VaQBN zecGYTeqFD>(o%J#r9V|W&q$LuVd>lIS4NtYMgKa;86!<1S#N#ns<}y;e&6~P%k{a* zlTtEN(qz2DUe$YF%dw-`PD4)BVx{d~YQ1f%Vl9vpAerql0ennW`6q=&uBDt)NFPbvLd^rQ8}aM^q6|J&{#RSgZa zhBn!w{%^?^D%+*r`;0VlmhDpC2A?w0q#u$J{PX!Pe@d0=m7uC|X|dbbFPOFaJm+oA z^&vxtPf*kPPpR=5T2Z9&WIJkP&G*xBDwiUMTKoDEZRQ`DS-WO5;7QdEqPM81kCo=- zy?JIyrA;o1R{2G0iRW*1E6%7Tl0B?msxSFZ$a9M~tGQiGPh-ya*>sf_vfh{0{&Lki z_gU|I4RZd#oTAt|L!kHGW?GHao@X^wX|?vKNbm2>@$|i^8A++6N0La^g7i7k5B+th zxqkJbX7n)sFx+eOWyw{=Ms4&s-xd(K;t6k!){E z-&X5m`bJf|DbK65|33dP%zD<};Anm?OV9cFcl7evneQv>^eAqJU3<-lN{Ch%(RB7b zZ<&#m^9XBhGLPG>w0AyGQ_TI$uDxqadzqEr7^^I@980*j`;al-qtt2bclEMJwAXr@ z#_~_qG291MB)JTKQq|f^lcKa)>-AhDI)5(jFh%qC^eH4d{}jVmgHQ91QPWy}V$-G? zk*sqm)%n-7j3?{zuYISvj%2+_FDlc@8kDsqYeAoOw^2S>tFk_x?Yzl{dg&vz zm*yPFm@Puze$DaD-*R4I?N2fClj!`*CVjSk)MuVK(bv8i#T{428#ndjy$c`dC6y^I z=AWF|x62;;{%m!1Q-7D}AI21s#*% zo=et(#?Dz|%GTWcz zqF;|P?-Kp>KDBJ0@Kk%(t$JCcXSnB6wI#PsacDh^p;9lB%dwT}e~)|%ao}FHhdo(8 zO6&BAp7X{xcoTvV>Hkj5btJXXiTh~HG+8!TqA7nk&Q05yD;&e#wUM8!eJMc`TExab z^|{GEC0X*OyVN{Vt*G1nC@uc1K85U^tI1)ljXkvX_!)=xsS(LMWWM^IeUCBpep<Gt8GNJF5(ViBeHYN z#@qtVf7foL`*PoVMQu@X4o|*ScEy#d1oAbq3tjR_6>3_^Z^T^HVsCD%hJMjXZSj%P zE_7}(kG=ete3ZL`HSIM2jLl~s{&~GfN#zT4@>Mz+I?GyH(wZdAzf~<;q+FziE_5lS zO-ehJNdF3-dFEKglTv**UL7mTxAG1ScW5{ARRm3wmi?%8E+c7&sy`X3e_77_8s10N zc=DA`8BcPNv`Ev+*D)XCsXB8j^IFl>RwQj>u+=8zi-5BB?beno+qBeyzU^OMOJ81T zB{J=srySa$1bwJ{8&I}YSx23%?M=R@IPn&BPIcYG>VKYWt1j!^{wFV0L*<|UYR*?) z!F_VP1C2Fk?%!HiM_-Z7J$!0CQ`pnW`Frae#f7f@NG(TNghZG9VApnW6iP2@y*Wts zjrxAjTyJt6TgE$o+WUw8*PLaF>v$`T*`E6qseVKM7NR+~vA3yn*KXEo-*$TW9>2k+ zEjA)~>-`G$=jNNp<^1zu7yEAh36jGmoA$90t^QC&T{(I%)6(Xt`F6M7h1n{o=G%z9 zX$n2Frgh{jZ<-O+}T)&sob8s`9+9yrtmL8m@<4ua`jH zW}u&8Hs7LrG3{xGJH@${ojb6S}~Z+~W*e&0yO4f;G}eXP#q?UY7ZOa=Fs z8C^;5wDIKUBNlGS{wsakIWe z(u1T7RzqiS_PY`P894fXgy>d18g{=;yTpjTdO$_}$MD4lBTfIGXMQD1k8U;6>cmuF%dcrQNz3nbkZ>d)Jsk+Fzu!gEw+L*%(i9ku<5@#n$=Q+OKhC-k4(dQWcG# zrfQ@357iU4wC*@}V37 z7(+j#{(dr|BM&&VUybN)u0xouxcFHlKy)rU6Y{*r(Zo%%)fdiqdvT7Bp!W2h{-43+$3Jh^v4T9b??xlBCm z&>9ZZOOUXeXO@j9lfC%e|8d&w?Dx%Mq|(`{HX2(wuf9a>P4z9$ydxk|39hbGdxL>r zt9t2@skX~!nyZ|zU!smS3zw+0pI%eZ5No^~Yv?5I&oSFUr2Ll97i>4`K!!@rYhH6` zyNsbyf@EtcuWY8~yLp$|e)G7(X0ClXcX%sTh|GRmPczS8NZJRfYKior=G#7Gs6_w! zq2^Nlb&5!7e=os*SJFt+MoJsad0I{T-_Q5&%NA*g{z+LbbiNl_=Ksn3^j_4QuWXm{ z)}g=FRit|PdzsJQO3puY9@o3g`{nibCY#^p2p+YayE9HtGyB9dZ>TL#o&b=cJ4dK~ zO~&g$f9k$pU;CYTCw`_8$rLgVy#(er@FZu+Pln30k|yIlMK5pGi=@fjr1I7X`7W)T z16}f?S~gFNI&PPq|EF8|2DedqIl7Uf!_C%_h@^OsrvZ=JvNk;*Lp%igz2zr^|{C;!#XUxG+wzR*%h9YiW$@>I2dd(JwN zzI=xI_xXRTRKMKBKaA%3(_%UE)iGD3<2pHx_~%EKa_o5iW6Vf(AZt}x_JyvGNbNw@ zk+g^lU0eTuDxWMzq*DF!x{6c>k+ua{ACYQT>QvgeyhTQT#%b;ly*E3!lV=o-=*BM` z+7=`FpIHv6mq<$_+u%Q64(Zp>JIGxF3r53U&fokxioXX z`nmO-rra_8_)BV^Qhb%l`OEF9%u>GdM^DUG$I9<;pP;$CGR1S&d8xt2qO?@bL}=Q( zd~L)mm89*sL+$hQuhU9?67?OWmr5T`((F7%Yo--h(ZyC|j<>QC+v?xa z^j!R-)wEJ($=NL5v$^X3%;#1V|AeZ^ODF5?8B1%D zH{!~BiRZBIHuogb)6C{>FEj06b9L7KCiW?2nwPgfnvr}J_C9Oqr|iYep&xNg#Ee4G z>RiSZ*0iH)t6T=Nk21%5^j$SYtnMEc>;Hh@7DLQvwK8q^NgXx ze^O_Fe}9cs z>QuH+snbZkg`Cs6k9Vz^OWDC%^14Kiy``@OnQx?dNcke2Uz6pKWs@oX`B2H_{AH0c z%RC~LPwGW#LuyUm2bg`f-p02ZwQ*puO{>HIHSXt+R@Y`_9)ldAQocx~zvvfr&Lh(HCb>wdBF#5anoJ?NNIxV! zgNzrc1d)0RsTWz^3$39@^(^&w{#;~QDV5Zz)UzzFv=Uj$^Up)dB5mkDnO3$6$tBX- zij*c($P&pK{B$c%(!8y2WuNj~%K;;jDfIEoH<;1EN|-&aPoV4gaM zcO`ob^BkUD7PF+=n6DX0N$<33L-t3qkCOdSq`gq2(tk$@4jE+`MG1Z}B59M-PNhxC zT9s0@wDyvb<{{(NI`4S03Jh9W&-R)eEhcd-n0q z;RAh5%e}RFyNchWr$wqESxQ-Q=`DU+uX@`^Z;*;KZKQcbnpQ8B`OdiCTC4wl6S&{b zJeG1=+nc`5|NiEx0&Bc!8`Tv0c$>EVb;-{^o(zpXsg_dmlQhZsLer$~FLa6w*4rSi z2>sXf_U<=P+WNnx>05|7raK?(R;9myMMO$tBuaP;0o@Q>Bf6b-j3w>HCv+RFm zeMpZa{g5oVKAySPkX-&ct=aGD)0+LROd;F8Oe^~t*)z!=CsK=${A7P5`Tcc?%#up! zrS7NpS7(@?v)){~gm*fbeZ<2&3A6W0y{`0U0qXA7qvkKDbItlS0`uIB*Gkj38S_lE zoRg8KTO&;|%z7T;W$QjSxfU2{itoNv&(GXq^(w{OU1>h|p81`60)G3I>ffTjk4iiG zo#WhiFN{;y!7duF?(&(%^|JkY^reiq{w3(o^&U3TWQm?S9(68FzN4tWcdPB!`m|H& zRm@!Edy7~4)!m`MGee|@d`^Q-#xprr+H<{v9 z>&-lCxyRpJGcBz3D{D)xDoo{lRpxj#B{uCgmPO;49d-2~V7;|-D`ht4rhjwS9Iww$ zs%?aCQ<3B+Wx3}QRpWAnQeV^Nd|Pf+LrY3jS@iEmnfFOwyG!k{A8fCpUOaf?!=bg>bb}^^V^qPhuyEI z$=viiOpktN%&nVEJ7Gi{6F7b`qFGl)X|@CUP(3O#BAHgd8eV3k>3vT8_xgBxzfsqS z^zA&uh@|wgbw?`SD_j>kW=x^K>(AUOCLUMYbfl7gw_5GvBbE7Q?(23QG)mRVru}qC zkEHak)mPhA?6pza4z@^5d+sw$+qO{O&kVMrwv@$8%f3OiCOI#f_n0cdn=@6kn)9sY zQ_1qBM44}-<%m>zsqu8{xzCqQsH2hQzpJP-cTfC%>$%W*Z2m}{vDV*%d)FydSAED` z(;l?e!Xzt77^co?t>g(0^Qy1@T$_20`#bJEHzU0SW>lMYWk&j47UmTC@|w@YNlB+) zWINaDI#`j5?Zdnab5sMHHsq{cs#xmTd=G)Nmlf7M%u*^TbHFOSz6E?{{;6aPje zxyV}3%WQ57dYQjB#*=M9`W$_Ee>8?l9mo>NI@jBp*++bpqIwG{sZ0^61k%Q(ERp6b zrIM1$77*!(QGff?NqaPPs&A|2nbfOk&*ptHZD|eqKa4nS81I&=qYX#9X44$R%c6KH zUt5a2IYf&l#g!OCN($Pwi?vu%s_Vp&QiXP{spcf5ah-Tl8lhbqpw%M2sLsDgZ-VrL zS^_B-*QrfPQ?zR%v_w)asZ)oPW@y(Q){;nRUMHE97RdANT3u2ut&>7ZOXQoenu|C( zxgP0JXxAobZsKfrD(QZ-Ym+q(aloBMdJghjoR&^Xo;!n-T(oO*v`kV8-1SMxN4qvp z%Oa)7?IooUIX|lTNGWz_lhOd~+LxN2xWt`9dMVnqueAUvL3b`GWoXy-YI(#B-T9J{04$pKiI7p~sN5X={lqY^`vmturwMZn1U2k8NFXtF0S;V(ZSB+t99kZtHy2O9 z`rvL`U)*c!hu_$0aG$L|erp?m`)vcs=R0KW*ai_Fv<)Wy9&OrT+YsVIhR1C~iGQ&T z#}l>@_^WLsp0tg^-)y59{}l4}4%-;w(`eWJu#F`?V|dm!j+8$QHT!sCn|%U9?a19N z_KBEapF~P+v}=j>DOkro4U_ECNl!+*R^L8@I1BBX*FKZjhjuO7KAYH&b}h#~hd6-T zlVP7roQL!f_Ibnw$p1_GeBvVHovHQ(#Kp+AZ(oE>?Thge`x0zsUxv-?%dv%hC0=S@ zg)Qx?@iO}wY-L}Im)qB2Yx{byx zFGahy$$l6=v>(CE_M`Zb{TObsAIFdFCvdC%Bz|H)h1=|>@l*R5+-^UMpV@6TySBsb zz;Er*xZfU&-`Smb*j~%V6(3|PwkP0^_C!2tPr{$RG*|YGJ-G{&1{dn3Qz(4GHc*b6Uf7*-iti2d*j#9Kc$}rXu#w14t`6nao z#8HVpM>Xa<8e@T@2^KnUp(df{k+O&l%pVn-{|n<6d2(HfgM+F(aVTfENE z4m&&A;|-1u*u~Ki?{;*;{*KOgkE06?aCF6c9o=xCqdVT`=z)VAJ@I}=FC6UXjSo2b z;1EY&e9+MkhdF9+xT8Nl90T!T#~>Wz7)%KtN4qxGF@*SK$57&VhVvc6Nm<|+ zLCPy=)0R0#5-&A;-7$*zEyrkF;~2xxw~@ZcF_!o}v}+q2L`8{bqx1J9mlVuPGC&*NxVAx6t<5(jn_n4Z1NcE+x; zUGV|p#pb_gDf9g2ryhuhg#BJDqR1V+b=#F)5I7#lYlJid%)p;#T9&acl5++*UY19az`76H|CmgI#kucVj*09&|hRVybf= zdYt<)&3ORRod+@3c^LDYM=;-c6bqcku+VuNi<~F0f%7C5J5OPW^E8$^&tN0xS#0dI z@jly&oesRl$;O~v=ZwWpPA6XPtc5o@6R^885pQ-TVGn0ryv6Clo=!L3>hw71Rh;R> zy$tVgW)k1&%)+5g9}aW+akw*p4>|L2gtGw0I`wzzKH)6Jan4eF(piR+onf5ntRUxU zXxE-~R^kiJYMkS2j4wKyU~zm?tcq`j)$uK`QG82m9N!8rif@gr;@jZm@olkPd^_wI z-yW}v?||LnJK|08ov?d+XMI`XyAby>yd%CVao_lEI556D-WT5k7sU6(*W-KP^7!6N zwF2ok;`J%*TES3-GRlMR<3@V(g!=1n)^$h656o znrv3BAvYAn$(DRDO`bqv!I_mEycaW5&EhQ7po#D$6bv324B?45WJ zZ%;goyAzM#iNvGWtS+=tXgomk@gk=m%^Bz^#?jXJf6A4F=SP6F{TWJ{@& zh!53C!Vz`q;=^@ZI5^3zrzd%EOj0^dPs+qyNm=-1k`KR0^5edw0Dha4N1pqUW5T2Y zJe^d8O_PhUS#l}1NG`)GlEZjqas}RyT!}X(S7X=Y#@IW#3ErOE6#FDM!@kKa@Xq9x zI5@c#K9JlRha|Vb$;oYTN^(1#liVH`CU?L$k~`w6Q^sON$~bJ8G9D{aCSX;{M66DkgpE?B zVDFS^I5K5AK9Vv6N2ScfM^k3w=#)A5WXfC|pE3`hN|}!nQWmgYo<_SiF=Y`>N?DAP zQPfJaj{;!i1?@L0-b ztmoQ-Zr4^!b!|hBYdh9=?Z5`EomlMJg(25&47>JVxoa<0y7pm}Yd==I4q#)~L2T|i zjCZ<@U_aMUyvubAYh1_iZr2Iy?>dS1xK7~!*J-@hbp{8z&fe8bfiSGn5Zo38e_)ztxax;o+^S10`0)frE^y5K2S zSG=`eH|$lfI}WVZ1BcY>i4WH6g+uH0#$omP;P85V@u7PCaCW^Ke4$={oKtTAzF2P{ z&aF2HU#d44=hYj6^Xm=8SLzMN1@%VY!g?cdQN2;PxZY@7Qf~}~++#899*5=b@mT4e zfK~2^SnZyKSGcD{+q5=F@8OB=<&~?B0Y^+?#Q#dkao;Z^akf+i;G1JHF`Nf%DuuajAP3E_3h31|26U1K| ze&aq#%3ic--?~o`?=#%*K26GZ$UhPH8RGAeV`=wU;zNc%xNSVQe;9dlo7+Kr#PFy) znv|cA-oPD8{4;Xw>UI+Ug7l*9TExE^{^m{~<)q;$cOvP(BYO>Z67e6%zgKr%;y;n2 zcejg}ZiP5D)s1nf`Wpm1sp;rV%|u^n7G|gV7_(!lpZHqC>rw-xbV80cQ}c*B8+J)8 zAms+MXH-6(hY6e&8cO?-I0I0sbS(C$iLmx3gVuIy;3Vlxee*7 zQ>*dz)W+B+wF%yl+LWPprZyw)i|pT1TM+j{n|60C{;91?!*g`?KHIq@vF$zn%WazOYKF<5~SUx_QqwYeem_vzPLQKA469l{ZeWT z@f%3Ll-i&8O=K^eI)L~sq=lyrBz_y&7pD#)eh1kjrw+zByBt&qU%( zWN+n}M4W}RE6)`4d8T2uXFB>lGcd<969b;vjG2oZ<$C52=OahCp1H(@$p0hHJmLn1 zC7$`D6dRU$7LXo9yLO3Z5nkt6jGa77@OsZO?BZF@I5#54ik_9&!?OxUdsgFPo;5h$ zvzBq5^{gYFW;ormo|NYdpZ9DaeTLyo&qm@|o=ps$jkFNYX5u+W3-N3ro@+SIvz3&W z(5B7zY$JZz@D5b8m-UOr4n_}(sW|)}X0_&x>#MJawn4aDmv(wvPVR~CEN^gh3^!8Ym-T^Dp zJ7UB1PIz&8XKb3@1usqSiY?Q-;brOFu~m8xyga=pwodPbZPR<>4e5QbYkFU-N$-b` zrq@vZ$I|-~k2V~WK7f?z=>ti57FjRpgNUC))=TA;a{3HBnm!YMN}r9#(&sSrZ2DZ{ zKMg$@^N4dY=93;k{xxSTz`Tq_7|vLX4KtQtbSce@m*5h><8?Z~pM!YLy6V_yG#sL{yaA3w(d@y4hbALEvJMjp^kr_LPAIaE> zPiE}G2^qU_O2!_1E@Lmgn6VERWbDU<83%At#zA~F<1oIKaRirS9L1#>$ME%x2==XC&Ys8Hso% zBMJY^sEcPaT&QKb(U$3n;~JJ>RAxFU4#SwtOybzgER4(aVOFLe1DOFV%FM$CnFUy! zS%f8-#aNnIitRGX@S4mpcFL^4n=>o%mdtAGnb{b7Wj4XvGMi%W%w{+)vjru2F|#G{ z9K*Spt%zUAY)$$Cqz*IN5HCXZLG|0>#r50azw5Wh9`!rmt@S%%-};^K>H3{i5Rq>i5Cl>-WXztbQ1iRl|H^k=n@WkIt+C zq{JipzN~?moizykS%WbrYX}CihB8hra&9MUIB@~ehh&W)E<$QAYb0?AQhQmWFqkzO z%d*B`IBP7HXN_Z=3S_UBH6A->O~4znCSsSYNqA${6vnwHYZ`HX!>6;R6Hm&Tfs?al z;*_k}I6Z3)K9@BYXJpO8=dg^nc?!R)ugOIdg-h+#BU(Ibk>!pYh| zyw-4C)<#m^MQYx=3FEz+@n7C8Slhc5>v*?evUfYCcz0ku?@mnh?!q+hZp`rR!TR34 z==JWyZ0~*ycn@Hn_aNqb4`T!G5iIr|#ZvDv40?}a$a?~tcu!(`?&){|5 zv)I*ZbJ7~U4(#UT0)}>zHx|2lop`Ia7WVQc;Bapuj_@Yo!`{01h}VUWdfhnM>%qso z={UxliI01;aIDvd-aLHDTYwY1MfkM07$1{COF&M6kqT*!#Um-_@cKZ&h@s!m%OcUp0^FY>}`wlz3uQ7Z+l$e?SKot z9dVJj6Rz`i#&^A4aJ{!HzUS?RJG|ZbO6*Q=58}^}|6<;r#JiAxVcuTEyODok-rmG} z4EK8bkn#<34$a#a_j~)1@*UFqd28@DZ-0#U4ZvEyftcVMgtdKxG0`^!>-dIZl5aRB z`$k}0-$+dHjlyEzXbk$sV1;iiHt~(amcH?LnQsEN@=e6ceUq@YZwg-Fn}%(C)A35* z47}Pm6R+{j#_N4^@CM&p?B<(?H~Hq{t-b}=%eM$`^DV~Sz9o3OZyDa_TaJT#EAf8c zDje)vjSu+Nu+&3+Yl(;X*5Pp9dfe#SfFJrc;>W&CxYf5AKlN?F?Y^z}xo;bO?c0uf zeLL_Q-%i}`+lAlxcH;rx9{k?77mxY&;c?%7=J>ns0P!iqKYRyCIfLv?e20n8B72kU zBgFRXqr^5tNA@vNqL5xR`#8pApCBdH(3yRblsM!)wb`eLMmiR(;E1Z+v8ehzAgLAXn;!D}> za9(zMd^x)V&d=_MZ)JDFHQAlF@vp?G{#7{5zZ#$Qufgg5 zwfK^M9nSNw$Cv#ZaG`%AF7j`}SN)rDv40CL@o&YY{%!b<-8@4$EcJ8`{#7ry7; zjT`)X@O}SY{Mf$_xBBl{B`krTjnIeB<>P62kzDZ=Y=im_8pDfY-I z!&`E~*fXaBZ_TO1UOClxTTWx_oznzw&uNO|bDH7PIW2HvPD^|yrxi}hX^oR}+TfI& zwm3DX9lns$9$(DqfOB&?;!8Q5a9&Pld^x8JuFdI+TXVYMCpq15TTT!BG^ZzS&*_DG zb9&=9IelRtLslqrg~f92kce1;%5Ozy!QFFcI4ZCSljW6#RE!8g>gz z$D0B(uy9tj8UJ4fuIrBYqj!ga-nf@%z9QJQ&!DhXUL1 za9}(B5ZHl70z2`?z%D!**o{90_TaI=Ui>+*503}-<1c{&n3H=D1G$H>GWQ5xlzSAL z+rRjik?X+Qa-*?#ZY%@M! zweYUo1gyzT#Jh8o@PXXAI6K#cFXXy$POb-E%uUC+xtaJG}lGhzC&g+3q^LpYXdA+b%UT#;I_16Jj4#OnM_ z*gAhRUYWlI+vab@tMa#DyZr5Vb^Z=)pT85Y$=`(?@^@p;{5^O_{$A{xzYp)s-;e$B z58z$-2eBsqFy5Vi1V`i_#Rd7ta9RFwT$z6Y-^f3StMX6boB5~lt^70icK%shn{P{C z50&r0b@|*frM;UUi|g~9_+EZ3+>oDuDFum`R*;0=g1T5#;KBw4ZY(bFU`atbmKJ1U zupkS|3VhhOz>gOd1h9EQ9=0kdz-tSNuwy|nURO|xoeIkE`hqZaE~vm83M#QnK{eh~ z&=|WHG{Kt-nqrTFW_U|M3mj6=5=R!a!qEk-@v(w7IHsU2K3>oc=M=QZ_X|4U!Gex> zsGt)bF6fLu6m-EO1zqvSf^K-UpnC$>Uyykf_P|>Tdt%SRUU+L^Z-(Ah*oU~6;ef)v z#19wt!$%5h@Ug=F_*CHle7bNTPA(jTGYSXeoWdcvzHlhMS2!Fu6pp~ng(LB!!cn-T za5R2gI0m;Cj>T<-+Rw&0MWt@vQkHXK^C9fuX|Acx_GBZ_vC@(|jzkwv?R zA2ys>w3~Qo(H>k@v=?75+J`HO_Tz^|2N-`dvPOyy5^q7)NYP>9t%lo*j*#++;ipAM ziMJOW!_SJ2XgLE9!Ad_+KNBYJF zS@>E5A1-O&$E6Jd3|)roe;efCu?7YBbAuv0(V!Up#if{2T!w+-FcuV7U}14378O^M zLj$BYC~iz#g7gN(O|ZJSDK;u@hK-9`Ftk~5OX5omn-{ktZc*Ht^h=Q*ptucoE^doA z6t}}J#qIHt;tu#|aYr0i+zH1Qcg88jU2s})SDabg4QCa1$Jxa_@P*=@#j-fjc=Ep!L_Al@x4-8B3oRk z1HUbe<{bpTmc|mFFpLU1iKBzHFeaFQvB5-)3nrm6SQq1iF02)FV^YwA$-#828_Yys zFbmrSeRy@ykL`m2ye6239fAdTd$0)m1dH*GU@7(umf@YjFy0lcz?xts-W{yQA;HG@ zV6X{36l_YFM;ML_HY4R>!$*QGh#w8M#K(fI@bO@4#(W~!hIlO6v?qgYiN~Q$dn(wD zcsz2?Qm{So1mtVq!4AX|(WXrfb|ju;I3?JLl&Q!z73@s>EV3?wU5IA{yAnT#Tt5nS zBYxg+R|hUkA=ne=1bg9&!QPBH7un*1eTZKU_9dQY_)4%JDGQLb9IPQ;gd8mg z`x7rldaB?6;w4B=6&y&s4C$qVgK&9pFuofcg6o4r@x9=1+z=dr?*~WX#^5OYAUGN~ z1;^lr!LhhGI1aZ2$K%Jr3HV8HBKdDa{^JBE5pPF&^57KQ5uApf2dCo~!5O$KI1|4N z&c;K*Irv9#E}jX_!#{)b@oaDb#*{6>*s{eKSGEM5Wy>(WY&qtatz=#WNS|4@3WH^< zv8-$j=?%-)5?2^jmaQXhQMR7+tI9SIw>9igwvqUjvQ1c1wi)j(+k*Yew&H-YZ8)lI zJ5x<4+d=%4;d5m>iD#7U!sp9&>$2d zb{N-}9l;OFj^duOWB6^^amL(_{1YrYf!~*%#Dit0@KD)lJY04Le<(YPN6Kt`UF*j( z2c9U4#$U@~@no43PnFfe-^&v4bXg*vDNDkHP+h*&T`%M!b{Tp?ZsN3%2h&68m>J5% z(ohy-mW6!8LBsNppSU6vz=okbtPB-kRj3H7L&exAREmv5W!Nkf#^#|4Y!Rx&cA;wW z>=0^9d<}AkOsEO*wT9P)nv&8v)Qptt4Q~jwAf*d(Y!hlp+|{sKs1+&yMw`|>)SCDv z!<$2GNVz4{mXscbJwxqCxfMC)47De|4f*#P>Og$E;T@rlr1U}VjR|!k?u*BXCh@B(4pO!goTW8Gjwp8-&K-hR|4iKQs>##7qo@tAaD|+D# zSRUSp72!?TFuWNn!&|T_ycMqxZ^IkH+p$Y{2i_RoiCx3H@ZaIx*e$#V2Zi_I{o#E$ zIJ_T+gb(0@;e$9dd>F@vk1+RX;iJS;4QGXq5zh`E$Ctt5u8XU~E_^HO#x-FN zz8y}-wc$*BC!B?Q!an>u?8m*~0DcqB!+qfbJQ^;-pTfmSyqf@77vWOk<4CU(F2j@I zFrErm;P2r|JRPpaKf;aiOt=aD8E%Sa!_81DZ-KV*mS`_;g^u#p7**Z|qs!Z3OnEy@ zEN_o>$~!Q}y5${-lMPeKJCWi-t~Qo;Mt6A^OfBz?OXdVjtF2?8mz+4q*R^gZN;@VH{d<1cy}|#nBbV@Ue>Ha*eu@#{#fR-7eXfz)S(Et&ePaNye&(aAP#Ewb%Y#1gMF zTwmcNnh_e$?=>hSkJl8a5{ValWi(a`r+kO zHQ2hUKenqHfSsxaV)v>+cyrZYysc^o-d;5n`&JFdyQ)TDP1Q)eyJ{5nuNsX5tH$61 zRbz2P)i`{lYCMjrnt+d1O~l8lCgGT>DfoERG#pzs9iOP0fpe>7;!9Ptaembte5GnG zF0Pt~pH$7qZB+~K)2c2p1 z)$53>3>#IiCvIH5f%J=z^U~EDi7!UZOIL5g$Er8unCdO~c=c8sTfGgRsNRm_s&_E{ zr0Si-&lpaw-bFm6dN=9QtM?E;YxrFCUg8?hzqL^Z&n}2)zv3(ZS_ffr}`9bsXmRLRG-1ms?XvV)i%DG@MX0Ff2!t@RPE>LSUgqj z#NVrH;pyrGjBAvL&PGWX->5GBtC0&68o9A{BM&AvO2;~lGO=!>EKF(SLsug|x*G*B zwNV~=8Wmt#qasXiRE!yoN-?uh8P;zU#;isa=xtPqzDCuU-Ka788#Te4Mosbm&BrHL3Ki0kXu65w3b??0gMnJUIT36k5 zZ*dQB&-#44f1J19*U8Bb%(%HpE=l7~N(|~0TZ>N^K=w~MX)v@?JVtd&q#upEKF}$N ztVH&iJEf3gkw^AUdOY08h-W&b;@M8=c&?Kf&v)vA7dlz-VkbLZ?UcoNuZiC1ltbq_ z@)~BRuH>7dZ#w0ZKX&Slf#E$cEW8)0!uy~$ydNfo_s8V$0hkg#2$zQs!ByeIa6|YA z+!8(tcZ83@o#EqfSNH_n9X<*7hEKtR;nT1zd*%ahN;Uc}$NuNuG!7jYpiu?Gb0_>_9H1h;!s!$fXov$^SCZ3JBjprin;`xaC%v?aO{fKh%CFJsqctpM|dNtw+oh!&I zs1eV|*FNM0}_7S+q)|#FJy@Bc*(Lqq}IWNEx|Rq$|co$~jeyY}+HN zkmHbTdt^0o0&*Qix|6lYtu(SGCP&snW26^-lW1CGZ91vQH*QDPC8wiAute4)n?<`s z`qIfj_DmuhV0NTG=0rBa+{nh*H8L3UBAepC$mTdGvIP!{Y=y%k+u(%Ab~rh*J*!PY z9v33R$kUKpOJqm#4AGg9;dFjMi7+cNlKiXa?8s>HoJb`ukBr3?ks4eX8IP+X6LEE9 z60V6%!L^Zk+!JZUy^*Q7FESmABF(J4AK9yk?1Bd(tymms$CHs+crG#rFGhC7OOg3_ zBeFYwi0pwMBYUB9R3FxnA$#dj{m8D!dwfy-u}RbbY#KEP!=i>@hp1uLF=_%wGY^qRsHna8UsMsD z@1nlZ4m$Nk{i2KMH$WacqD#sC$RkB`897L_ZS-L}ZA9BeAE6(LY_+0~lB1Ewi|Auy zC9^Ht{T|5PQS@bU zFXS0b^i^^n*Ri-W20}<8H2ob5q+CHPIN-_T{;tyJ<{m=A^(DGOQWBWe?|5~qF<0_BlnKzSLC^(3!^LPED+rm{f7Q_MibNgJpXeVz9*?5GU|IAxJRSX={y)fLYqZ2mBAgXHA1(Fbo`UR=M)MIE!UfSw z(XMp<6}=KIr+-=WW^@(ut>|iaJK7!ZMAyWp(Y5edv=`^9h^|e3C0ZF>m(FYC-IM5g zaUN1kQJG$u=s=W#K?WGQn0jcH1jA@|>y z=44l7k0quBHjHV7{xNOn2gbA`H$rZEG408Xk-s5|2_pw1pL!J2ksN{&p+ihKISe`e zAtsXC5!ug-i6)05x5*eKIYu-&CYDZ$s6IwRUxyOG7!yx6Ag>3;B$7?Y>wz&z^tWM{bibbI2c&TbiD_`LaWhGWuy}=r)cUVjH0X^}ZKUGPwgGz=8DpzlgEJ7|Tl^l~)RWMmq4O3L^s8iKMy{Z;=Q+Z)`Rc$O# z)x{pFdaTeBd8JF`i@jA1aG=T`2dNt2U{zygh9LJoRWNxNvZthKiX&9baippRj#9P4 zajG^rUeyjKsM<3>O%+C-itIJ1I+CZ0&Q^t!=c*!cfhrmos+9PfDi(`X8oaKG#~Z3d zys1jUyQ&n{xv$cb?}Ig&$Qp z_(|0jKdbWbi>f<*RrSDcs$Q)2UDb#DAF^eR?MD`nEpu#tvJ-NDi5)<87IldoM0SlG zf^M>~R8kS%TOVsd}vm5|t_I52iO4vJlgqhnX& z_}H~LDRw#@=f5z^{N3nbHacmJjiFM%9 z*kXJcTZ*q@%dj%`FusmGf^TAv;@j9`_$l@{evLheF6z_hsy>5m>T~=QIdZ>HU%&wM zC2XX=jDhN_oEo9NP7X(26;a8M22>ihI#k>?}oaSvg%et})puP{$tiTUa`*iHQoyQ@E7f%+5nP=CRG>Tft&{T(N$CAE1UM=ixU zYCdvHC{(-RJhdF>tE<%JQbjIRbv67=?T(AoHF2A|7H(I2;SP0eCU=VNR@bGoOLULA z9(k|Y7x$?fFtcCnPc9O5s2h7XnJvK znx+pqRn(&CNA9NSkKHu`us|~iduWE>0L?HQs2PESG^22^W(7)GQ~z)~v*jn$`G8vlc&V*5en=Ms$wb%(-O9{UUBFS&qCu7Pp;T1-XRd zc4AQ6ZaTrpyS;IHu}xeNowms38Rx)Gam5%OSBepFWvGlh%!~@Toa2s=wa9iU?kJk# zj$vxtaZHOliRp2tnK8$mA$Jz-8F!9OFJvnecY)jod6p4(iQEr)9ErP39)=vz5qFh5 zNpwowbvlzpe~G(Ee+%w!4 z_W~csy}~DPmH0C54Zezd$2t|r_B{RrO5#7EQ~VeDQsmN(|Auwrztd?LFR8=+wrHbx zX&o-xcp04_(I)Y(behG>=`8DE9mCcYZ|w#e&*@$TeMydv&o;}6;l4m2g%=iZ6xuUD%{pqYi_B`Vok=G!%y7A-FGL7@kQOfoBs&;kAS@_$XlRBeI=IEW*!;4*Zf>O#dsgM0+2bYRfT1`v_ZVpI{s9Gi=) zF4ubD3T?Z8ZH0$ex>4 zNxp>Ki?y-jN62knt06xTeWs14^HlV?Hj(}d(MoL+{R-sh0&NQUHS!t1T0Qx#=zFb^ z&PQ!3oe#+C9@=#BC*+o~ti^k$6d2jDn$(N@EU6DZPwIy+lKSJzqyhLU zX%JQ<4Z$}_!|-j=2z-|`3g0JXSunH-dI6@yc*Gt&gwCZyaX zH$yJ-l-rn_au>U%+{e6>a@?Ep2oIz@!Qzx>%$Fdq3Z}fk3n{PgVoD`mN_m6-ro3b3 zUCIaYThaF^pXhu*{&y)~$e)q_SIRf?cVr8x`;HQw#D^m;bW$I-ilVMM8QD$eigKMC zy>wNup{^SG>)e@drK?G9DXP)cq7x^YqVuAkESjdPO-|R<j_ih)&bB zp+8l0x~?7l8OXDEU3)Clh2cD1N1U$<#|64bT&#=6r8*@p)5YQ@od$R5;;}@Rh=1ym z@Te{Y|JLd8w9beZb*Xq?myVBhW`5#RT^I5b(YHD)`J>K`Uv*h1=yOn_?}|?PeCDOd zzMQ^0%Je<3n!XoS*Y`npeLt+J?~fk(0a!~v2tD;fu#SEh*42+dAN?q-rys+bzWQkmP;E&8oEQokKX>38C2{caqm z-;3k*ML0$8V16pHSE(;1&qnqt^`$spUq)vE@+hW1OkRmRLg|m-R{c@jtv^P85As|_ ze;gh9lXyUX8cXzNIJFdcWnO;{Pw6k zO0FjAZjjNbA?jgprC$^I#4v-L?2WvFYN$f4gM4C`p&Ho-xpf)b$@NA33^nOAKyF=z zT4aA@f7swfZiMU!8){=?LtSiUs7Jp!vX5l&#kPh9blM?%n+AV!grN~R9C@|G(3l)4 z8f^$BYYa{4CmWiRlSEStEy$^cR%kJ_;nXh3Ez{5rvkmR(2Bo7uHYKSI}HYn+jLH5iIvE(TR4SBNYR6{(SS%yS9zlzQ_B+*%DNTIVp^f!Z^ zyv$&vzZ|)(8dAv{4C&PWw6q580>WRiykm!(K&3$p>s&|4?|Zv z#|`;({uVu9=uSRs=t2J+^7w1$MZRk2L%t$<&Crj|T|<95cSP?Q2GDt87)0l>=u^WG zI+ccDbSgw&8%EIiWEe%~qv&VD7_yUb9DOOW?J`av%aHwQ<0P^x@@Qh5LUuP!BUcx# zVVps(ZJbHJ4zles&LaC8=a3sBw;5w0IY2bfIG-G1Tu8r#Xe;9)IxR(88yC}$FfOGN zE*fcEPA3X^#oo9QHOAF+;*fWWjcZY7T#p9hM(k|djAr9jv>3Nz7voOMFz)7DR%8#{ zxR;!1EF#-Qdl?<%-o|3=Yb?e88OxaY*?5@TUvz-+2zjvaDE%SGcF%YWCm4_8MB_=E zWITwfZZd7Av&FQP z&SvCuI8EEhTSd2UdUfg9W!rdkZ?lBePUQ;RVGnHYH=`btoM;`G_NAQ5@ zD4k;Dd8p|ao-`fDQ>K%6+H@NKF`Z%N402yEox^jc3wYji2``u~<3-a|W-cLHRMU05 zYPyLxOtjg~bLw}LrAmC+(xys%+0r8SkyII3j@&O&U9noK9IK~RLHE>Z zoLVc@o$Mi6C$%QoH?Cwrw0z&dGzuvOX+ zY@Id?JEe`l?rEd2AZ-lxNE?S^(k9^ev`IK2Z3<3Kn}*ZUX5fspnfPnkES#M-2j`|0 z;=Hu^_*>dS{5@?EE=^mEtJ9X^`n2V^DQzWgOU7ntm0lq+iFH={M0c{Wf}~-^IxE`F;oA`UkF~X~?CK{t3r*{(|#6e?!6i9VKRo zAJ?y0iZZhdYnolr!z{$Iu7+B(J0_WHVzRjwrkK4@XReKUb6sR-4UJ}BG?^P< zs@WgY%#ASJ+!#BXgVAhmiWYNo>|$<#8Rk}KHMc>VxgCx)x5rWDFdS{}h-1v*IMy7A z=2YBZPREUA zGj1|>!OdnXZZX?&t2qm|nR9Tvxhw84=i^Rucid&}fxFGUaF4kU?lt$redhjHWFCO~ z&4ci7^AJ349)>5(Bk-ho6y7$E!8_)0c-K4u@0lmzee)E2V4jBM<{9|VJQE+8XW?V> z9DHIf#HZ%@_{_WzpPLuq3-e-pX$TtMRpYExKCPqnl+T$}O8wVcCjR zEZecFWhYj%?8fSrz36T!!WtF_*0dC(houy2S<2AUau~fVN6_1H6l+_KVI9kHtZO-m zK9QE$192Fpz}T5hAsau-uA_i>q}9G6=j;R?$W zTxofRt1K^YwdEDAu~gz(%Nty0d57yQA8>=^6K=G8!A+KLxY_a@w^$?%xUMZy+-8yC zc8e?Su*h+zr3&t{RKwjCcidyCiF+-zaG%8si!8NqzojlZEcNh!#TSb$4Y0)GkENDI zc+k=q%Phfo$kG%KTbkn^mKJ!#(hC2yw85j6cKDa2Jsz`!;op{yc-#_>CoGY8(h`m5 zElRv(iN${{8oX?Y$19dZylP3po0b&3ZP7R2hzpC6TrTR@C6!L=F6neyA@6y0F_YUM zf63LQ3po@eLRc3o`6tm1UF>u^BCkqy$-*UFa!``d6`eEkQI^piT{3!Lm5g3kHKPyb z(q;4`r=UbIWb`NNk>e#Y29UdmS~CWbZ5cz*o-qtFGe%%m#wg6r7{h!HvJaLqjyxOL z2g{g%b2BDkVa61kmoW|JXUt$`0kRL4F%$P^%);V~IrK}AYbT=+4`$5AvW$gzC}R<) z{*kemd|32I#!~XbjOF+!Vp6_EUO=Vw5~{41nN(Y^l4C_R*6Vb%)|+$^MY~&Xllxik z(*Gaw7-YSVL#*XE)cOdAS)br2>oaD4vA!VB5G}O6A}_R7;&SU7PF;cA2d(eO8BH%9hCZF*GOjC3@}J;;`dI$JvGZDusux}eEs#m+W6 znr&H_Y0JSZTUX4s}l(Ry=?ukx2-?+u?^s7^|K8k_Z9u0Z3ua| zZ5WQQjlglXQ8>Xi1}ECa;UwDxoNAkd(`-|4wrv{DvCY7_wwXB3Hj9<#BhQR%b8w-p z5Et9#;}Y9KTy9&0D{PB#rEMv$u`TCZn`|q|8%4L-R+G2e*5ZEKdUV(}GE-vPOfD8J zwQVIIv~9;S+fF=W+l_~9d+`rj5gxHQ@RY3>PuoiIA6prou^q;Xwj+4Sb`<}$9mA`( z<9OG067Sni;{)3nd~G|2Z)_Lvt?d#z*)OBaeidEp*U{B}6W#2$QEtDBUiSO^&fdr^ z#9oed?2oXn{R#TmpJ6@w3#@N{g}(Mm46(oATrH4yPVMioqx}PRvVX#G`xlI`f5S-o zcP68dEr4C(&;FQQie|eEEp}JzVwa=MUIp#;YM5zv$1HnI%(mC^=b5$Li`-4LkG(dz zue~nzv)9A_*?qCUy#bR$?f&E;qNDAN$m8veae_SB^SN9~Dt#-4;{ z?J0QCuE*PUBi^y6V!1sXAKK0M$liq&9wS==yA>nj> zWSfvV4g)eLV57`Q7??Q)gEFUKaOMnbk~tHbX3oMknRBphW+8@U&c_a!3o$Bl5k_Y& zMs?;=)MPH_r}W5NNiGoWow=GkFmo*q$y|>^GdJR}%*{AFb1RO@+>R46cjCm%-8d<8 zFHXrU!l{`K)|`es3S<`JFPWt{JF^Ub&peEaGmqes%%iw8^BAtqJdSHKPvZK_)3_z` z3~tRlhdVPb;O@*z_-E#2JeqkGPiJ1oGnqH>LgsC}n0Xg3W!}esGt2RH<|BNY`2;^_ zKI3=$p810OAM$=d)+@3g>XcPUM~Xb=X1&2`S?{oB)&~s8`oyV?kjp>o3kGL>!xmZJ z>37VM1aLWvcFK~HW3ptZ%5p_@mOOwhHnPRes)D+#YM7qoj-9h=q9v;q+OoVbJF7P4 zX4S>~ta{iz%NKiQHNgH^{x~435f000j3cswaavYWoSxMjmt?iToms7LS5_O`oz)Ka zWVOe=Sz)*@t0NX=h2#FLNPfcuSjLM#b zG1*g4nLQ0hXV1Vf*)#cHOv#=_o-8^wdk%S8b|KEno{w|07cx_bJWgdV!r!wO?hhF z=QN#$$n81j3^vL+M<-A;DCYv5#>mleIhV*ykoV+lk*Jw=DfguIj``4IhEKy=M4_Yd51%D zKH#vNPdF~;3r@`WhQH=~$5}a&Mr>7bq&O!>hVye=aY2q87v@yK-*T$qq8xYpJ*Orv z&Z&hQ2>?h>LljWjSauew&kY@zBN#v@c?Q>Je5xIK$k;tt**GP^=Cm|*`m8=wv%}uAH zLbgb`X0lo|F1HJvc;xl@Tq`*dd2XI-M`Lalrsn2gZf;jj?JD|fZa$rvqO)?l)1NIm zH@64%S-N5th0ATJSJnLCKQDt8F3&K<_7 zYmoaqk@*5wwGFC*7f*ZKIo>q30dbrDu}U5uZ*F2yfhm*dy2EAd;`)fknxmh*&b4i3jp-V{zVHEXli%rFrH2CTH^=koSJn|@<_l$fIxwYrL zKxzIfI?l)*QGO-aMYKx(8#)TnYWeTzS4Xz<`5(wNkVoG9Pw0{Vg-$I|ul#RxJVm|p zztgXcJPPDX0@?26OVKA^hJ4)+*3XxtZ+?|PzM&O)wv}HE8|J&Ce|}ADlwXTe1Cgy? zz85(Nd3?{WO>QC@l3$ljbI}(0_2{=mo_FW_l3OGDUHJ{jZIP{FzCXErej{?I=ui2L z>4YI$$oyb(N8}MIzbQE!x&P)jCr64#=eM8}C7PPwikzO`27BbU!#?@#ne2-^isgsl z{QQoAorSl~d7*Zpt&7@`DX3f$Q0)?jaV}a%uCRgrXkoHzUg$W!1v@Wvrts7)FLV~) z^87;|d8q$vA%Q$s7>q^2#VUEBSA=!ddpfQN8>(0Jzang@UO?Vay*KWvzO4EcVPEwX zxWD?6bytJ~)t9ZiD%@lKs_=mMtHNXEuL{qZzbd?B{;Ker`K!WP=C2CxnZG9d$NV)x zaIflrO>lNEAiKHu#;Weis$b(fc2}T>`w}KS-IuMqF4TAL>A24K?N;@_E(9=tT?k_S zI^Vauton7KCG*#X*34fQ+A@Db=*0XDA%giELJada1U2(Fgaqbq2+7Rf5OmDn5Dd)U z6fDf&6f&5z)czYc5;&Oqk33GhrU{&x8fc zKNEgu{+Y0Z`Delk=AQ|xn13d$Vg9+WgZbyeF6N&LdzgPN>}USDaDe&e!a?Sr3x}A0 zF8sm#3*jvDFNE{VzYs1m|3bLJ{0re4^Dl&3%)b!sF#m$@DPFejrSO{hm%>}-UkdM; zf64b0_r|ZxzZ3)y9Xfd|Vba-S*}7MPw?|LME1`}@RsUClk4FL7&!aas^f1(XB?L16 zN(f^9mC%Iw3L%2|3L%R53L%F13PH_$g%HPl1>btC!(`?w1Re90LLT##LO13sg#zX) zh2G3p@=eEvnw7%O%vTBnnXeQEGyhe%=h4YuCTUqKFVsz*77ndicQ8 z7aw~1<6}>?qq(HQGXYl*<8@qXR+tyBU$IHXNo#dXECqD4< z#)n>Y@UfQPx7OtPPq!z2e-IZRT*%3+d&tQ;me#L8ikKUg_T z@+T{YN&aHxFv;Jn+(A;Oc7h{b66jM<7%$o6P~UeCp#q zA3xmh(-05%1Yn6zARhDy!b3hy@DHD6_@_?@{^ir!KT+acuPQdF*S0WG(yU%VVUlEG zJrDmR$>e&TIJKTPPOn!7f2rq#zt*ddv+Mcc+NUe< z^+Iq(z1IH8k`jJOvSf695AxXho;bd~H%_cy2PfC}!KwA@1!7~oq61ATok$hST=@%6)Iz6~+N zHvn7u24ZX9AZ+W~1VeqB;ZMFH*ul58e`m=mR_-iW!^)i{>sYz7WCJUAmTY3>&XO&x z+*z`Xl{-szuySX~E>`X=*~7}6CHq*pvt&Ojca|Jr<<624R_-i0$jUt>XZ?6Ql??ay z@Si0a>F*Hj9Kb-2{5U2YG;4l7x_^W>q&h~GDbN!p)JpT|} z;NRMRwq!pm&z2lu<=K)FR-P?6$jY-Nhgf;GiGMft z#uJU};Hkzw_)p{dc($=0o^RX`FE$Rqe;WtlmBvAMt#K2)(YP7jY8--h8n^a8BxxJu zfuTX3_*0NKb_lA2oq~KYBB(w_1^Ho2P(xG&1)w@85aWV^Fd?W3YJ-|#a!?5Bf?E6k zA^A1f17`<&;@n_woEKaN7X9DI^dhLV_?VqzT4^G(%NL2&zL``#+F$W90{u0#<$?>B-6uB)wVrfut`hKal*7 zl^;lcX5|Nxfvo&MGMJSgNQScV1Ich!ejpji$`2%?S^0rvEGs{djA!L?$r@HJm#kyu za>)i(E|+X#<#NduRxX!pW94$m4puIg>|*6|$sSfNm+WKZa>;&HE|(l&<#I_0E0;?S zvU0iP5G%iuOl_In@RekG%S`;Gr44^=ncMKYWO%E*(C?C|tqKaAojh9?@JF8G+ZGh2 zIGz2epfJ^`PFP-Ono|?BJN zTBqlcq5f-~UPi`|DaY;n4XJDt3v)s7cVS7N4bf8lg3 zW(nSi`5kY?{Dya8mTiCSq*m_1IOV^XpuC7$Yt@=vrWuVAL~Z_HNiz+B}v%u{Z`ZpvNT-#PuRbl&mKX^B$6Wy=5PtWbW%RZ6EF z@0~U%3kttDT|*b?VAYx!SLqT}sK2XpnJUiVDqW%4>EyPgO)`Ka&cnI`+S<)ugv#L;b5s@5IJAs!8v~ z?scmseGsc9Ka5R4{i+Unvs7Iqs zJr*<7<1t(P3+Ae)VxD?Bc2iH@<|TcpzJnF&3Vf};hi}yn@V)xsHXrGD%}?8Xq!Trv zI9byHr)oOkbWOze2GW-r)s6_#L`i)T3ksv8^%L6`CP+iHhHVMbmRb|G)}~=wZRc%T=?-lH z?$Y+eJ=)&5Puq7}vb09h0rW^JLC>Uv=$&+ETe>tR`43bj|B344zc4QO?`@r>xydIm zFZmR9Oa2E7lFx4IBK<2laC;Z&-^oFEBDo2kN^Z72R~o4M8H02Kv59UlHq#B=ULeiW z4aaV}kyxM`jXiZ^xA%~~);+|xy2tol_Y^x(gbpmR7)IFOm;R|0SQ4x>!T~PfFdaagLMHs@A58lhW!| zExCp@0X?kE>3CYzj#JV)OrDbZFnLPqXKkT4C2h#$DQN(cr=)?_R&;`xJS}a;1%lZ^L|JP?lp9Rjn`-b{2aPHeT&auGxe|=M`EO7q0ua-QpFW0Q|;J!(8hW1rE zHaqX=mlwL#`7u6s9zCFD_2ISdq zQ&-k|a9(JjY|{`I|3KN6A#S*Bh!gG@;_M$RJ2fN}{}~eJ2$r26vbB1!?BWnD`QIT4 zcxA|DI@gA%9dR_0j^Wq~8x7WR|{jVve}AR9We*~kI1;UhzE z;QOz)DR0uX1)pF!WSq7bvG8>(dvP?STWC!VtlO3Wn zPWA_#39{F8Cdl5>nIL;lXR<70v}(*WnGJuDt-@Kd*Em-eHAXe&H<<~S$bQ9TvcJdp zIhM&zjZr(6%l;jc;8-II9jh9%URHn`Wpi;&$V)gPxCvqv@<_sO>50husfHRhl! z2oK4$__wU*_yk9V?8Zbtyf;zp2z2qAs&=$=xj40LVM~{Prxp~3xonvh>L2E^ZCaco z%w^ZK7w%y$d!}j0`=%w}{%OzX9GIqdbaGKl5B2ZlQgwP9*<<<(_f9UJ)3s#p=?Pe8 z`ZGE{)76d$mjEUsTmqSla0y~E!len55iZS`jBp8IGQy=LlZh_3rssufUA|(v%itO6 z_317{XT+`V>@u9(*<~bol*@lJ^Fo)nsAlJdE_WG?D_yqXT9<3M)g^mQ+rq6bxpN8% zx4HZ_CogorOY6CLp$}XJ&nqZ=;4*Yxx57#n-TVZ{|6FG;$qVi8x(tWA1}x>CRL(WfLD>z63euOt>5mS`}bBp!oG)U4L5q%DS&gksB**4VnF6Sghs zfT1Nn;ZG$Y*r6l>JC(G=h>|84RniP&O8ih&5{T-O0E{ciV*P}Y9FI5hj1n)`H*#A^ zZOkmGi+Lrruv>{Q_T+bXBk#=$Z{&Sh;f?%%tngMou%w^ITlwIU{y4PcNzJ$N(Itb( zV@rnMM9%eAKACg9l~3hdZ{^cD*9Z9@{C_{lpK_UekU!@#`5>?0H~Aoc%Wv{Q{+>(V zgZv|x%m?{rE|U-PuUrlvC0=#qXuE>VjekD+r2Ztl*^B#Ce?*TR5+i zVh5`^DGqX8C&fRU*GX}W)tnV~SixCwj}@F14_Luj@sJgq6^~iLO;O{Z+96l?9OQX~ zLWk~(Y&xEb1z20L27MHV=m#in9SrpkP~15fN4|HkyJvvn!9gwgp?K=!gFWaxWxkQ( zC6kR56-+i#ygt~=vytL0lZ_PbnQWx^c(4zh&rF6W3d;OFLKHpAvaoMiF#fMB2Zxr$ z;_$La99b5RQ_B)@MVS&;l||#4GCx*WSN3C_4P}A2sVo4uly$&uWk2DLvJl)=))M!W zHNkyl&G0~3TP!JSjR(s*;i0k!M@z+tvIIO;#%sTdf67#Nwk!(Im&G_*DQ=Y2a&4u! zRpy0v%4*}ivby-7%oiV)`Qu}LpH_;e{BErj&-txdDPHnhwN`v&<<^SNtlUQ7d}xqI z8->fEe&}{+2r3Ts$Et^()NG@ue&{yVIHYFM9}Yyz;Q-7&Y{J~bY1r*> zXB>Rkf+G+6;gZAtoNL)(HF?e9Y}|4<7xy2|b97NWq~AsHn3)X4e}@ws84BSKtz)iY z!JjR+f>@n;-))t}qF3KeVq)RNcznSdMq+)QT^lWP?jN7asXif%_k{nsf9 zj>eID9^LM>PSN|QmfZJfg5#kg;_tlB&x(1+^FkF>R-Fj-S5#SZBF>?xvhGALPeqjt zC$!{EClYYWi9U3;o#0t>YpI~_CljvRgjdu@s_GWrMcv7#9sR@6e^+=%n0iS$UF9!)Z}175)FtXA^`27S zCO{MlzSExIb&m-QSrIgfIYB{x;dPUWE%=^bwcWOHI zJN1~V_JpJKsGq4t)K*INl%uaH9o3oIPd%n&&-iO!YB05dI!0ZfqM!3SQ}d`*RIL{r zdqMT4MpCb-W-mFSfXbn6P~NY2pO`XIs!#mCsj<{1>Kaw!Gk*h4{Yq`6WM6pkmKsm3 zq~u>&llq-1rP_bv*n8?4CHarz_oyQ3JT>Awmjm@THA3KsCF&G4O~TOt)GcbQ6MrQ| z{YRaVa)hfhN2gM*GLE&P3aAtpj^(8uQm?3SZXA_BEvEKUH>u~;7s^A<@r~3^l!@v} z4WwpKYpEjYGWC@DM%CwA!b7P9syFrH``Q;!KfVwB$G4dO_#X0_d~b3SDw^s>ji-L6 z{-S<-XY)s@5#K7Sq^#7BZ|_}4{rHaDKdB$zN*ltrT>khr(jVV^8O?X}t)hN>U!a+9 z4f^pdNDcY^k~UNn-<6O;{rFaj71Rc52X&bG@vRR(KDFJIPdRQy*{L6&s{P}0qO0&( zp+@R&>c^*zzNeb-S%g|Dl^RIRp$<|Xsa|}-*;&ei&p&EN^{2*C6?}@xa{d%4pB!PtEMWWlH_86GvrH z10(pC+DOSFIVyvi7sd5Sg++6GjFQVs#gPe#Tt`}tX-eWKYaM^JLN(Fzf2TTAc4|Q? z$C^;(RD(2nT{$0hnsUnHcnYc;<=2g)IlA+g4pbJkhjLJVP%R6%OnPvA^yIi~>Iqdr z&F#f8VALDxGbQQG(QH&3DwWEhPW0z50jV}Wb3_KUZ~({jP~L;M&ZraAV`{??j!YWL zeSkVUjO&qFHk@O$MsV4VG`zI39>HQ^Tfm`=f$?;eIod zW1D{E|2T_(mv9Wie{E=M^%<9I*H z`#DF`P@z;LrJ;0`nd(iAqoz}Z)bEt`6}J`2sgnB$l|UJ(q}TkPs7=%!>f2ZDd*4|1 zJ8M#p1*zaCkqWU?0X3f5PaUT2QXQP6LL6nGdQxMhQsE@k(OD|&q;6B6sH!rlP?yS} z=25Gu)~-@P;U*QXQ}Sw3!H4>ldimqu>QZ41b(C_{kP26*(3(==mWNb$MAfb(6&g}W zR2ucKmy~bv=DbvFQ~qr!6%yJ=1zDI>aHq;UNQHA9rGm7RRPd%=Q1`>7d>4mQ@QC1N zP^rf6EmwFvoS&z6I z5H~Ot_#aR-A7ubM4ZH??0otS`9dH-$5b!kc3h*!BL!e*IrG^0GfzyBv-~!+>;CkQ#z}@0feSlLIy43H0Pk`H6 zU1~FMSer}L1MR?XfUkjG?eGUYzX){?xO}loeF^OU3zs?qNB|Ro89*J-40HfXflGmF zfLnn70$%{d9ncdv5cmi<;!M;HAO$o4%Ye^-!_I=9XCp7bmB5^HP&UBte~IS_9DFX? z(0ML3dI`z_IOErNj=)X8J;0;Du}e{ozzM*~z*gW9;91~J;J-ll0+*TuR4hX~0Kz~N zI0^7wi24Lv4h&iDQp17Sz-7Qj;3wd)-ym)v1vCJ^1J%>rxK`JAoI05u07=%==xcbUU8I1JD7u3ut%{^%YnR zT)zWl`6Sv8@FXyDC$3N7c>&hbE;RRx^NOO5JK!l^b73bmMC}ZhV`2ly4R1h@cL4qObZ0WJfUoaR=O<{`~`w`y&6tCw5cYUo0@ zn%?S09d)aJ{nD+<&ULGCz(0VxUm?!(5f?D(*SH6M4ZI1wzZBOS-ReKUg*PD$;GCP0 zCtw5c0PqCx9I*BlxB5NsZy zAAy^I&A>yz%fMSe{z2p&_%*Nw_##f4h6;lF`yCn(=%@MBJcw+>RH?aj{E?QeY);6R;WB3Oow@4R{AQ_*J($3Rnnq09%0V zz~6w^fmyG))q}tfz=${8s^o3AI{crg_du_Ixz$J@3oHX}20j7?yyI3!11A9I0?UDl zcM%R43rq!00h)kIfaBhSU*LRT)W1>w@1q=nr-4s_e*eMq0fqw>a3W9xTmoDUYzMvt z%0Iv}0geWa1x^G`0nPx<1bzct4%`6T3p@e53j7!N5$N|{w>k{K){sg9vw$;zvw@3& z-vf654+Ad(e+T{rd;oj~d;_QtQKtcHAgO}^3pfEd6<7?c0ImkM10Mq40&jeTwg7wt zd) zSn{=7Jpv5)#;wK!e*|s>HUpmk!@os)20r}Gt-c3(eUE++m;}rKUi$(1{0P6mw}AU6 zl!+=)cK{Co*B6zjhk*&jC2A5d2gn2CT_x%i;AUVmunl+&cp7*ScoTRR_z?I4INx2O zRM7~vK<2;TMyi^FU`;4@(P-7Y)U7$M+OP(*2gqzS#${xFb%%CUMPYT3c2z}V)IG)G zs){D4S57O@Tttn>3|M3_wRDS8m@ySSQvSf-VbOuxQU1QeJzl<|KhDfU_GEcvq2Zn` zKj0qY@0oJ-o{>FQKHWC57s~%Mssth2MSXkU<8YO|*PUo&`}SU$HC+GR>rXP=0li;v z{2kc)Xh$}v_jf*t*~? z=k0y9P9s^=)O+{~3S*xtTI%SmiasA!X`uul`*N7a;r^#N@%PQJW6wmN0PeeCH5-h- z{=+}pjQOSNQFMTJ^m>V}N6~@aSq?YId*nmN4?;ZP-!Mn~siKD*E?%@Yc*=!%rYc^v zE?5rhLAdq7+hFGicSZ2W7Yui0aOnuVqXXI1!COx-vOffW@5ufX95&UsUK{*qsd2q7 zc=uWp^Yy_;9qz{9d{|Br%gw=a9PZYj{04Fl$ZiiFJj;Z*GdR-W?h4*EutbOWbMR`1 zyC?YK$tJbG1XF{I>wUq6nk#a>AKZ|{w+<2CxVdj$hqWF&%X62;U|k{QqVtv(X-*X_ zS-K@9skw`mF0FQ4mo44j;g&Crpgv286-(cMFBeMfy48=RN>F!I(eouxi|!w&itXn?UG}i;1C`sJ1zKXafR@_VfcCI2ePE#KX|Dq< zvo8lNx9OI4R|l#JJM;EH)z@wZ?Psq9t+X!z-N)Vny06{x-az~o z_2r=b?Tw)O+uJ}7u-^t9VE-HRK-=^0fohGU#CYGSGwU7eNoU4}O23I>c`L zY@j;S{w?Sbd+gT()nRrL^lFw3~k#sE)E1f)2HB2OVbL2Rhs?QG@Wi z*B6uy!tY++0(y-773fI&s~&^YDEraLgVbny{FFh;V_yL3weJSC>^DGd`>3gdl+Qk` zW)OZMdp>BuUH}@j*MNrXhUtS;*j@p8tbOB*L28WsIp|n>=*&TCoP8bWczbBwAT`0B z33{A8vvH7$*yn;q?K?qZ_IIFhyR~VMO4v(4llDcR$J-aR4^k)CkDWJ2RoVNUKS-Tu zj|Dx+t^u8BZvdTSUky6hPF*-iO|etI8>FV%%Ro=IS9~x?O|x$Wt+rnRt+D?JI^FL3 z-$81Iy$|S2`&iIf_KBdg?Ma}g*zKTm?CZZ6gkSi626V3d%$I}k3*YJT!T5#m^FU9x zi~0;!X}b^TJbOB5t(^v~v#$ru*q?&d+h2e-*k2qpSk1ThJ9x0l+BKkO*fT*F*vmj0 z?OQ>cZ0{k1RkIxi&Dmo?TkL*^4ps~8S)h5lbjV=UYO5m$t2X-t(02Pm&_(uE(8c!i zpue!c2ko$XA2k@iJKlTfVEpcQ@8Do{w*A?$gYoO*myQ{XUmyQ|>|p%*czoPo^(%V= z=y~>Spy%6PgD$ZT9Y0w8+CCg~sXZL@0^19^%w7e0p?x*za(n1;gVk^B7eH6ouYq1< z4~h&{EA2ti!Rlgr4CpF*4(KKJoY-Le#`(>lzqMZhU1J{^AFM95=Yp=aSA$+=-vzqP z{yXUJ?1K`6)q4A6(97+)pjX&GfNro|#}8Il+A+|p>`9gttKLS6r-t99e>lK zt9nJ>J%BZFaoeEpo_JV~kLq@P_gr2^U!~gg-Rp&*>Z5wAzN$j?11f<*3auSD2sjux1UM8pObt=P)KE1XI2!P%(JFu$*|93D#sFi1 zaX?H(RUAkFN#JQj>rwYOD-xE{CxxDmKdZB^TVXVl-+v%qt}^T6BcAL^gLzkqjucY*hSZ`C*I zC(KZ>F`$Zo5k*Ji1KE>`rT{aGW)#f=W&@`c%`Hj+^NSjavOrT&V^K4Z16qKyi_R)K z2lyp$F0iTSx}tlF?kV~U@J!L)ik=0Y1D*$c0oNCSmw=anSAbW6*MR>PeNglv@JZ3f zMV|s+7yYm38$cERR8&^nv$(vtthg7h`xI9eA6$G;@lnM`7W<0rVm}ZmKCU1x_Sb=T;;CbKp&ve)z7uRtH0|2 zU;q$u1zlm_SYVQCqO009%~k7~=c)tFcAe!~?z+(R8(;-+5pc0sH`4;CA2+V6*E^*ImHfz@LG?xbAgr1?~g30rvwBxVF0<1ResO za6RsN68I~y6L`k;H`mLqmt3y^|8;%f`rP%I>r2-cuCIVHcTe|z?tR?@+y}T11O@^l z+()~Q0YVXEJ-QDJ1 z1S|%Ate~nR~7KD)*J{Tiv&~Zv(cv|Ki@}zR!I>upRUPTpt7;0v>Tc z?0(F>!~Hn$1n?yAS70ab6!0|gH{coIS>Sp1bMBYiFS=g_UIAVOUIShS{tmnWya~Jo zeB}Pn{W0(f@G0;=_gC((fp36sf$xCtfggY$f%1~FlKo2dE!n@Mf60K714;&!3@jN8 z90VLva&XBJC5M+B2@EYcs^p}S6H87nNtL95+LC!C*OpvU^5>GfOP(uvw&Z!>1>i;C zCE#V?o06|fz6HJmz6X8)egu93_Al*UdH^s0I1m^JSf$?5K&ihp2!u;RrN;teOUIPf zlvbBc2W9|urM0E?rJ2(Cr46O)OMh2-N9paQ_m^%feX4Y4X}CwI$Fabi9;fuE>rvaI zy+>P*vwNJ?Ty+%D|>v_6Adsg+V=~>-#X3rTtXZM`db8gR5d#>;KyPlT=8+u;R^Ge{8o*(!8sppS9i^^14 zZP~oCIv@kogEj#3fh=$aumETTE-hPAwyx~5vYX3pD!T>rR$OlbZU^oF?gTaicL8?; ze+ISy_m@5 zdY1PnF9Z6N_b#sh`hxZYD#7mq>76Jd0lyPc~ki%<*Ulql>fGTZTY3;SC(%mzY5q` zer@@t^6ScPE5Eh;j`G{f-z$H&{NKR)z<+>`%0Ddsy!^BBFF?O4|FZnM@^8z(2Yvv4 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�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

    4=llG(JkU;l-QBabFOW$PXHJ$70^Bv;$@eq*b zYo-S6;UP8@pt3j7UUz60n8BUpF`$Ke;Pki+0@DB=4NVGaJ}f5^mbVZbrN?z+p~GW# zyig<^qu&+-E1H`(kYGc#?EA1lWgQ39WYdduhu*{zdzLIuvi?91eMiZDyfwXTJtIKX zwr1Kt#w%ZwKKPny#+W6wEl#<;pb_cQW83P7e^|TuaB-OzI0y5gMWS!ChP5KFfh%qf z*EqMfGEN=oOdDx}(X>gum_9uqk9a~b9gC6A3wCD5_nUjr9gmW_4xyK2h*BM$SbK#3 zgXat)0_*}%3|b5;o)K)r9!OZW4sOh_FavC0v?3fB5=5Dh6O{9p?JL>)J{5poR144y zJk%PQ)ZBV?2a}uSI3zK_Wg#h>odcI7#DvgRDAk*5eFYdJ#mvV`?_` zv9;e`5E0N(wVo(|5s5%Zq{)$q)1O7U$T-7oMQbAsP5`@|d7V-dBto=c9Y{t^q|b7k z7adOaNd-gVg_=}BUQJ@IM$h=vE7{Zq+uqm;1Da{EVL%Xq(I)b(HH+@EXVruD(JMp9y zZ7m03t(}IR*fgKQC=N(5v=+7yO!&=PG{iGI?#nu*-6fdQrkKw!Ww#JjVdvbY9|F+3 zH&bHI$`xw2JEi0B%94v?T4WgYHg+2oGv`d7VEH(3+AemFxd|;ZJjfDbXRnW`a5lg{ zcmpbGYP_|776X!|alR<76|N1(LN-AdU_5;k(-0Nmg=5IeMUEU*42J;}gFx&A#?6Mi zAc!d5TcO8&Ez}8KpW#5$n;3a2&unc5X<;!VB3Pm}YQV<~acp1#oSphT7!dN7hFBR! zd#w#93+WJp#g4T0TS0=M34|bUSpbRgW5)p~z|`7Cm>}K$cGL(ek*M4*@Tj?-IFR z-6R79BXz@R{_40ELVJ~D(38+WajSZrK7%#?C|GlS*&6yyeI@x7>4572Z;K)Xpe#&{ z3lYN7s_VYkOb}wW947q2_Jy>zqHi@4I~qLH*3ep{9x*8!I8av8DEJ%0A;>TglA$(G zF10De82A0~aNoe&aN|!OOB;COYkxEZs5Ue$E45@Si4l_!JddS4QCPOuv>&eheow2v z&uijy`u}wIFE@3e>K7UlBa(j(ypgaDWksq77B8a|c`Ukh=-@k1S&$gfZXbynSKpxY z`IJ`K7L&&;i5&^#3w*7zCAk>sE%kZzf}SC_;b5H|E*{3Jmozi`Y_=^6db&HP*G1&| zZbO?4B%uSZmNY0IUd0GR0tvP&xq@k4T1hYp_SgHPfEUjB)Dd)>UkF(v=irZYsh@nO zVkE?yq<51J2QLwdrnAd={^2v?8uV9oh*^w#_yT33vA!AVs7_T4XX~tk!_gW?X>VzF zQN1Fz>3AOxrA|pKrO8FLV{bP|ULLBGxslhHj6d1H!^e4=a#5ZC^Crcx$_G^?5z`HPRJuD;`N%6%E=7p6ADVFQ5Lb<55P{HV$Xn~+&J6G_rQqiU0ggHT( zHpEP?hqb7wIi{;ynjyDNXnIcRo9(DWecNwu&IxYbdi%h9H~yt@jbUCbi2+MO>r|qV zNDXbt4qUBJO`K5R~X&H=;d0|_|$$`G-^z-Qz(N8zgy;a9d_74eX z?~BtcDeeWAzX=^A~uZ(%04Z=QNE|_lZEo6Bvt=~8B;>B}kVp!Pl zk;1#LH)d~kCwPH0D2S#cQHDj+oL^ejQ*AAslHmBfF^5!+La_FS>rW}bufu^lSVBpK z`Kjwn-xVB2166IOczRt_VYP$!<`}Fk%LK7%Gy~&n6E<4U^%p9uT}n0pq14FfTG1Yv zEc6zmp9aCK8NtDq6Rzo*Yguja1Y5-gE#Lu0D+ID5k@R6Ehl`;)ywnjF4!PBowr5y* z$7%Mx3gw!jbz7Y{Cp@vI0{9$Wg1yUv6;22jC!L`llq{ioybBf$kuIToI<};F4&6#H zVIkLX$Y=UvMSoL5I-MKdYB&S-13F_PxV!{12pHIAxuXt>hqER`B)|?hp;ZyZv~W$m ze3bXNvhVAX>VdcT{F_};)4RrWaT3#aFR0Z;{eNAFl&iV`<+6Ugp@h>#J)hS;$Q3

    5|BW!V&IyGy4WH$d)=bUOzGs@ZLVp04)fK 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�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 z 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 M=Ko#)&(y$w19wecS^xk5 diff --git a/override/mscorlib.xml b/override/mscorlib.xml deleted file mode 100644 index 03bdf2a2..00000000 --- a/override/mscorlib.xml +++ /dev/null @@ -1,98505 +0,0 @@ - - - - mscorlib - - - -

    Provides COM objects with version-independent access to the event. - - - Provides COM objects with version-independent access to the event. - - - Provides COM objects with version-independent access to the event. - - - Provides COM objects with version-independent access to the event. - - - Provides COM objects with version-independent access to the event. - - - Provides COM objects with version-independent access to the event. - - - Provides COM objects with version-independent access to the event. - - - Occurs when an assembly is loaded. - - - Occurs when the resolution of an assembly fails. - - - Occurs when an is about to be unloaded. - - - Occurs when an exception is thrown in managed code, before the runtime searches the call stack for an exception handler in the application domain. - - - Occurs when the default application domain's parent process exits. - - - Occurs when the resolution of an assembly fails in the reflection-only context. - - - Occurs when the resolution of a resource fails because the resource is not a valid linked or embedded resource in the assembly. - - - Occurs when the resolution of a type fails. - - - Occurs when an exception is not caught. - - - Occurs when the modifier key (Ctrl) and either the console key (C) or the Break key are pressed simultaneously (Ctrl+C or Ctrl+Break). - - - Occurs when a contract fails. - - - Occurs when an event source ( object) is attached to the dispatcher. - - - Occurs when an event has been written by an event source ( object) for which - the event listener has enabled events. - - - Occurs when a command comes from an event listener. - - - Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception. - - - Raised for each reported progress value. - - - Occurs when the common language runtime class loader cannot resolve a reference to an internal module of an assembly through normal means. - - - Provides COM objects with version-independent access to the event. - - - Occurs when the resolution of a Windows Metadata file fails in the design environment. - - - Occurs when the resolution of a Windows Metadata file fails in the reflection-only context. - - - Occurs when a faulted task's unobserved exception is about to trigger exception escalation policy, which, by default, would terminate the process. - - - Defines the types (or classes) of documents and the properties associated with those types. This field reads the Windows registry base key HKEY_CLASSES_ROOT. - - - Contains configuration information pertaining to the hardware that is not specific to the user. This field reads the Windows registry base key HKEY_CURRENT_CONFIG. - - - Contains information about the current user preferences. This field reads the Windows registry base key HKEY_CURRENT_USER - - - Contains dynamic registry data. This field reads the Windows registry base key HKEY_DYN_DATA. - The operating system does not support dynamic data; that is, it is not Windows 98, Windows 98 Second Edition, or Windows Millennium Edition (Windows Me). - - - Contains the configuration data for the local machine. This field reads the Windows registry base key HKEY_LOCAL_MACHINE. - - - Contains performance information for software components. This field reads the Windows registry base key HKEY_PERFORMANCE_DATA. - - - Contains information about the default user configuration. This field reads the Windows registry base key HKEY_USERS. - - - Indicates the byte order ("endianness") in which data is stored in this computer architecture. - - if the architecture is little-endian; if it is big-endian. - - - Represents the Boolean value as a string. This field is read-only. - - - Represents the Boolean value as a string. This field is read-only. - - - Represents the largest possible value of a . This field is constant. - - - Represents the smallest possible value of a . This field is constant. - - - Represents the largest possible value of a . This field is constant. - - - Represents the smallest possible value of a . This field is constant. - - - Represents an instance of that is associated with the of the current thread. This field is read-only. - - - Represents an instance of that is associated with . This field is read-only. - - - An empty object. - - - A constant that represents a database column that is absent of data; that is, database null. - - - Represents the largest possible value of . This field is read-only. - - - Represents the smallest possible value of . This field is read-only. - - - Represents the greatest possible value of . This field is read-only. - - is outside the range of the current or specified culture's default calendar. - - - Represents the earliest possible value. This field is read-only. - - - Represents the sole instance of the class. - - - Represents the largest possible value of . This field is constant and read-only. - - - Represents the number negative one (-1). - - - Represents the smallest possible value of . This field is constant and read-only. - - - Represents the number one (1). - - - Represents the number zero (0). - - - Represents the default category of message with a constant. - - - Defines the value that is returned from the or method when the native or Microsoft intermediate language (MSIL) offset is unknown. This field is constant. - - - Defines the default for the number of methods to omit from the stack trace. This field is constant. - - - Specifies the GUID of the document type to be used with the symbol store. - - - Specifies the GUID of the Basic language type to be used with the symbol store. - - - Specifies the GUID of the C language type to be used with the symbol store. - - - Specifies the GUID of the Cobol language type to be used with the symbol store. - - - Specifies the GUID of the C++ language type to be used with the symbol store. - - - Specifies the GUID of the C# language type to be used with the symbol store. - - - Specifies the GUID of the ILAssembly language type to be used with the symbol store. - - - Specifies the GUID of the Java language type to be used with the symbol store. - - - Specifies the GUID of the JScript language type to be used with the symbol store. - - - Specifies the GUID of the C++ language type to be used with the symbol store. - - - Specifies the GUID of the Pascal language type to be used with the symbol store. - - - Specifies the GUID of the SMC language type to be used with the symbol store. - - - Specifies the GUID of the Microsoft language vendor. - - - Represents the smallest positive value that is greater than zero. This field is constant. - - - Represents the largest possible value of a . This field is constant. - - - Represents the smallest possible value of a . This field is constant. - - - Represents a value that is not a number (). This field is constant. - - - Represents negative infinity. This field is constant. - - - Represents positive infinity. This field is constant. - - - Provides a value to use with events that do not have event data. - - - Represents the current era of the current calendar. - - - Specifies the era that corresponds to the current object. - - - Represents the current era. This field is constant. - - - Represents the current era. This field is constant. - - - Represents the current era. This field is constant. - - - Specifies the current era. - - - Represents the current era. This field is constant. - - - Represents the current era. This field is constant. - - - Specifies the Gregorian era that corresponds to the current object. - - - Represents the current era. This field is constant. - - - Represents the current era. This field is constant. - - - Represents the current era. This field is constant. - - - A read-only instance of the structure whose value is all zeros. - - - Represents the largest possible value of an . This field is constant. - - - Represents the smallest possible value of . This field is constant. - - - Represents the largest possible value of an . This field is constant. - - - Represents the smallest possible value of . This field is constant. - - - Represents the largest possible value of an . This field is constant. - - - Represents the smallest possible value of an . This field is constant. - - - A read-only field that represents a pointer or handle that has been initialized to zero. - - - Specifies a with no backing store. - - - Holds the underlying stream. - - - Represents the fully qualified path of the directory or file. - The fully qualified path is 260 or more characters. - - - The path originally specified by the user, whether relative or absolute. - - - Provides a platform-specific alternate character used to separate directory levels in a path string that reflects a hierarchical file system organization. - - - Provides a platform-specific character used to separate directory levels in a path string that reflects a hierarchical file system organization. - - - Provides a platform-specific array of characters that cannot be specified in path string arguments passed to members of the class. - A character array of invalid path characters for the current platform. - - - A platform-specific separator character used to separate path strings in environment variables. - - - Provides a platform-specific volume separator character. - - - A with no backing store. - - - A object around an empty stream. - - - Provides a with no backing store that can be written to, but not read from. - - - Provides a with no data to read from. - - - Stores the newline characters used for this . - - - Provides a with no backing store that can be written to, but not read from. - - - Represents the natural logarithmic base, specified by the constant, . - - - Represents the ratio of the circumference of a circle to its diameter, specified by the constant, π. - - - Holds the class name of the missing member. - - - Holds the name of the missing member. - - - Holds the signature of the missing member. - - - Represents an empty module handle. - - - Represents the name of the class constructor method as it is stored in metadata. This name is always ".ctor". This field is read-only. - - - Represents the name of the type constructor method as it is stored in metadata. This name is always ".cctor". This property is read-only. - - - The default with value 0. - - - The default FieldToken with value 0. - - - Specifies that the method should be just-in-time (JIT) compiled immediately. - - - Specifies that the method should be just-in-time (JIT) compiled when needed. - - - The default with value 0. - - - Adds two values and pushes the result onto the evaluation stack. - - - Adds two integers, performs an overflow check, and pushes the result onto the evaluation stack. - - - Adds two unsigned integer values, performs an overflow check, and pushes the result onto the evaluation stack. - - - Computes the bitwise AND of two values and pushes the result onto the evaluation stack. - - - Returns an unmanaged pointer to the argument list of the current method. - - - Transfers control to a target instruction if two values are equal. - - - Transfers control to a target instruction (short form) if two values are equal. - - - Transfers control to a target instruction if the first value is greater than or equal to the second value. - - - Transfers control to a target instruction (short form) if the first value is greater than or equal to the second value. - - - Transfers control to a target instruction if the first value is greater than the second value, when comparing unsigned integer values or unordered float values. - - - Transfers control to a target instruction (short form) if the first value is greater than the second value, when comparing unsigned integer values or unordered float values. - - - Transfers control to a target instruction if the first value is greater than the second value. - - - Transfers control to a target instruction (short form) if the first value is greater than the second value. - - - Transfers control to a target instruction if the first value is greater than the second value, when comparing unsigned integer values or unordered float values. - - - Transfers control to a target instruction (short form) if the first value is greater than the second value, when comparing unsigned integer values or unordered float values. - - - Transfers control to a target instruction if the first value is less than or equal to the second value. - - - Transfers control to a target instruction (short form) if the first value is less than or equal to the second value. - - - Transfers control to a target instruction if the first value is less than or equal to the second value, when comparing unsigned integer values or unordered float values. - - - Transfers control to a target instruction (short form) if the first value is less than or equal to the second value, when comparing unsigned integer values or unordered float values. - - - Transfers control to a target instruction if the first value is less than the second value. - - - Transfers control to a target instruction (short form) if the first value is less than the second value. - - - Transfers control to a target instruction if the first value is less than the second value, when comparing unsigned integer values or unordered float values. - - - Transfers control to a target instruction (short form) if the first value is less than the second value, when comparing unsigned integer values or unordered float values. - - - Transfers control to a target instruction when two unsigned integer values or unordered float values are not equal. - - - Transfers control to a target instruction (short form) when two unsigned integer values or unordered float values are not equal. - - - Converts a value type to an object reference (type ). - - - Unconditionally transfers control to a target instruction. - - - Unconditionally transfers control to a target instruction (short form). - - - Signals the Common Language Infrastructure (CLI) to inform the debugger that a break point has been tripped. - - - Transfers control to a target instruction if is , a null reference ( in Visual Basic), or zero. - - - Transfers control to a target instruction if is , a null reference, or zero. - - - Transfers control to a target instruction if is , not null, or non-zero. - - - Transfers control to a target instruction (short form) if is , not null, or non-zero. - - - Calls the method indicated by the passed method descriptor. - - - Calls the method indicated on the evaluation stack (as a pointer to an entry point) with arguments described by a calling convention. - - - Calls a late-bound method on an object, pushing the return value onto the evaluation stack. - - - Attempts to cast an object passed by reference to the specified class. - - - Compares two values. If they are equal, the integer value 1 ) is pushed onto the evaluation stack; otherwise 0 () is pushed onto the evaluation stack. - - - Compares two values. If the first value is greater than the second, the integer value 1 ) is pushed onto the evaluation stack; otherwise 0 () is pushed onto the evaluation stack. - - - Compares two unsigned or unordered values. If the first value is greater than the second, the integer value 1 ) is pushed onto the evaluation stack; otherwise 0 () is pushed onto the evaluation stack. - - - Throws if value is not a finite number. - - - Compares two values. If the first value is less than the second, the integer value 1 ) is pushed onto the evaluation stack; otherwise 0 () is pushed onto the evaluation stack. - - - Compares the unsigned or unordered values and . If is less than , then the integer value 1 ) is pushed onto the evaluation stack; otherwise 0 () is pushed onto the evaluation stack. - - - Constrains the type on which a virtual method call is made. - - - Converts the value on top of the evaluation stack to . - - - Converts the value on top of the evaluation stack to , then extends (pads) it to . - - - Converts the value on top of the evaluation stack to , then extends (pads) it to . - - - Converts the value on top of the evaluation stack to . - - - Converts the value on top of the evaluation stack to . - - - Converts the signed value on top of the evaluation stack to signed , throwing on overflow. - - - Converts the unsigned value on top of the evaluation stack to signed , throwing on overflow. - - - Converts the signed value on top of the evaluation stack to signed and extends it to , throwing on overflow. - - - Converts the unsigned value on top of the evaluation stack to signed and extends it to , throwing on overflow. - - - Converts the signed value on top of the evaluation stack to signed and extending it to , throwing on overflow. - - - Converts the unsigned value on top of the evaluation stack to signed and extends it to , throwing on overflow. - - - Converts the signed value on top of the evaluation stack to signed , throwing on overflow. - - - Converts the unsigned value on top of the evaluation stack to signed , throwing on overflow. - - - Converts the signed value on top of the evaluation stack to signed , throwing on overflow. - - - Converts the unsigned value on top of the evaluation stack to signed , throwing on overflow. - - - Converts the signed value on top of the evaluation stack to , throwing on overflow. - - - Converts the unsigned value on top of the evaluation stack to , throwing on overflow. - - - Converts the signed value on top of the evaluation stack to and extends it to , throwing on overflow. - - - Converts the unsigned value on top of the evaluation stack to and extends it to , throwing on overflow. - - - Converts the signed value on top of the evaluation stack to and extends it to , throwing on overflow. - - - Converts the unsigned value on top of the evaluation stack to and extends it to , throwing on overflow. - - - Converts the signed value on top of the evaluation stack to , throwing on overflow. - - - Converts the unsigned value on top of the evaluation stack to , throwing on overflow. - - - Converts the signed value on top of the evaluation stack to , throwing on overflow. - - - Converts the unsigned value on top of the evaluation stack to , throwing on overflow. - - - Converts the unsigned integer value on top of the evaluation stack to . - - - Converts the value on top of the evaluation stack to . - - - Converts the value on top of the evaluation stack to . - - - Converts the value on top of the evaluation stack to , and extends it to . - - - Converts the value on top of the evaluation stack to , and extends it to . - - - Converts the value on top of the evaluation stack to , and extends it to . - - - Converts the value on top of the evaluation stack to , and extends it to . - - - Converts the value on top of the evaluation stack to , and extends it to . - - - Copies a specified number bytes from a source address to a destination address. - - - Copies the value type located at the address of an object (type , or ) to the address of the destination object (type , or ). - - - Divides two values and pushes the result as a floating-point (type ) or quotient (type ) onto the evaluation stack. - - - Divides two unsigned integer values and pushes the result () onto the evaluation stack. - - - Copies the current topmost value on the evaluation stack, and then pushes the copy onto the evaluation stack. - - - Transfers control from the clause of an exception back to the Common Language Infrastructure (CLI) exception handler. - - - Transfers control from the or clause of an exception block back to the Common Language Infrastructure (CLI) exception handler. - - - Initializes a specified block of memory at a specific address to a given size and initial value. - - - Initializes each field of the value type at a specified address to a null reference or a 0 of the appropriate primitive type. - - - Tests whether an object reference (type ) is an instance of a particular class. - - - Exits current method and jumps to specified method. - - - Loads an argument (referenced by a specified index value) onto the stack. - - - Loads the argument at index 0 onto the evaluation stack. - - - Loads the argument at index 1 onto the evaluation stack. - - - Loads the argument at index 2 onto the evaluation stack. - - - Loads the argument at index 3 onto the evaluation stack. - - - Loads the argument (referenced by a specified short form index) onto the evaluation stack. - - - Load an argument address onto the evaluation stack. - - - Load an argument address, in short form, onto the evaluation stack. - - - Pushes a supplied value of type onto the evaluation stack as an . - - - Pushes the integer value of 0 onto the evaluation stack as an . - - - Pushes the integer value of 1 onto the evaluation stack as an . - - - Pushes the integer value of 2 onto the evaluation stack as an . - - - Pushes the integer value of 3 onto the evaluation stack as an . - - - Pushes the integer value of 4 onto the evaluation stack as an . - - - Pushes the integer value of 5 onto the evaluation stack as an . - - - Pushes the integer value of 6 onto the evaluation stack as an . - - - Pushes the integer value of 7 onto the evaluation stack as an . - - - Pushes the integer value of 8 onto the evaluation stack as an . - - - Pushes the integer value of -1 onto the evaluation stack as an . - - - Pushes the supplied value onto the evaluation stack as an , short form. - - - Pushes a supplied value of type onto the evaluation stack as an . - - - Pushes a supplied value of type onto the evaluation stack as type (float). - - - Pushes a supplied value of type onto the evaluation stack as type (float). - - - Loads the element at a specified array index onto the top of the evaluation stack as the type specified in the instruction. - - - Loads the element with type at a specified array index onto the top of the evaluation stack as a . - - - Loads the element with type at a specified array index onto the top of the evaluation stack as an . - - - Loads the element with type at a specified array index onto the top of the evaluation stack as an . - - - Loads the element with type at a specified array index onto the top of the evaluation stack as an . - - - Loads the element with type at a specified array index onto the top of the evaluation stack as an . - - - Loads the element with type at a specified array index onto the top of the evaluation stack as type (float). - - - Loads the element with type at a specified array index onto the top of the evaluation stack as type (float). - - - Loads the element containing an object reference at a specified array index onto the top of the evaluation stack as type (object reference). - - - Loads the element with type at a specified array index onto the top of the evaluation stack as an . - - - Loads the element with type at a specified array index onto the top of the evaluation stack as an . - - - Loads the element with type at a specified array index onto the top of the evaluation stack as an . - - - Loads the address of the array element at a specified array index onto the top of the evaluation stack as type (managed pointer). - - - Finds the value of a field in the object whose reference is currently on the evaluation stack. - - - Finds the address of a field in the object whose reference is currently on the evaluation stack. - - - Pushes an unmanaged pointer (type ) to the native code implementing a specific method onto the evaluation stack. - - - Loads a value of type as a onto the evaluation stack indirectly. - - - Loads a value of type as an onto the evaluation stack indirectly. - - - Loads a value of type as an onto the evaluation stack indirectly. - - - Loads a value of type as an onto the evaluation stack indirectly. - - - Loads a value of type as an onto the evaluation stack indirectly. - - - Loads a value of type as a type (float) onto the evaluation stack indirectly. - - - Loads a value of type as a type (float) onto the evaluation stack indirectly. - - - Loads an object reference as a type (object reference) onto the evaluation stack indirectly. - - - Loads a value of type as an onto the evaluation stack indirectly. - - - Loads a value of type as an onto the evaluation stack indirectly. - - - Loads a value of type as an onto the evaluation stack indirectly. - - - Pushes the number of elements of a zero-based, one-dimensional array onto the evaluation stack. - - - Loads the local variable at a specific index onto the evaluation stack. - - - Loads the local variable at index 0 onto the evaluation stack. - - - Loads the local variable at index 1 onto the evaluation stack. - - - Loads the local variable at index 2 onto the evaluation stack. - - - Loads the local variable at index 3 onto the evaluation stack. - - - Loads the local variable at a specific index onto the evaluation stack, short form. - - - Loads the address of the local variable at a specific index onto the evaluation stack. - - - Loads the address of the local variable at a specific index onto the evaluation stack, short form. - - - Pushes a null reference (type ) onto the evaluation stack. - - - Copies the value type object pointed to by an address to the top of the evaluation stack. - - - Pushes the value of a static field onto the evaluation stack. - - - Pushes the address of a static field onto the evaluation stack. - - - Pushes a new object reference to a string literal stored in the metadata. - - - Converts a metadata token to its runtime representation, pushing it onto the evaluation stack. - - - Pushes an unmanaged pointer (type ) to the native code implementing a particular virtual method associated with a specified object onto the evaluation stack. - - - Exits a protected region of code, unconditionally transferring control to a specific target instruction. - - - Exits a protected region of code, unconditionally transferring control to a target instruction (short form). - - - Allocates a certain number of bytes from the local dynamic memory pool and pushes the address (a transient pointer, type ) of the first allocated byte onto the evaluation stack. - - - Pushes a typed reference to an instance of a specific type onto the evaluation stack. - - - Multiplies two values and pushes the result on the evaluation stack. - - - Multiplies two integer values, performs an overflow check, and pushes the result onto the evaluation stack. - - - Multiplies two unsigned integer values, performs an overflow check, and pushes the result onto the evaluation stack. - - - Negates a value and pushes the result onto the evaluation stack. - - - Pushes an object reference to a new zero-based, one-dimensional array whose elements are of a specific type onto the evaluation stack. - - - Creates a new object or a new instance of a value type, pushing an object reference (type ) onto the evaluation stack. - - - Fills space if opcodes are patched. No meaningful operation is performed although a processing cycle can be consumed. - - - Computes the bitwise complement of the integer value on top of the stack and pushes the result onto the evaluation stack as the same type. - - - Compute the bitwise complement of the two integer values on top of the stack and pushes the result onto the evaluation stack. - - - Removes the value currently on top of the evaluation stack. - - - This is a reserved instruction. - - - This is a reserved instruction. - - - This is a reserved instruction. - - - This is a reserved instruction. - - - This is a reserved instruction. - - - This is a reserved instruction. - - - This is a reserved instruction. - - - This is a reserved instruction. - - - Specifies that the subsequent array address operation performs no type check at run time, and that it returns a managed pointer whose mutability is restricted. - - - Retrieves the type token embedded in a typed reference. - - - Retrieves the address (type ) embedded in a typed reference. - - - Divides two values and pushes the remainder onto the evaluation stack. - - - Divides two unsigned values and pushes the remainder onto the evaluation stack. - - - Returns from the current method, pushing a return value (if present) from the callee's evaluation stack onto the caller's evaluation stack. - - - Rethrows the current exception. - - - Shifts an integer value to the left (in zeroes) by a specified number of bits, pushing the result onto the evaluation stack. - - - Shifts an integer value (in sign) to the right by a specified number of bits, pushing the result onto the evaluation stack. - - - Shifts an unsigned integer value (in zeroes) to the right by a specified number of bits, pushing the result onto the evaluation stack. - - - Pushes the size, in bytes, of a supplied value type onto the evaluation stack. - - - Stores the value on top of the evaluation stack in the argument slot at a specified index. - - - Stores the value on top of the evaluation stack in the argument slot at a specified index, short form. - - - Replaces the array element at a given index with the value on the evaluation stack, whose type is specified in the instruction. - - - Replaces the array element at a given index with the value on the evaluation stack. - - - Replaces the array element at a given index with the value on the evaluation stack. - - - Replaces the array element at a given index with the value on the evaluation stack. - - - Replaces the array element at a given index with the value on the evaluation stack. - - - Replaces the array element at a given index with the value on the evaluation stack. - - - Replaces the array element at a given index with the value on the evaluation stack. - - - Replaces the array element at a given index with the value on the evaluation stack. - - - Replaces the array element at a given index with the object ref value (type ) on the evaluation stack. - - - Replaces the value stored in the field of an object reference or pointer with a new value. - - - Stores a value of type at a supplied address. - - - Stores a value of type at a supplied address. - - - Stores a value of type at a supplied address. - - - Stores a value of type at a supplied address. - - - Stores a value of type at a supplied address. - - - Stores a value of type at a supplied address. - - - Stores a value of type at a supplied address. - - - Stores a object reference value at a supplied address. - - - Pops the current value from the top of the evaluation stack and stores it in a the local variable list at a specified index. - - - Pops the current value from the top of the evaluation stack and stores it in a the local variable list at index 0. - - - Pops the current value from the top of the evaluation stack and stores it in a the local variable list at index 1. - - - Pops the current value from the top of the evaluation stack and stores it in a the local variable list at index 2. - - - Pops the current value from the top of the evaluation stack and stores it in a the local variable list at index 3. - - - Pops the current value from the top of the evaluation stack and stores it in a the local variable list at (short form). - - - Copies a value of a specified type from the evaluation stack into a supplied memory address. - - - Replaces the value of a static field with a value from the evaluation stack. - - - Subtracts one value from another and pushes the result onto the evaluation stack. - - - Subtracts one integer value from another, performs an overflow check, and pushes the result onto the evaluation stack. - - - Subtracts one unsigned integer value from another, performs an overflow check, and pushes the result onto the evaluation stack. - - - Implements a jump table. - - - Performs a postfixed method call instruction such that the current method's stack frame is removed before the actual call instruction is executed. - - - Throws the exception object currently on the evaluation stack. - - - Indicates that an address currently atop the evaluation stack might not be aligned to the natural size of the immediately following , , , , , , , or instruction. - - - Converts the boxed representation of a value type to its unboxed form. - - - Converts the boxed representation of a type specified in the instruction to its unboxed form. - - - Specifies that an address currently atop the evaluation stack might be volatile, and the results of reading that location cannot be cached or that multiple stores to that location cannot be suppressed. - - - Computes the bitwise XOR of the top two values on the evaluation stack, pushing the result onto the evaluation stack. - - - The default with value 0. - - - The default with value 0. - - - The default with value 0. - - - Represents that total size for the type is not specified. - - - The default with value 0. - - - Shows the methods that are defined on the interface. - - - Shows the type that represents the interface. - - - Shows the methods that implement the interface. - - - Represents the type that was used to create the interface mapping. - - - Represents the sole instance of the class. - - - A object that filters the list of types defined in this module based upon the name. This field is case-sensitive and read-only. - - - A object that filters the list of types defined in this module based upon the name. This field is case-insensitive and read-only. - - - The attributes of the parameter. - - - The of the parameter. - - - The default value of the parameter. - - - The member in which the field is implemented. - - - The name of the parameter. - - - The zero-based position of the parameter in the parameter list. - - - A value indicating type information. - - - Specifies the root name of the resource files that the searches for resources. - - - Specifies the version of resource file headers that the current implementation of can interpret and produce. - - - Holds the number used to identify resource files. - - - Specifies the main assembly that contains the resources. - - - Contains a that returns a mapping from cultures to objects. - - - Indicates the used to read the resources. - - - The in which the resources are stored. - - - A value indicating what kind of implementation is provided for this method. - - - Gets the name of the portable PDB feature. - The name of the portable PDB feature. This method always returns the string "PortablePdb". - - - Enables or disables the throwing of an exception on an unmappable Unicode character that is converted to an ANSI '?' character. - - - Specifies the size of the structure in bytes. - - - Indicates the amount of time (clock time in milliseconds, as returned by the function) the caller specified to complete the binding operation. - - - Controls aspects of moniker binding operations. - - - Flags that should be used when opening the file that contains the object identified by the moniker. - - - Represents a pointer to a structure. - - - Represents a pointer to a interface. - - - Represents a pointer to a structure. - - - Specifies the size, in bytes, of the structure. - - - Indicates the amount of time (clock time in milliseconds, as returned by the function) that the caller specified to complete the binding operation. - - - Controls aspects of moniker binding operations. - - - Represents flags that should be used when opening the file that contains the object identified by the moniker. - - - Represents a pointer to a structure. - - - Represents a pointer to an interface. - - - Represents a pointer to a structure. - - - Represents a connection token that is returned from a call to . - - - Represents a pointer to the interface on a connected advisory sink. The caller must call on this pointer when the structure is no longer needed. - - - Represents the count of arguments. - - - Represents the count of named arguments - - - Represents the dispatch IDs of named arguments. - - - Represents a reference to the array of arguments. - - - Contains information about an element. - - - Contains information for remoting the element. - - - Contains information about the parameter. - - - Identifies the type of the element. - - - Describes the error intended for the customer. - - - Contains the fully-qualified drive, path, and file name of a Help file that contains more information about the error. - - - Indicates the name of the source of the exception. Typically, this is an application name. - - - Indicates the Help context ID of the topic within the Help file. - - - Represents a pointer to a function that takes an structure as an argument and returns an HRESULT value. If deferred fill-in is not desired, this field is set to . - - - This field is reserved; it must be set to . - - - A return value describing the error. - - - Represents an error code identifying the error. - - - This field is reserved; it must be set to 0. - - - Specifies the high 32 bits of the . - - - Specifies the low 32 bits of the . - - - Specifies the calling convention of a function. - - - Counts the total number of parameters. - - - Counts the optional parameters. - - - Counts the permitted return values. - - - Contains the return type of the function. - - - Specifies whether the function is virtual, static, or dispatch-only. - - - Specifies the type of a property function. - - - Indicates the size of . - - - Stores the count of errors a function can return on a 16-bit system. - - - Identifies the function member ID. - - - Specifies the offset in the VTBL for . - - - Indicates the of a function. - - - Reserved; set to . - - - Indicates an value describing the type. - - - Represents a pointer to a value that is being passed between processes. - - - Represents bitmask values that describe the structure element, parameter, or return value. - - - Specifies the last access time for this storage, stream, or byte array. - - - Specifies the size, in bytes, of the stream or byte array. - - - Indicates the class identifier for the storage object. - - - Indicates the creation time for this storage, stream, or byte array. - - - Indicates the types of region locking supported by the stream or byte array. - - - Indicates the access mode that was specified when the object was opened. - - - Indicates the current state bits of the storage object (the value most recently set by the method). - - - Indicates the last modification time for this storage, stream, or byte array. - - - Represents a pointer to a null-terminated string containing the name of the object described by this structure. - - - Reserved for future use. - - - Indicates the type of storage object, which is one of the values from the enumeration. - - - Specifies the byte alignment for an instance of this type. - - - The size of an instance of this type. - - - The size of this type's virtual method table (VTBL). - - - Indicates the number of functions on the interface this structure describes. - - - Indicates the number of implemented interfaces on the interface this structure describes. - - - Indicates the number of variables and data fields on the interface described by this structure. - - - Reserved for future use. - - - The GUID of the type information. - - - IDL attributes of the described type. - - - Locale of member names and documentation strings. - - - Reserved for future use. - - - A constant used with the and fields. - - - ID of constructor, or if none. - - - ID of destructor, or if none. - - - If == , specifies the type for which this type is an alias. - - - A value describing the type this information describes. - - - Major version number. - - - Minor version number. - - - A value describing this information. - - - If the variable is or , the field contains a pointer to a that specifies the element type. - - - Indicates the variant type for the item described by this . - - - Represents a globally unique library ID of a type library. - - - Represents a locale ID of a type library. - - - Represents the target hardware platform of a type library. - - - Represents library flags. - - - Represents the major version number of a type library. - - - Represents the minor version number of a type library. - - - Contains information about a variable. - - - Describes a symbolic constant. - - - Indicates the offset of this variable within the instance. - - - Contains the variable type. - - - This field is reserved for future use. - - - Indicates the member ID of a variable. - - - Defines how to marshal a variable. - - - Defines the properties of a variable. - - - Represents a connection token that is returned from a call to . - - - Represents a pointer to the interface on a connected advisory sink. The caller must call on this pointer when the structure is no longer needed. - - - Specifies the handle to be wrapped. - - - Represents the count of arguments. - - - Represents the count of named arguments - - - Represents the dispatch IDs of named arguments. - - - Represents a reference to the array of arguments. - - - Enables or disables best-fit mapping behavior when converting Unicode characters to ANSI characters. - - - Indicates the calling convention of an entry point. - - - Indicates how to marshal string parameters to the method and controls name mangling. - - - Indicates the name or ordinal of the DLL entry point to be called. - - - Controls whether the field causes the common language runtime to search an unmanaged DLL for entry-point names other than the one specified. - - - Indicates whether unmanaged methods that have or return values are directly translated or whether or return values are automatically converted to exceptions. - - - Indicates whether the callee calls the Win32 API function before returning from the attributed method. - - - Enables or disables the throwing of an exception on an unmappable Unicode character that is converted to an ANSI "?" character. - - - Contains information about an element. - - - Contains information for remoting the element. - - - Contains information about the parameter. - - - Identifies the type of the element. - - - Describes the error intended for the customer. - - - Contains the fully-qualified drive, path, and file name of a Help file with more information about the error. - - - Indicates the name of the source of the exception. Typically, this is an application name. - - - Indicates the Help context ID of the topic within the Help file. - - - Represents a pointer to a function that takes an structure as an argument and returns an HRESULT value. If deferred fill-in is not desired, this field is set to . - - - This field is reserved; must be set to . - - - Represents an error code identifying the error. - - - This field is reserved; must be set to 0. - - - Specifies the high 32 bits of the . - - - Specifies the low 32 bits of the . - - - Specifies the calling convention of a function. - - - Counts the total number of parameters. - - - Counts the optional parameters. - - - Counts the permitted return values. - - - Contains the return type of the function. - - - Specifies whether the function is virtual, static, or dispatch-only. - - - Specifies the type of a property function. - - - Indicates the size of . - - - Stores the count of errors a function can return on a 16-bit system. - - - Identifies the function member ID. - - - Specifies the offset in the VTBL for . - - - Indicates the of a function. - - - Reserved; set to . - - - Indicates an value describing the type. - - - Represents the default character size on the system; the default is 2 for Unicode systems and 1 for ANSI systems. This field is read-only. - - - Represents the maximum size of a double byte character set (DBCS) size, in bytes, for the current operating system. This field is read-only. - - - Specifies the element type of the unmanaged or . - - - Specifies the parameter index of the unmanaged attribute used by COM. - - - Provides additional information to a custom marshaler. - - - Specifies the fully qualified name of a custom marshaler. - - - Implements as a type. - - - Indicates the element type of the . - - - Indicates the user-defined element type of the . - - - Indicates the number of elements in the fixed-length array or the number of characters (not bytes) in a string to import. - - - Indicates the zero-based parameter that contains the count of array elements, similar to in COM. - - - Represents a pointer to a value that is being passed between processes. - - - Represents bitmask values that describe the structure element, parameter, or return value. - - - Specifies the handle to be wrapped. - - - Indicates the last access time for this storage, stream or byte array - - - Specifies the size in bytes of the stream or byte array. - - - Indicates the class identifier for the storage object. - - - Indicates the creation time for this storage, stream, or byte array. - - - Indicates the types of region locking supported by the stream or byte array. - - - Indicates the access mode that was specified when the object was opened. - - - Indicates the current state bits of the storage object (the value most recently set by the method). - - - Indicates the last modification time for this storage, stream, or byte array. - - - Pointer to a null-terminated string containing the name of the object described by this structure. - - - Reserved for future use. - - - Indicates the type of storage object which is one of the values from the enumeration. - - - Indicates whether string data fields within the class should be marshaled as or by default. - - - Controls the alignment of data fields of a class or structure in memory. - - - Indicates the absolute size of the class or structure. - - - Specifies the byte alignment for an instance of this type. - - - The size of an instance of this type. - - - The size of this type's virtual method table (VTBL). - - - Indicates the number of functions on the interface this structure describes. - - - Indicates the number of implemented interfaces on the interface this structure describes. - - - Indicates the number of variables and data fields on the interface described by this structure. - - - Reserved for future use. - - - The GUID of the type information. - - - IDL attributes of the described type. - - - Locale of member names and documentation strings. - - - Reserved for future use. - - - A constant used with the and fields. - - - ID of constructor, or if none. - - - ID of destructor, or if none. - - - If == , specifies the type for which this type is an alias. - - - A value describing the type this information describes. - - - Major version number. - - - Minor version number. - - - A value describing this information. - - - If the variable is or , the field contains a pointer to a that specifies the element type. - - - Indicates the variant type for the item described by this . - - - Represents a globally unique library ID of a type library. - - - Represents a locale ID of a type library. - - - Represents the target hardware platform of a type library. - - - Represents library flags. - - - Represents the major version number of a type library. - - - Represents the minor version number of a type library. - - - Enables or disables best-fit mapping behavior when converting Unicode characters to ANSI characters. - - - Indicates how to marshal string parameters to the method, and controls name mangling. - - - Indicates whether the callee calls the Win32 API function before returning from the attributed method. - - - Enables or disables the throwing of an exception on an unmappable Unicode character that is converted to an ANSI "?" character. - - - Describes a symbolic constant. - - - Indicates the offset of this variable within the instance. - - - Contains the variable type. - - - This field is reserved for future use. - - - Indicates the member ID of a variable. - - - Defines how a variable should be marshaled. - - - Defines the properties of a variable. - - - Indicates the top channel sink in the channel sink stack. - - - Indicates the name of the context attribute. - - - Indicates that the class to which this attribute is applied cannot be created in a context that has synchronization. This field is constant. - - - Indicates that the class to which this attribute is applied must be created in a context that has synchronization. This field is constant. - - - Indicates that the class to which this attribute is applied must be created in a context with a new instance of the synchronization property each time. This field is constant. - - - Indicates that the class to which this attribute is applied is not dependent on whether the context has synchronization. This field is constant. - - - Indicates the XML namespace that the current belongs to. - - - Indicates whether the receiving end must understand the out-of-band data. - - - Contains the name of the . - - - Contains the value for the . - - - Represents the request or response interface that is wrapped by the message wrapper. - - - An interface that represents a collection of the remoting message's properties. - - - An interface that represents a collection of the remoting message's properties. - - - Specifies an interface that represents a collection of the remoting message's properties. - - - Specifies an interface that represents a collection of the remoting message's properties. - - - The XML namespace to which the target of the current SOAP attribute is serialized. - - - A reflection object used by attribute classes derived from the class to set XML serialization information. - - - Contains the used with the current formatter. - - - Contains a of the objects left to serialize. - - - Represents the largest possible value of . This field is constant. - - - Represents the smallest possible value of . This field is constant. - - - Returns the maximum allowed length of an opaque data blob for this object. - - - The revision level of the current . This value is returned by the property for Access Control Lists (ACLs) that are not associated with Directory Services objects. - - - The revision level of the current . This value is returned by the property for Access Control Lists (ACLs) that are associated with Directory Services objects. - - - The maximum allowed binary length of a object. - - - The default issuer; “LOCAL AUTHORITY”. - - - The default name claim type; . - - - The default role claim type; . - - - http://schemas.xmlsoap.org/ws/2009/09/identity/claims/actor. - - - The URI for a claim that specifies the anonymous user; http://schemas.xmlsoap.org/ws/2005/05/identity/claims/anonymous. - - - The URI for a claim that specifies details about whether an identity is authenticated, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/authenticated. - - - The URI for a claim that specifies the instant at which an entity was authenticated; http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationinstant. - - - The URI for a claim that specifies the method with which an entity was authenticated; http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod. - - - The URI for a claim that specifies an authorization decision on an entity; http://schemas.xmlsoap.org/ws/2005/05/identity/claims/authorizationdecision. - - - The URI for a claim that specifies the cookie path; http://schemas.microsoft.com/ws/2008/06/identity/claims/cookiepath. - - - The URI for a claim that specifies the country/region in which an entity resides, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country. - - - The URI for a claim that specifies the date of birth of an entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dateofbirth. - - - The URI for a claim that specifies the deny-only primary group SID on an entity; http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarygroupsid. A deny-only SID denies the specified entity to a securable object. - - - The URI for a claim that specifies the deny-only primary SID on an entity; http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarysid. A deny-only SID denies the specified entity to a securable object. - - - The URI for a claim that specifies a deny-only security identifier (SID) for an entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/denyonlysid. A deny-only SID denies the specified entity to a securable object. - - - http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlywindowsdevicegroup. - - - The URI for a claim that specifies the DNS name associated with the computer name or with the alternative name of either the subject or issuer of an X.509 certificate, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dns. - - - http://schemas.microsoft.com/ws/2008/06/identity/claims/dsa. - - - The URI for a claim that specifies the email address of an entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email. - - - http://schemas.microsoft.com/ws/2008/06/identity/claims/expiration. - - - http://schemas.microsoft.com/ws/2008/06/identity/claims/expired. - - - The URI for a claim that specifies the gender of an entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/gender. - - - The URI for a claim that specifies the given name of an entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname. - - - The URI for a claim that specifies the SID for the group of an entity, http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid. - - - The URI for a claim that specifies a hash value, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/hash. - - - The URI for a claim that specifies the home phone number of an entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/homephone. - - - http://schemas.microsoft.com/ws/2008/06/identity/claims/ispersistent. - - - The URI for a claim that specifies the locale in which an entity resides, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/locality. - - - The URI for a claim that specifies the mobile phone number of an entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/mobilephone. - - - The URI for a claim that specifies the name of an entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name. - - - The URI for a claim that specifies the name of an entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. - - - The URI for a claim that specifies the alternative phone number of an entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/otherphone. - - - The URI for a claim that specifies the postal code of an entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/postalcode. - - - The URI for a claim that specifies the primary group SID of an entity, http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid. - - - The URI for a claim that specifies the primary SID of an entity, http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid. - - - The URI for a claim that specifies the role of an entity, http://schemas.microsoft.com/ws/2008/06/identity/claims/role. - - - The URI for a claim that specifies an RSA key, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/rsa. - - - The URI for a claim that specifies a serial number, http://schemas.microsoft.com/ws/2008/06/identity/claims/serialnumber. - - - The URI for a claim that specifies a security identifier (SID), http://schemas.xmlsoap.org/ws/2005/05/identity/claims/sid. - - - The URI for a claim that specifies a service principal name (SPN) claim, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/spn. - - - The URI for a claim that specifies the state or province in which an entity resides, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/stateorprovince. - - - The URI for a claim that specifies the street address of an entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress. - - - The URI for a claim that specifies the surname of an entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname. - - - The URI for a claim that identifies the system entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/system. - - - The URI for a claim that specifies a thumbprint, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/thumbprint. A thumbprint is a globally unique SHA-1 hash of an X.509 certificate. - - - The URI for a claim that specifies a user principal name (UPN), http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn. - - - The URI for a claim that specifies a URI, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/uri. - - - http://schemas.microsoft.com/ws/2008/06/identity/claims/userdata. - - - http://schemas.microsoft.com/ws/2008/06/identity/claims/version. - - - The URI for a claim that specifies the webpage of an entity, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/webpage. - - - The URI for a claim that specifies the Windows domain account name of an entity, http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname. - - - http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdeviceclaim. - - - http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup. - - - http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsfqbnversion. - - - http://schemas.microsoft.com/ws/2008/06/identity/claims/windowssubauthority. - - - http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsuserclaim. - - - The URI for a distinguished name claim of an X.509 certificate, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/x500distinguishedname. The X.500 standard defines the methodology for defining distinguished names that are used by X.509 certificates. - - - A URI that represents the XML data type. - - - A URI that that represents the XML data type. - - - A URI that represents the XML data type. - - - A URI that represents the XML data type. - - - A URI that represents the XML data type. - - - A URI that represents the XQuery data type. - - - A URI that represents the SOAP data type. - - - A URI that represents the XML data type. - - - A URI that represents the XML Signature data type. - - - A URI that represents the SOAP data type. - - - A URI that represents the XML data type. - - - A URI that represents the XML data type. - - - A URI that represents the XML data type. - - - A URI that represents the XML data type. - - - A URI that represents the XML data type. - - - A URI that represents the XML Signature data type. - - - A URI that represents the XACML 1.0 data type. - - - A URI that represents the SOAP data type. - - - A URI that represents the XML Signature data type. - - - A URI that represents the XML data type. - - - A URI that represents the XML data type. - - - A URI that represents the XML data type. - - - A URI that represents the XML data type. - - - A URI that represents the XML data type. - - - A URI that represents the SOAP data type. - - - A URI that represents the XACML 1.0 data type. - - - A URI that represents the XQuery data type. - - - Represents the size, in bits, of the key modulus used by the asymmetric algorithm. - - - Specifies the key sizes that are supported by the asymmetric algorithm. - - - Represents the key container name for . - - - Specifies whether an asymmetric key is created as a signature key or an exchange key. - - - Represents the provider name for . - - - Represents the provider type code for . - - - Specifies the counter for the algorithm. - - - Specifies the parameter for the algorithm. - - - Specifies the parameter for the algorithm. - - - Specifies the parameter for the algorithm. - - - Specifies the parameter for the algorithm. - - - Specifies the seed for the algorithm. - - - Specifies the parameter for the algorithm. - - - Specifies the parameter for the algorithm. - - - Represents the size, in bits, of the computed hash code. - - - Represents the value of the computed hash code. - - - Represents the state of the hash computation. - - - The key to use in the hash algorithm. - - - Represents the effective size of the secret key used by the algorithm in bits. - - - Represents the parameter for the algorithm. - - - Represents the parameter for the algorithm. - - - Represents the parameter for the algorithm. - - - Represents the parameter for the algorithm. - - - Represents the parameter for the algorithm. - - - Represents the parameter for the algorithm. - - - Represents the parameter for the algorithm. - - - Represents the parameter for the algorithm. - - - Represents the block size, in bits, of the cryptographic operation. - - - Represents the feedback size, in bits, of the cryptographic operation. - - - Represents the initialization vector () for the symmetric algorithm. - - - Represents the size, in bits, of the secret key used by the symmetric algorithm. - - - Represents the secret key for the symmetric algorithm. - - - Specifies the block sizes, in bits, that are supported by the symmetric algorithm. - - - Specifies the key sizes, in bits, that are supported by the symmetric algorithm. - - - Represents the cipher mode used in the symmetric algorithm. - - - Represents the padding mode used in the symmetric algorithm. - - - Contains the string value that represents the scheme wildcard. - - - Contains the value used to represent the default port. - - - Contains the value used to represent the port value in the URI where code originated. - - - Contains the value used to represent the scheme in the URL where the code originated. - - - Contains a value used to specify connection access for code with an unknown or unrecognized origin scheme. - - - Contains a value used to specify any other unspecified origin scheme. - - - Returns the maximum size, in bytes, of the binary representation of the security identifier. - - - Returns the minimum size, in bytes, of the binary representation of the security identifier. - - - Identifies the name of the default issuer. - - - Represents the smallest positive value that is greater than zero. This field is constant. - - - Represents the largest possible value of . This field is constant. - - - Represents the smallest possible value of . This field is constant. - - - Represents not a number (). This field is constant. - - - Represents negative infinity. This field is constant. - - - Represents positive infinity. This field is constant. - - - Represents the empty string. This field is read-only. - - - Represents the Unicode character size in bytes. This field is a constant. - - - Specifies the handle to an event set to the signaled state when the operation is complete. The calling process must set this member either to zero or to a valid event handle before calling any overlapped functions. - - - Specifies the length of the data transferred. Reserved for operating system use. - - - Specifies a system-dependent status. Reserved for operating system use. - - - Specifies the high word of the byte offset at which to start the transfer. - - - Specifies a file position at which to start the transfer. - - - A constant used to specify an infinite waiting period, for threading methods that accept an parameter. - - - A constant used to specify an infinite waiting period, for methods that accept a parameter. - - - Represents an invalid native operating system handle. This field is read-only. - - - Indicates that a operation timed out before any of the wait handles were signaled. This field is constant. - - - Represents the maximum value. This field is read-only. - - - Represents the minimum value. This field is read-only. - - - Represents the number of ticks in 1 day. This field is constant. - - - Represents the number of ticks in 1 hour. This field is constant. - - - Represents the number of ticks in 1 millisecond. This field is constant. - - - Represents the number of ticks in 1 minute. This field is constant. - - - Represents the number of ticks in 1 second. - - - Represents the zero value. This field is read-only. - - - Separates names in the namespace of the . This field is read-only. - - - Represents an empty array of type . This field is read-only. - - - Represents the member filter used on attributes. This field is read-only. - - - Represents the case-sensitive member filter used on names. This field is read-only. - - - Represents the case-insensitive member filter used on names. This field is read-only. - - - Represents a missing value in the information. This field is read-only. - - - Represents the largest possible value of . This field is constant. - - - Represents the smallest possible value of . This field is constant. - - - Represents the largest possible value of . This field is constant. - - - Represents the smallest possible value of . This field is constant. - - - Represents the largest possible value of . This field is constant. - - - Represents the smallest possible value of . This field is constant. - - - A read-only field that represents a pointer or handle that has been initialized to zero. - - - Gets the value of the current instance's first element. - The value of the current instance's first element. - - - Gets the value of the current instance's first element. - The value of the current instance's first element. - - - Gets the value of the current instance's second element. - The value of the current instance's second element. - - - Gets the value of the current instance's first element. - The value of the current instance's first element. - - - Gets the value of the current instance's second element. - The value of the current instance's second element. - - - Gets the value of the current instance's third element. - The value of the current instance's third element. - - - Gets the value of the current instance's first element. - The value of the current instance's first element. - - - Gets the value of the current instance's second element. - The value of the current instance's second element. - - - Gets the value of the current instance's third element. - The value of the current instance's third element. - - - Gets the value of the current instance's fourth element. - The value of the current instance's fourth element. - - - Gets the value of the current instance's first element. - The value of the current instance's first element. - - - Gets the value of the current instance's second element. - The value of the current instance's second element. - - - Gets the value of the current instance's third element. - The value of the current instance's third element. - - - Gets the value of the current instance's fourth element. - The value of the current instance's fourth element. - - - Gets the value of the current instance's fifth element. - The value of the current instance's fifth element. - - - Gets the value of the current instance's first element. - The value of the current instance's first element. - - - Gets the value of the current instance's second element. - The value of the current instance's second element. - - - Gets the value of the current instance's third element. - The value of the current instance's third element. - - - Gets the value of the current instance's fourth element. - The value of the current instance's fourth element. - - - Gets the value of the current instance's fifth element. - The value of the current instance's fifth element. - - - Gets the value of the current instance's sixth element. - The value of the current instance's sixth element. - - - Gets the value of the current instance's first element. - The value of the current instance's first element. - - - Gets the value of the current instance's second element. - The value of the current instance's second element. - - - Gets the value of the current instance's third element. - The value of the current instance's third element. - - - Gets the value of the current instance's fourth element. - The value of the current instance's fourth element. - - - Gets the value of the current instance's fifth element. - The value of the current instance's fifth element. - - - Gets the value of the current instance's sixth element. - - Gets the value of the current instance's sixth element. - - - - Gets the value of the current instance's seventh element. - The value of the current instance's seventh element. - - - Gets the value of the current instance's first element. - The value of the current instance's first element. - - - Gets the value of the current instance's second element. - The value of the current instance's second element. - - - Gets the value of the current instance's third element. - The value of the current instance's third element. - - - Gets the value of the current instance's fourth element. - The value of the current instance's fourth element. - - - Gets the value of the current instance's fifth element. - The value of the current instance's fifth element. - - - Gets the value of the current instance's sixth element. - The value of the current instance's sixth element. - - - Gets the value of the current instance's seventh element. - The value of the current instance's seventh element. - - - Gets the current instance's remaining elements. - The value of the current instance's remaining elements. - - - Retrieves the value associated with the specified name, in the specified registry key. If the name is not found in the specified key, returns a default value that you provide, or if the specified key does not exist. - The full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER". - The name of the name/value pair. - The value to return if does not exist. - - if the subkey specified by does not exist; otherwise, the value associated with , or if is not found. - The user does not have the permissions required to read from the registry key. - The that contains the specified value has been marked for deletion. - - does not begin with a valid registry root. - - - Sets the specified name/value pair on the specified registry key. If the specified key does not exist, it is created. - The full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER". - The name of the name/value pair. - The value to be stored. - - is . - - does not begin with a valid registry root. -or- - is longer than the maximum length allowed (255 characters). - The is read-only, and thus cannot be written to; for example, it is a root-level node. - The user does not have the permissions required to create or modify registry keys. - - - Sets the name/value pair on the specified registry key, using the specified registry data type. If the specified key does not exist, it is created. - The full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER". - The name of the name/value pair. - The value to be stored. - The registry data type to use when storing the data. - - is . - - does not begin with a valid registry root.-or- - is longer than the maximum length allowed (255 characters).-or- The type of did not match the registry data type specified by , therefore the data could not be converted properly. - The is read-only, and thus cannot be written to; for example, it is a root-level node, or the key has not been opened with write access. - The user does not have the permissions required to create or modify registry keys. - - - Closes the key and flushes it to disk if its contents have been modified. - - - Creates a new subkey or opens an existing subkey for write access. - The name or path of the subkey to create or open. This string is not case-sensitive. - The newly created subkey, or if the operation failed. If a zero-length string is specified for , the current object is returned. - - is . - The user does not have the permissions required to create or open the registry key. - The on which this method is being invoked is closed (closed keys cannot be accessed). - The cannot be written to; for example, it was not opened as a writable key , or the user does not have the necessary access rights. - The nesting level exceeds 510.-or-A system error occurred, such as deletion of the key, or an attempt to create a key in the root. - - - Creates a new subkey or opens an existing subkey for write access, using the specified permission check option. - The name or path of the subkey to create or open. This string is not case-sensitive. - One of the enumeration values that specifies whether the key is opened for read or read/write access. - The newly created subkey, or if the operation failed. If a zero-length string is specified for , the current object is returned. - - is . - The user does not have the permissions required to create or open the registry key. - - contains an invalid value. - The on which this method is being invoked is closed (closed keys cannot be accessed). - The cannot be written to; for example, it was not opened as a writable key, or the user does not have the necessary access rights. - The nesting level exceeds 510.-or-A system error occurred, such as deletion of the key, or an attempt to create a key in the root. - - - Creates a subkey or opens a subkey for write access, using the specified permission check and registry options. - The name or path of the subkey to create or open. - One of the enumeration values that specifies whether the key is opened for read or read/write access. - The registry option to use; for example, that creates a volatile key. - The newly created subkey, or if the operation failed. - - is . - The current object is closed (closed keys cannot be accessed). - The current object cannot be written to; for example, it was not opened as a writable key, or the user does not have the required access rights. - The nesting level exceeds 510.-or-A system error occurred, such as deletion of the key or an attempt to create a key in the root. - The user does not have the permissions required to create or open the registry key. - - - Creates a subkey or opens a subkey for write access, using the specified permission check option, registry option, and registry security. - The name or path of the subkey to create or open. - One of the enumeration values that specifies whether the key is opened for read or read/write access. - The registry option to use. - The access control security for the new subkey. - The newly created subkey, or if the operation failed. - - is . - The current object is closed. Closed keys cannot be accessed. - The current object cannot be written to; for example, it was not opened as a writable key, or the user does not have the required access rights. - The nesting level exceeds 510.-or-A system error occurred, such as deletion of the key or an attempt to create a key in the root. - The user does not have the permissions required to create or open the registry key. - - - Creates a new subkey or opens an existing subkey for write access, using the specified permission check option and registry security. - The name or path of the subkey to create or open. This string is not case-sensitive. - One of the enumeration values that specifies whether the key is opened for read or read/write access. - The access control security for the new key. - The newly created subkey, or if the operation failed. If a zero-length string is specified for , the current object is returned. - - is . - The user does not have the permissions required to create or open the registry key. - - contains an invalid value. - The on which this method is being invoked is closed (closed keys cannot be accessed). - The current cannot be written to; for example, it was not opened as a writable key, or the user does not have the necessary access rights. - The nesting level exceeds 510.-or-A system error occurred, such as deletion of the key, or an attempt to create a key in the root. - - - Creates a new subkey or opens an existing subkey with the specified access. Available starting in .NET Framework 4.6 - The name or path of the subkey to create or open. This string is not case-sensitive. - - to indicate the new subkey is writable; otherwise, . - The newly created subkey, or if the operation failed. If a zero-length string is specified for , the current object is returned. - - is . - The user does not have the permissions required to create or open the registry key. - The current cannot be written to; for example, it was not opened as a writable key, or the user does not have the necessary access rights. - The nesting level exceeds 510.-or-A system error occurred, such as deletion of the key, or an attempt to create a key in the root. - - - Creates a new subkey or opens an existing subkey with the specified access. Available starting in .NET Framework 4.6 - The name or path of the subkey to create or open. This string is not case-sensitive. - - to indicate the new subkey is writable; otherwise, . - The registry option to use. - The newly created subkey, or if the operation failed. If a zero-length string is specified for , the current object is returned. - - is . - - does not specify a valid Option - The user does not have the permissions required to create or open the registry key. - The current cannot be written to; for example, it was not opened as a writable key, or the user does not have the necessary access rights. - The nesting level exceeds 510.-or-A system error occurred, such as deletion of the key, or an attempt to create a key in the root. - - - Deletes the specified subkey. - The name of the subkey to delete. This string is not case-sensitive. - The has child subkeys - The parameter does not specify a valid registry key - - is - The user does not have the permissions required to delete the key. - The being manipulated is closed (closed keys cannot be accessed). - The user does not have the necessary registry rights. - - - Deletes the specified subkey, and specifies whether an exception is raised if the subkey is not found. - The name of the subkey to delete. This string is not case-sensitive. - Indicates whether an exception should be raised if the specified subkey cannot be found. If this argument is and the specified subkey does not exist, an exception is raised. If this argument is and the specified subkey does not exist, no action is taken. - - has child subkeys. - - does not specify a valid registry key, and is . - - is . - The user does not have the permissions required to delete the key. - The being manipulated is closed (closed keys cannot be accessed). - The user does not have the necessary registry rights. - - - Deletes a subkey and any child subkeys recursively. - The subkey to delete. This string is not case-sensitive. - - is . - Deletion of a root hive is attempted.-or- - does not specify a valid registry subkey. - An I/O error has occurred. - The user does not have the permissions required to delete the key. - The being manipulated is closed (closed keys cannot be accessed). - The user does not have the necessary registry rights. - - - Deletes the specified subkey and any child subkeys recursively, and specifies whether an exception is raised if the subkey is not found. - The name of the subkey to delete. This string is not case-sensitive. - Indicates whether an exception should be raised if the specified subkey cannot be found. If this argument is and the specified subkey does not exist, an exception is raised. If this argument is and the specified subkey does not exist, no action is taken. - An attempt was made to delete the root hive of the tree.-or- - does not specify a valid registry subkey, and is . - - is . - The is closed (closed keys cannot be accessed). - The user does not have the necessary registry rights. - The user does not have the permissions required to delete the key. - - - Deletes the specified value from this key. - The name of the value to delete. - - is not a valid reference to a value. - The user does not have the permissions required to delete the value. - The being manipulated is closed (closed keys cannot be accessed). - The being manipulated is read-only. - - - Deletes the specified value from this key, and specifies whether an exception is raised if the value is not found. - The name of the value to delete. - Indicates whether an exception should be raised if the specified value cannot be found. If this argument is and the specified value does not exist, an exception is raised. If this argument is and the specified value does not exist, no action is taken. - - is not a valid reference to a value and is . -or- - is . - The user does not have the permissions required to delete the value. - The being manipulated is closed (closed keys cannot be accessed). - The being manipulated is read-only. - - - Releases all resources used by the current instance of the class. - - - Writes all the attributes of the specified open registry key into the registry. - - - Creates a registry key from a specified handle. - The handle to the registry key. - A registry key. - - is . - The user does not have the necessary registry rights. - The user does not have the permissions required to perform this action. - - - Creates a registry key from a specified handle and registry view setting. - The handle to the registry key. - The registry view to use. - A registry key. - - is invalid. - - is . - The user does not have the necessary registry rights. - The user does not have the permissions required to perform this action. - - - Returns the access control security for the current registry key. - An object that describes the access control permissions on the registry key represented by the current . - The user does not have the necessary permissions. - The being manipulated is closed (closed keys cannot be accessed). - The current key has been deleted. - - - Returns the specified sections of the access control security for the current registry key. - A bitwise combination of enumeration values that specifies the type of security information to get. - An object that describes the access control permissions on the registry key represented by the current . - The user does not have the necessary permissions. - The being manipulated is closed (closed keys cannot be accessed). - The current key has been deleted. - - - Retrieves an array of strings that contains all the subkey names. - An array of strings that contains the names of the subkeys for the current key. - The user does not have the permissions required to read from the key. - The being manipulated is closed (closed keys cannot be accessed). - The user does not have the necessary registry rights. - A system error occurred, for example the current key has been deleted. - - - Retrieves the value associated with the specified name. Returns if the name/value pair does not exist in the registry. - The name of the value to retrieve. This string is not case-sensitive. - The value associated with , or if is not found. - The user does not have the permissions required to read from the registry key. - The that contains the specified value is closed (closed keys cannot be accessed). - The that contains the specified value has been marked for deletion. - The user does not have the necessary registry rights. - - - Retrieves the value associated with the specified name. If the name is not found, returns the default value that you provide. - The name of the value to retrieve. This string is not case-sensitive. - The value to return if does not exist. - The value associated with , with any embedded environment variables left unexpanded, or if is not found. - The user does not have the permissions required to read from the registry key. - The that contains the specified value is closed (closed keys cannot be accessed). - The that contains the specified value has been marked for deletion. - The user does not have the necessary registry rights. - - - Retrieves the value associated with the specified name and retrieval options. If the name is not found, returns the default value that you provide. - The name of the value to retrieve. This string is not case-sensitive. - The value to return if does not exist. - One of the enumeration values that specifies optional processing of the retrieved value. - The value associated with , processed according to the specified , or if is not found. - The user does not have the permissions required to read from the registry key. - The that contains the specified value is closed (closed keys cannot be accessed). - The that contains the specified value has been marked for deletion. - - is not a valid value; for example, an invalid value is cast to . - The user does not have the necessary registry rights. - - - Retrieves the registry data type of the value associated with the specified name. - The name of the value whose registry data type is to be retrieved. This string is not case-sensitive. - The registry data type of the value associated with . - The user does not have the permissions required to read from the registry key. - The that contains the specified value is closed (closed keys cannot be accessed). - The subkey that contains the specified value does not exist.-or-The name/value pair specified by does not exist.This exception is not thrown on Windows 95, Windows 98, or Windows Millennium Edition. - The user does not have the necessary registry rights. - - - Retrieves an array of strings that contains all the value names associated with this key. - An array of strings that contains the value names for the current key. - The user does not have the permissions required to read from the registry key. - The being manipulated is closed (closed keys cannot be accessed). - The user does not have the necessary registry rights. - A system error occurred; for example, the current key has been deleted. - - - Opens a new that represents the requested key on the local machine with the specified view. - The HKEY to open. - The registry view to use. - The requested registry key. - - or is invalid. - The user does not have the necessary registry rights. - The user does not have the permissions required to perform this action. - - - Opens a new that represents the requested key on a remote machine. - The HKEY to open, from the enumeration. - The remote machine. - The requested registry key. - - is invalid. - - is not found. - - is . - The user does not have the proper permissions to perform this operation. - The user does not have the necessary registry rights. - - - Opens a new registry key that represents the requested key on a remote machine with the specified view. - The HKEY to open from the enumeration.. - The remote machine. - The registry view to use. - The requested registry key. - - or is invalid. - - is not found. - - is . - - is . - The user does not have the necessary registry rights. - The user does not have the required permissions to perform this operation. - - - Retrieves a subkey as read-only. - The name or path of the subkey to open as read-only. - The subkey requested, or if the operation failed. - - is - The is closed (closed keys cannot be accessed). - The user does not have the permissions required to read the registry key. - - - Retrieves the specified subkey for read or read/write access. - The name or path of the subkey to create or open. - One of the enumeration values that specifies whether the key is opened for read or read/write access. - The subkey requested, or if the operation failed. - - is - - contains an invalid value. - The is closed (closed keys cannot be accessed). - The user does not have the permissions required to read the registry key. - - - Retrieves the specified subkey for read or read/write access, requesting the specified access rights. - The name or path of the subkey to create or open. - One of the enumeration values that specifies whether the key is opened for read or read/write access. - A bitwise combination of enumeration values that specifies the desired security access. - The subkey requested, or if the operation failed. - - is - - contains an invalid value. - The is closed (closed keys cannot be accessed). - - includes invalid registry rights values.-or-The user does not have the requested permissions. - - - Retrieves a specified subkey, and specifies whether write access is to be applied to the key. - Name or path of the subkey to open. - Set to if you need write access to the key. - The subkey requested, or if the operation failed. - - is . - The is closed (closed keys cannot be accessed). - The user does not have the permissions required to access the registry key in the specified mode. - - - Retrieves a subkey with the specified name and .Available starting in .NET Framework 4.6 - The name or path of the subkey to create or open. - The rights for the registry key. - The subkey requested, or if the operation failed. - - is . - The is closed (closed keys cannot be accessed). - The user does not have the permissions required to access the registry key in the specified mode. - - - Applies Windows access control security to an existing registry key. - The access control security to apply to the current subkey. - The current object represents a key with access control security, and the caller does not have rights. - - is . - The being manipulated is closed (closed keys cannot be accessed). - - - Sets the specified name/value pair. - The name of the value to store. - The data to be stored. - - is . - - is an unsupported data type. - The that contains the specified value is closed (closed keys cannot be accessed). - The is read-only, and cannot be written to; for example, the key has not been opened with write access. -or-The object represents a root-level node, and the operating system is Windows Millennium Edition or Windows 98. - The user does not have the permissions required to create or modify registry keys. - The object represents a root-level node, and the operating system is Windows 2000, Windows XP, or Windows Server 2003. - - - Sets the value of a name/value pair in the registry key, using the specified registry data type. - The name of the value to be stored. - The data to be stored. - The registry data type to use when storing the data. - - is . - The type of did not match the registry data type specified by , therefore the data could not be converted properly. - The that contains the specified value is closed (closed keys cannot be accessed). - The is read-only, and cannot be written to; for example, the key has not been opened with write access.-or-The object represents a root-level node, and the operating system is Windows Millennium Edition or Windows 98. - The user does not have the permissions required to create or modify registry keys. - The object represents a root-level node, and the operating system is Windows 2000, Windows XP, or Windows Server 2003. - - - Retrieves a string representation of this key. - A string representing the key. If the specified key is invalid (cannot be found) then is returned. - The being accessed is closed (closed keys cannot be accessed). - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - An object that represents the pre-existing handle to use. Using returns an invalid handle. - - - Initializes a new instance of the class. - An object that represents the pre-existing handle to use. - - to reliably release the handle during the finalization phase; to prevent reliable release (not recommended). - - - Initializes a new instance of the class, specifying whether the handle is to be reliably released. - - to reliably release the handle during the finalization phase; to prevent reliable release (not recommended). - - - Initializes a new instance of the class, specifying whether the handle is to be reliably released. - - to reliably release the handle during the finalization phase; to prevent reliable release (not recommended). - - - Initializes a new instance of the class. - An object that represents the pre-existing handle to use. - - to reliably release the handle during the finalization phase; to prevent reliable release. - - - Initializes a new instance of the class. - An object that represents the pre-existing handle to use. - - to reliably release the handle during the finalization phase; to prevent reliable release (not recommended). - - - Provides COM objects with version-independent access to the method. - The name of the directory to be appended to the private path. - - - Provides COM objects with version-independent access to the method. - - - Provides COM objects with version-independent access to the method. - - - Provides COM objects with version-independent access to the method. - The display name of the assembly. See . - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - An object that is a wrapper for the new instance specified by . The return value needs to be unwrapped to access the real object. - - - Provides COM objects with version-independent access to the method overload. - The display name of the assembly. See . - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - A Boolean value specifying whether to perform a case-sensitive search or not. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects using reflection. If is null, the default binder is used. - The arguments to pass to the constructor. This array of arguments must match in number, order, and type the parameters of the constructor to invoke. If the default constructor is preferred, must be an empty array or null. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object. The specifies the URL that is required to activate a remote object. - Information used to authorize creation of . - An object that is a wrapper for the new instance specified by . The return value needs to be unwrapped to access the real object. - - - Provides COM objects with version-independent access to the method overload. - The display name of the assembly. See . - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object. The specifies the URL that is required to activate a remote object. - An object that is a wrapper for the new instance specified by . The return value needs to be unwrapped to access the real object. - - - Provides COM objects with version-independent access to the method overload. - The name, including the path, of a file that contains an assembly that defines the requested type. The assembly is loaded using the method. - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - An object that is a wrapper for the new instance, or if is not found. The return value needs to be unwrapped to access the real object. - - - Provides COM objects with version-independent access to the method overload. - The name, including the path, of a file that contains an assembly that defines the requested type. The assembly is loaded using the method. - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - A Boolean value specifying whether to perform a case-sensitive search or not. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects through reflection. If is null, the default binder is used. - The arguments to pass to the constructor. This array of arguments must match in number, order, and type the parameters of the constructor to invoke. If the default constructor is preferred, must be an empty array or null. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object. The specifies the URL that is required to activate a remote object. - Information used to authorize creation of . - An object that is a wrapper for the new instance, or if is not found. The return value needs to be unwrapped to access the real object. - - - Provides COM objects with version-independent access to the method overload. - The name, including the path, of a file that contains an assembly that defines the requested type. The assembly is loaded using the method. - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object. The specifies the URL that is required to activate a remote object. - An object that is a wrapper for the new instance, or if is not found. The return value needs to be unwrapped to access the real object. - - - Provides COM objects with version-independent access to the method overload. - The unique identity of the dynamic assembly. - The access mode for the dynamic assembly. - Represents the dynamic assembly created. - - - Provides COM objects with version-independent access to the method overload. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The required permissions request. - The optional permissions request. - The refused permissions request. - Represents the dynamic assembly created. - - - Provides COM objects with version-independent access to the method overload. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The evidence supplied for the dynamic assembly. The evidence is used unaltered as the final set of evidence used for policy resolution. - Represents the dynamic assembly created. - - - Provides COM objects with version-independent access to the method overload. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The evidence supplied for the dynamic assembly. The evidence is used unaltered as the final set of evidence used for policy resolution. - The required permissions request. - The optional permissions request. - The refused permissions request. - Represents the dynamic assembly created. - - - Provides COM objects with version-independent access to the method overload. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The name of the directory where the assembly will be saved. If is , the directory defaults to the current directory. - Represents the dynamic assembly created. - - - Provides COM objects with version-independent access to the method overload. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The name of the directory where the assembly will be saved. If is , the directory defaults to the current directory. - The required permissions request. - The optional permissions request. - The refused permissions request. - Represents the dynamic assembly created. - - - Provides COM objects with version-independent access to the method overload. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The name of the directory where the assembly will be saved. If is , the directory defaults to the current directory. - The evidence supplied for the dynamic assembly. The evidence is used unaltered as the final set of evidence used for policy resolution. - Represents the dynamic assembly created. - - - Provides COM objects with version-independent access to the method overload. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The name of the directory where the assembly will be saved. If is , the directory defaults to the current directory. - The evidence supplied for the dynamic assembly. The evidence is used unaltered as the final set of evidence used for policy resolution. - The required permissions request. - The optional permissions request. - The refused permissions request. - Represents the dynamic assembly created. - - - Provides COM objects with version-independent access to the method overload. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The name of the directory where the dynamic assembly will be saved. If is , the directory defaults to the current directory. - The evidence supplied for the dynamic assembly. The evidence is used unaltered as the final set of evidence used for policy resolution. - The required permissions request. - The optional permissions request. - The refused permissions request. - - to synchronize the creation of modules, types, and members in the dynamic assembly; otherwise, . - Represents the dynamic assembly created. - - - Provides COM objects with version-independent access to the method. - A delegate that specifies a method to call. - - - Provides COM objects with version-independent access to the inherited method. - The to compare to the current . - - if the specified is equal to the current ; otherwise, . - - - Provides COM objects with version-independent access to the method overload. - The name of the file that contains the assembly to execute. - The value returned by the entry point of the assembly. - - - Provides COM objects with version-independent access to the method overload. - The name of the file that contains the assembly to execute. - Evidence for loading the assembly. - The value returned by the entry point of the assembly. - - - Provides COM objects with version-independent access to the method overload. - The name of the file that contains the assembly to execute. - The supplied evidence for the assembly. - The arguments to the entry point of the assembly. - The value returned by the entry point of the assembly. - - - Provides COM objects with version-independent access to the method. - An array of assemblies in this application domain. - - - Provides COM objects with version-independent access to the method. - The name of a predefined application domain property, or the name of an application domain property you have defined. - The value of the property. - - - Provides COM objects with version-independent access to the inherited method. - A hash code for the current . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - The method is called late-bound using the COM IDispatch interface. - - - Provides COM objects with version-independent access to the inherited method. - An object of type used to control the lifetime policy for this instance. - - - Provides COM objects with version-independent access to the method. - A representing the type of the current instance. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - The method is called late-bound using the COM IDispatch interface. - - - Provides COM objects with version-independent access to the method. - Always . - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - The method is called late-bound using the COM IDispatch interface. - - - Provides COM objects with version-independent access to the method overload. - An array of type that is a COFF-based image containing an emitted assembly. - The loaded assembly. - - - Provides COM objects with version-independent access to the method overload. - An array of type that is a COFF-based image containing an emitted assembly. - An array of type containing the raw bytes representing the symbols for the assembly. - The loaded assembly. - - - Provides COM objects with version-independent access to the method overload. - An array of type that is a COFF-based image containing an emitted assembly. - An array of type containing the raw bytes representing the symbols for the assembly. - Evidence for loading the assembly. - The loaded assembly. - - - Provides COM objects with version-independent access to the method overload. - An object that describes the assembly to load. - The loaded assembly. - - - Provides COM objects with version-independent access to the method overload. - An object that describes the assembly to load. - Evidence for loading the assembly. - The loaded assembly. - - - Provides COM objects with version-independent access to the method overload. - The display name of the assembly. See . - The loaded assembly. - - - Provides COM objects with version-independent access to the method overload. - The display name of the assembly. See . - Evidence for loading the assembly. - The loaded assembly. - - - Provides COM objects with version-independent access to the method. - The security policy level. - - - Provides COM objects with version-independent access to the method. - The fully qualified path to the shadow copy location. - - - Provides COM objects with version-independent access to the method. - The name of a user-defined application domain property to create or change. - The value of the property. - - - Provides COM objects with version-independent access to the method. - One of the values that specifies the type of the principal object to attach to threads. - - - Provides COM objects with version-independent access to the method. - A list of directory names, where each name is separated by a semicolon. - - - Provides COM objects with version-independent access to the method. - The principal object to attach to threads. - - - Provides COM objects with version-independent access to the method. - A string formed by concatenating the literal string "Name:", the friendly name of the application domain, and either string representations of the context policies or the string "There are no context policies." - - - Initializes a new instance of the class with a system-supplied message that describes the error. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with a specified message that describes the error. - The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class using the specified application identity. - An object that identifies an application. - An object with the specified application identity. - - is . - No deployment or application identity is specified in . - - - Initializes a new instance of the class using the specified application identity and array of manifest paths. - An object that identifies an application. - A string array of manifest paths for the application. - An object with the specified application identity and array of manifest paths. - - is . -or- - is . - No deployment or application identity is specified in .-or- - does not match the identity in the manifests.-or- - does not have the same number of components as the manifest paths. - - - Releases all resources used by the . - - - Enables an object to attempt to free resources and perform other cleanup operations before the is reclaimed by garbage collection. - - - Populates a with the data needed to serialize the target object. - The object to populate with data. - The structure for this serialization. - - - Creates an instance of the COM object whose name is specified, using the named assembly file and the default constructor. - The name of a file that contains an assembly where the type named is sought. - The name of the preferred type. - A handle that must be unwrapped to access the newly created instance. - - or is . - An instance cannot be created through COM. -or- - was not found in . - No matching constructor was found. - - is not found, or the module you are trying to load does not specify a file name extension. - Cannot create an instance of an abstract class.-or-This member was invoked with a late-binding mechanism. - The caller cannot provide activation attributes for an object that does not inherit from . - - is the empty string (""). - - - Creates an instance of the COM object whose name is specified, using the named assembly file and the default constructor. - The name of a file that contains an assembly where the type named is sought. - The name of the preferred type. - The value of the computed hash code. - The hash algorithm used for hashing files and generating the strong name. - A handle that must be unwrapped to access the newly created instance. - - or is . - - is the empty string (""). - An assembly or module was loaded twice with two different evidences, or the assembly name is longer than MAX_PATH characters. - - is not found, or the module you are trying to load does not specify a file name extension. - - is found but cannot be loaded. - - is not a valid assembly. - A code base that does not start with "file://" was specified without the required . - An instance cannot be created through COM.-or- - was not found in . - No matching constructor was found. - An instance of an abstract class cannot be created. -or-This member was invoked with a late-binding mechanism. - The caller cannot provide activation attributes for an object that does not inherit from . - - - Creates an instance of the type designated by the specified object. - An activation context object that specifies the object to create. - A handle that must be unwrapped to access the newly created object. - - - Creates an instance of the type that is designated by the specified object and activated with the specified custom activation data. - An activation context object that specifies the object to create. - An array of Unicode strings that contain custom activation data. - A handle that must be unwrapped to access the newly created object. - - - Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and default constructor. - The remote domain where the type named is created. - The name of the assembly where the type named is sought. If is , the executing assembly is searched. - The fully qualified name of the preferred type. - A handle that must be unwrapped to access the newly created instance. - - or is . - No matching public constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract type. -or-This member was invoked with a late-binding mechanism. - The constructor, which was invoked through reflection, threw an exception. - The COM type was not obtained through or . - Creation of , , , and types, or arrays of those types, is not supported. - - is not a valid assembly. -or-The common language runtime (CLR) version 2.0 or later is currently loaded, and was compiled for a version of the CLR that is later than the currently loaded version. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0. - An assembly or module was loaded twice with two different evidences. -or-The assembly name or code base is invalid. - - - Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters. - The domain where the type named is created. - The name of the assembly where the type named is sought. If is , the executing assembly is searched. - The fully qualified name of the preferred type. - - to specify that the search for is not case-sensitive; to specify that the search is case-sensitive. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that uses and to seek and identify the constructor. If is , the default binder is used. - An array of arguments that match in number, order, and type the parameters of the constructor to invoke. If is an empty array or , the constructor that takes no parameters (the default constructor) is invoked. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. This is typically an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - A handle that must be unwrapped to access the newly created instance. - - or is . - No matching constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The constructor, which was invoked through reflection, threw an exception. - The COM type was not obtained through or . - Creation of , , , and types, or arrays of those types, is not supported.-or- - is not an empty array, and the type being created does not derive from . -or-The constructor that best matches has arguments. - - is not a valid assembly. -or-The common language runtime (CLR) version 2.0 or later is currently loaded, and was compiled for a version of the CLR that is later than the currently loaded version. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0. - An assembly or module was loaded twice with two different evidences. -or-The assembly name or code base is invalid. - - - Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters. - The domain where the type named is created. - The name of the assembly where the type named is sought. If is , the executing assembly is searched. - The fully qualified name of the preferred type. - - to specify that the search for is not case-sensitive; to specify that the search is case-sensitive. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that uses and to seek and identify the constructor. If is , the default binder is used. - An array of arguments that match in number, order, and type the parameters of the constructor to invoke. If is an empty array or , the constructor that takes no parameters (the default constructor) is invoked. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. This is typically an array that contains a single object. The specifies the URL that is required to activate a remote object. - Information used to make security policy decisions and grant code permissions. - A handle that must be unwrapped to access the newly created instance. - - or is . - No matching constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The constructor, which was invoked through reflection, threw an exception. - The COM type was not obtained through or . - Creation of , , , and types, or arrays of those types, is not supported.-or- - is not an empty array, and the type being created does not derive from . -or-The constructor that best matches has arguments. - - is not a valid assembly. -or-The common language runtime (CLR) version 2.0 or later is currently loaded, and was compiled for a version of the CLR that is later than the currently loaded version. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0. - An assembly or module was loaded twice with two different evidences. -or-The assembly name or code base is invalid. - - - Creates an instance of the type whose name is specified, using the named assembly and default constructor. - The name of the assembly where the type named is sought. For more information, see the Remarks section. If is , the executing assembly is searched. - The fully qualified name of the preferred type. - A handle that must be unwrapped to access the newly created instance. - - is . - No matching public constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - You cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The constructor, which was invoked through reflection, threw an exception. - The COM type was not obtained through or . - Creation of , , , and types, or arrays of those types, is not supported. - - is not a valid assembly. -or-The common language runtime (CLR) version 2.0 or later is currently loaded, and was compiled for a version of the CLR that is later than the currently loaded version. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0. - An assembly or module was loaded twice with two different evidences. -or-The assembly name or code base is invalid. - - - Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters. - The name of the assembly where the type named is sought. If is , the executing assembly is searched. - The fully qualified name of the preferred type. - - to specify that the search for is not case-sensitive; to specify that the search is case-sensitive. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that uses and to seek and identify the constructor. If is , the default binder is used. - An array of arguments that match in number, order, and type the parameters of the constructor to invoke. If is an empty array or , the constructor that takes no parameters (the default constructor) is invoked. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. This is typically an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - A handle that must be unwrapped to access the newly created instance. - - is . - No matching constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The constructor, which was invoked through reflection, threw an exception. - The COM type was not obtained through or . - Creation of , , , and types, or arrays of those types, is not supported.-or- - is not an empty array, and the type being created does not derive from . -or-The constructor that best matches has arguments. - - is not a valid assembly. -or-The common language runtime (CLR) version 2.0 or later is currently loaded, and was compiled for a version of the CLR that is later than the currently loaded version. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0. - An assembly or module was loaded twice with two different evidences. -or-The assembly name or code base is invalid. - - - Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters. - The name of the assembly where the type named is sought. If is , the executing assembly is searched. - The fully qualified name of the preferred type. - - to specify that the search for is not case-sensitive; to specify that the search is case-sensitive. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that uses and to seek and identify the constructor. If is , the default binder is used. - An array of arguments that match in number, order, and type the parameters of the constructor to invoke. If is an empty array or , the constructor that takes no parameters (the default constructor) is invoked. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. This is typically an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - Information used to make security policy decisions and grant code permissions. - A handle that must be unwrapped to access the newly created instance. - - is . - No matching constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The constructor, which was invoked through reflection, threw an exception. - The COM type was not obtained through or . - Creation of , , , and types, or arrays of those types, is not supported.-or- - is not an empty array, and the type being created does not derive from . -or-The constructor that best matches has arguments. - - is not a valid assembly. -or-The common language runtime (CLR) version 2.0 or later is currently loaded, and was compiled for a version of the CLR that is later than the currently loaded version. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0. - An assembly or module was loaded twice with two different evidences. -or-The assembly name or code base is invalid. - - - Creates an instance of the type whose name is specified, using the named assembly and default constructor. - The name of the assembly where the type named is sought. If is , the executing assembly is searched. - The fully qualified name of the preferred type. - An array of one or more attributes that can participate in activation. This is typically an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - A handle that must be unwrapped to access the newly created instance. - - is . - No matching public constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The COM type was not obtained through or . - Creation of , , , and types, or arrays of those types, is not supported.-or- - is not an empty array, and the type being created does not derive from .-or- - is not a array. - - is not a valid assembly. -or-The common language runtime (CLR) version 2.0 or later is currently loaded, and was compiled for a version of the CLR that is later than the currently loaded version. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0. - An assembly or module was loaded twice with two different evidences. -or-The assembly name or code base is invalid. - An error occurred when attempting remote activation in a target specified in . - - - Creates an instance of the specified type using that type's default constructor. - The type of object to create. - A reference to the newly created object. - - is . - - is not a . -or- - is an open generic type (that is, the property returns ). - - cannot be a .-or- Creation of , , , and types, or arrays of those types, is not supported.-or- - The assembly that contains is a dynamic assembly that was created with . - The constructor being called throws an exception. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The COM type was not obtained through or . - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.No matching public constructor was found. - - is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered. - - is not a valid type. - - - Creates an instance of the specified type using that type's default constructor. - The type of object to create. - - if a public or nonpublic default constructor can match; if only a public default constructor can match. - A reference to the newly created object. - - is . - - is not a . -or- - is an open generic type (that is, the property returns ). - - cannot be a .-or- Creation of , , , and types, or arrays of those types, is not supported. -or- - The assembly that contains is a dynamic assembly that was created with . - The constructor being called throws an exception. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The COM type was not obtained through or . - No matching public constructor was found. - - is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered. - - is not a valid type. - - - Creates an instance of the specified type using the constructor that best matches the specified parameters. - The type of object to create. - An array of arguments that match in number, order, and type the parameters of the constructor to invoke. If is an empty array or , the constructor that takes no parameters (the default constructor) is invoked. - A reference to the newly created object. - - is . - - is not a . -or- - is an open generic type (that is, the property returns ). - - cannot be a .-or- Creation of , , , and types, or arrays of those types, is not supported. -or- - The assembly that contains is a dynamic assembly that was created with .-or-The constructor that best matches has arguments. - The constructor being called throws an exception. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The COM type was not obtained through or . - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.No matching public constructor was found. - - is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered. - - is not a valid type. - - - Creates an instance of the specified type using the constructor that best matches the specified parameters. - The type of object to create. - An array of arguments that match in number, order, and type the parameters of the constructor to invoke. If is an empty array or , the constructor that takes no parameters (the default constructor) is invoked. - An array of one or more attributes that can participate in activation. This is typically an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - A reference to the newly created object. - - is . - - is not a . -or- - is an open generic type (that is, the property returns ). - - cannot be a .-or- Creation of , , , and types, or arrays of those types, is not supported.-or- - is not an empty array, and the type being created does not derive from . -or- - The assembly that contains is a dynamic assembly that was created with .-or-The constructor that best matches has arguments. - The constructor being called throws an exception. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The COM type was not obtained through or . - No matching public constructor was found. - - is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered. - - is not a valid type. - - - Creates an instance of the specified type using the constructor that best matches the specified parameters. - The type of object to create. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that uses and to seek and identify the constructor. If is , the default binder is used. - An array of arguments that match in number, order, and type the parameters of the constructor to invoke. If is an empty array or , the constructor that takes no parameters (the default constructor) is invoked. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - A reference to the newly created object. - - is . - - is not a . -or- - is an open generic type (that is, the property returns ). - - cannot be a .-or- Creation of , , , and types, or arrays of those types, is not supported. -or- - The assembly that contains is a dynamic assembly that was created with .-or-The constructor that best matches has arguments. - The constructor being called throws an exception. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The COM type was not obtained through or . - No matching constructor was found. - - is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered. - - is not a valid type. - - - Creates an instance of the specified type using the constructor that best matches the specified parameters. - The type of object to create. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that uses and to seek and identify the constructor. If is , the default binder is used. - An array of arguments that match in number, order, and type the parameters of the constructor to invoke. If is an empty array or , the constructor that takes no parameters (the default constructor) is invoked. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. This is typically an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - A reference to the newly created object. - - is . - - is not a . -or- - is an open generic type (that is, the property returns ). - - cannot be a .-or- Creation of , , , and types, or arrays of those types, is not supported.-or- - is not an empty array, and the type being created does not derive from . -or- - The assembly that contains is a dynamic assembly that was created with .-or-The constructor that best matches has arguments. - The constructor being called throws an exception. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The COM type was not obtained through or . - No matching constructor was found. - - is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered. - - is not a valid type. - - - Creates an instance of the type designated by the specified generic type parameter, using the parameterless constructor. - The type to create. - A reference to the newly created object. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The type that is specified for does not have a parameterless constructor. - - - Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly file and default constructor. - The remote domain where the type named is created. - The name of a file that contains an assembly where the type named is sought. - The name of the preferred type. - A handle that must be unwrapped to access the newly created instance. - - or is . - No matching public constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The constructor, which was invoked through reflection, threw an exception. - The caller does have the required . - - is not a valid assembly. -or-The common language runtime (CLR) version 2.0 or later is currently loaded, and was compiled for a version of the CLR that is later than the currently loaded version. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0. - - - Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly file and the constructor that best matches the specified parameters. - The remote domain where the type named is created. - The name of a file that contains an assembly where the type named is sought. - The name of the preferred type. - - to specify that the search for is not case-sensitive; to specify that the search is case-sensitive. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that uses and to seek and identify the constructor. If is , the default binder is used. - An array of arguments that match in number, order, and type the parameters of the constructor to invoke. If is an empty array or , the constructor that takes no parameters (the default constructor) is invoked. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. This is typically an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - A handle that must be unwrapped to access the newly created instance. - - or is . - No matching constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The constructor, which was invoked through reflection, threw an exception. - The caller does have the required . - - is not an empty array, and the type being created does not derive from . - - is not a valid assembly. -or- - was compiled for a version of the common language runtime that is later than the version that is currently loaded. - - - Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly file and the constructor that best matches the specified parameters. - The remote domain where the type named is created. - The name of a file that contains an assembly where the type named is sought. - The name of the preferred type. - - to specify that the search for is not case-sensitive; to specify that the search is case-sensitive. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that uses and to seek and identify the constructor. If is , the default binder is used. - An array of arguments that match in number, order, and type the parameters of the constructor to invoke. If is an empty array or , the constructor that takes no parameters (the default constructor) is invoked. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. This is typically an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - Information used to make security policy decisions and grant code permissions. - A handle that must be unwrapped to access the newly created instance. - - or is . - No matching constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The constructor, which was invoked through reflection, threw an exception. - The caller does have the required . - - is not an empty array, and the type being created does not derive from . - - is not a valid assembly. -or-The common language runtime (CLR) version 2.0 or later is currently loaded, and was compiled for a version of the CLR that is later than the currently loaded version. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0. - - - Creates an instance of the type whose name is specified, using the named assembly file and default constructor. - The name of a file that contains an assembly where the type named is sought. - The name of the preferred type. - A handle that must be unwrapped to access the newly created instance. - - is . - No matching public constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The constructor, which was invoked through reflection, threw an exception. - The caller does have the required . - - is not a valid assembly. -or-The common language runtime (CLR) version 2.0 or later is currently loaded, and was compiled for a version of the CLR that is later than the currently loaded version. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0. - - - Creates an instance of the type whose name is specified, using the named assembly file and the constructor that best matches the specified parameters. - The name of a file that contains an assembly where the type named is sought. - The name of the preferred type. - - to specify that the search for is not case-sensitive; to specify that the search is case-sensitive. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that uses and to seek and identify the constructor. If is , the default binder is used. - An array of arguments that match in number, order, and type the parameters of the constructor to invoke. If is an empty array or , the constructor that takes no parameters (the default constructor) is invoked. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. This is typically an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - A handle that must be unwrapped to access the newly created instance. - - is . - No matching constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The constructor, which was invoked through reflection, threw an exception. - The caller does not have the required . - - is not an empty array, and the type being created does not derive from . - - is not a valid assembly. -or-The common language runtime (CLR) version 2.0 or later is currently loaded, and was compiled for a version of the CLR that is later than the currently loaded version. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0. - - - Creates an instance of the type whose name is specified, using the named assembly file and the constructor that best matches the specified parameters. - The name of a file that contains an assembly where the type named is sought. - The name of the preferred type. - - to specify that the search for is not case-sensitive; to specify that the search is case-sensitive. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that uses and to seek and identify the constructor. If is , the default binder is used. - An array of arguments that match in number, order, and type the parameters of the constructor to invoke. If is an empty array or , the constructor that takes no parameters (the default constructor) is invoked. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. This is typically an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - Information used to make security policy decisions and grant code permissions. - A handle that must be unwrapped to access the newly created instance. - - is . - No matching constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The constructor, which was invoked through reflection, threw an exception. - The caller does not have the required . - - is not an empty array, and the type being created does not derive from . - - is not a valid assembly. -or-The common language runtime (CLR) version 2.0 or later is currently loaded, and was compiled for a version of the CLR that is later than the currently loaded version. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0. - - - Creates an instance of the type whose name is specified, using the named assembly file and default constructor. - The name of a file that contains an assembly where the type named is sought. - The name of the preferred type. - An array of one or more attributes that can participate in activation. This is typically an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - A handle that must be unwrapped to access the newly created instance. - - is . - No matching public constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - The constructor, which was invoked through reflection, threw an exception. - - is not an empty array, and the type being created does not derive from . - The caller does have the required . - - is not a valid assembly. -or-The common language runtime (CLR) version 2.0 or later is currently loaded, and was compiled for a version of the CLR that is later than the currently loaded version. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0. - - - Creates a proxy for the well-known object indicated by the specified type and URL. - The type of the well-known object to which you want to connect. - The URL of the well-known object. - A proxy that points to an endpoint served by the requested well-known object. - - or is . - - is not marshaled by reference and is not an interface. - This member was invoked with a late-binding mechanism. - - - Creates a proxy for the well-known object indicated by the specified type, URL, and channel data. - The type of the well-known object to which you want to connect. - The URL of the well-known object. - Channel-specific data or . - A proxy that points to an endpoint served by the requested well-known object. - - or is . - - is not marshaled by reference and is not an interface. - This member was invoked with a late-binding mechanism. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - The passed-in array of names to map. - The count of the names to map. - The locale context in which to interpret the names. - The caller-allocated array that receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - An object that receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - A dispatch identifier that identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure that contains an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result is to be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Initializes a new instance of the class with a system-supplied message that describes the error. - - - Initializes a new instance of the class with references to the inner exceptions that are the cause of this exception. - The exceptions that are the cause of the current exception. - The argument is null. - An element of is null. - - - Initializes a new instance of the class with references to the inner exceptions that are the cause of this exception. - The exceptions that are the cause of the current exception. - The argument is null. - An element of is null. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - The argument is null. - The exception could not be deserialized correctly. - - - Initializes a new instance of the class with a specified message that describes the error. - The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and references to the inner exceptions that are the cause of this exception. - The error message that explains the reason for the exception. - The exceptions that are the cause of the current exception. - The argument is null. - An element of is null. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - The argument is null. - - - Initializes a new instance of the class with a specified error message and references to the inner exceptions that are the cause of this exception. - The error message that explains the reason for the exception. - The exceptions that are the cause of the current exception. - The argument is null. - An element of is null. - - - Flattens an instances into a single, new instance. - A new, flattened . - - - Returns the that is the root cause of this exception. - Returns the that is the root cause of this exception. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - The argument is null. - - - Invokes a handler on each contained by this . - The predicate to execute for each exception. The predicate accepts as an argument the to be processed and returns a Boolean to indicate whether the exception was handled. - The argument is null. - An exception contained by this was not handled. - - - Creates and returns a string representation of the current . - A string representation of the current exception. - - - Returns the value of the named data element assigned to the current application domain. - The name of the data element. - The value of , if identifies a named value; otherwise, . - - - Sets the value of a switch. - The name of the switch. - The value of the switch. - - is . - - is . - - - Tries to get the value of a switch. - The name of the switch. - When this method returns, contains the value of if was found, or if was not found. This parameter is passed uninitialized. - - if was set and the argument contains the value of the switch; otherwise, . - - is . - - is . - - - Appends the specified directory name to the private path list. - The name of the directory to be appended to the private path. - The operation is attempted on an unloaded application domain. - - - Returns the assembly display name after policy has been applied. - The assembly display name, in the form provided by the property. - A string containing the assembly display name after policy has been applied. - - - Resets the path that specifies the location of private assemblies to the empty string (""). - The operation is attempted on an unloaded application domain. - - - Resets the list of directories containing shadow copied assemblies to the empty string (""). - The operation is attempted on an unloaded application domain. - - - Creates a new instance of a specified COM type. Parameters specify the name of a file that contains an assembly containing the type and the name of the type. - The name of a file containing an assembly that defines the requested type. - The name of the requested type. - An object that is a wrapper for the new instance specified by . The return value needs to be unwrapped to access the real object. - - or is . - The type cannot be loaded. - The operation is attempted on an unloaded application domain. - No public parameterless constructor was found. - - is not found. - - is an abstract class. -or-This member was invoked with a late-binding mechanism. - The caller cannot provide activation attributes for an object that does not inherit from . - - is an empty string (""). - - is not a valid assembly. - An assembly or module was loaded twice with two different evidences. - The COM object that is being referred to is . - - - Creates a new instance of a specified COM type. Parameters specify the name of a file that contains an assembly containing the type and the name of the type. - The name of a file containing an assembly that defines the requested type. - The name of the requested type. - Represents the value of the computed hash code. - Represents the hash algorithm used by the assembly manifest. - An object that is a wrapper for the new instance specified by . The return value needs to be unwrapped to access the real object. - - or is . - The type cannot be loaded. - The operation is attempted on an unloaded application domain. - No public parameterless constructor was found. - - is not found. - - is an abstract class. -or-This member was invoked with a late-binding mechanism. - The caller cannot provide activation attributes for an object that does not inherit from . - - is the empty string (""). - - is not a valid assembly. - An assembly or module was loaded twice with two different evidences. - The COM object that is being referred to is . - - - Creates a new application domain with the specified name. - The friendly name of the domain. - The newly created application domain. - - is . - - - Creates a new application domain with the given name using the supplied evidence. - The friendly name of the domain. This friendly name can be displayed in user interfaces to identify the domain. For more information, see . - Evidence that establishes the identity of the code that runs in the application domain. Pass to use the evidence of the current application domain. - The newly created application domain. - - is . - - - Creates a new application domain using the specified name, evidence, and application domain setup information. - The friendly name of the domain. This friendly name can be displayed in user interfaces to identify the domain. For more information, see . - Evidence that establishes the identity of the code that runs in the application domain. Pass to use the evidence of the current application domain. - An object that contains application domain initialization information. - The newly created application domain. - - is . - - - Creates a new application domain using the specified name, evidence, application domain setup information, default permission set, and array of fully trusted assemblies. - The friendly name of the domain. This friendly name can be displayed in user interfaces to identify the domain. For more information, see the description of . - Evidence that establishes the identity of the code that runs in the application domain. Pass to use the evidence of the current application domain. - An object that contains application domain initialization information. - A default permission set that is granted to all assemblies loaded into the new application domain that do not have specific grants. - An array of strong names representing assemblies to be considered fully trusted in the new application domain. - The newly created application domain. - - is . - The application domain is .-or- - The property is not set on the object that is supplied for . - - - Creates a new application domain with the given name, using evidence, application base path, relative search path, and a parameter that specifies whether a shadow copy of an assembly is to be loaded into the application domain. - The friendly name of the domain. This friendly name can be displayed in user interfaces to identify the domain. For more information, see . - Evidence that establishes the identity of the code that runs in the application domain. Pass to use the evidence of the current application domain. - The base directory that the assembly resolver uses to probe for assemblies. For more information, see . - The path relative to the base directory where the assembly resolver should probe for private assemblies. For more information, see . - If , a shadow copy of an assembly is loaded into this application domain. - The newly created application domain. - - is . - - - Creates a new application domain with the given name, using evidence, application base path, relative search path, and a parameter that specifies whether a shadow copy of an assembly is to be loaded into the application domain. Specifies a callback method that is invoked when the application domain is initialized, and an array of string arguments to pass the callback method. - The friendly name of the domain. This friendly name can be displayed in user interfaces to identify the domain. For more information, see . - Evidence that establishes the identity of the code that runs in the application domain. Pass to use the evidence of the current application domain. - The base directory that the assembly resolver uses to probe for assemblies. For more information, see . - The path relative to the base directory where the assembly resolver should probe for private assemblies. For more information, see . - - to load a shadow copy of an assembly into the application domain. - An delegate that represents a callback method to invoke when the new object is initialized. - An array of string arguments to be passed to the callback represented by , when the new object is initialized. - The newly created application domain. - - is . - - - Creates a new instance of the specified type defined in the specified assembly. - The display name of the assembly. See . - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - An object that is a wrapper for the new instance specified by . The return value needs to be unwrapped to access the real object. - The operation is attempted on an unloaded application domain. - - or is . - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - An assembly or module was loaded twice with two different evidences. - - was not found. - The caller does not have permission to call this constructor. - No matching public constructor was found. - - was not found in . - This instance is . - - - Creates a new instance of the specified type defined in the specified assembly. Parameters specify a binder, binding flags, constructor arguments, culture-specific information used to interpret arguments, and optional activation attributes. - The display name of the assembly. See . - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - A Boolean value specifying whether to perform a case-sensitive search or not. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects using reflection. If is null, the default binder is used. - The arguments to pass to the constructor. This array of arguments must match in number, order, and type the parameters of the constructor to invoke. If the default constructor is preferred, must be an empty array or null. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - An object that is a wrapper for the new instance specified by . The return value needs to be unwrapped to access the real object. - The operation is attempted on an unloaded application domain. - - or is . - - is not a valid assembly. -or- - was compiled with a later version of the common language runtime than the version that is currently loaded. - An assembly or module was loaded twice with two different evidences. - - was not found. - The caller does not have permission to call this constructor. - No matching constructor was found. - The caller cannot provide activation attributes for an object that does not inherit from . - - was not found in . - This instance is . - - - Creates a new instance of the specified type defined in the specified assembly. Parameters specify a binder, binding flags, constructor arguments, culture-specific information used to interpret arguments, activation attributes, and authorization to create the type. - The display name of the assembly. See . - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - A Boolean value specifying whether to perform a case-sensitive search or not. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects using reflection. If is null, the default binder is used. - The arguments to pass to the constructor. This array of arguments must match in number, order, and type the parameters of the constructor to invoke. If the default constructor is preferred, must be an empty array or null. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - Information used to authorize creation of . - An object that is a wrapper for the new instance specified by . The return value needs to be unwrapped to access the real object. - The operation is attempted on an unloaded application domain. - - or is . - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - An assembly or module was loaded twice with two different evidences. - - was not found. - The caller does not have permission to call this constructor. - No matching constructor was found. - The caller cannot provide activation attributes for an object that does not inherit from .-or- - is not . When legacy CAS policy is not enabled, should be - - was not found in . - This instance is . - - - Creates a new instance of the specified type defined in the specified assembly. A parameter specifies an array of activation attributes. - The display name of the assembly. See . - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - An object that is a wrapper for the new instance specified by . The return value needs to be unwrapped to access the real object. - The operation is attempted on an unloaded application domain. - - or is . - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - An assembly or module was loaded twice with two different evidences. - - was not found. - The caller does not have permission to call this constructor. - No matching public constructor was found. - The caller cannot provide activation attributes for an object that does not inherit from . - - was not found in . - This instance is . - - - Creates a new instance of the specified type. Parameters specify the assembly where the type is defined, and the name of the type. - The display name of the assembly. See . - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - An instance of the object specified by . - - or is . - No matching public constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - The operation is attempted on an unloaded application domain. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - An assembly or module was loaded twice with two different evidences. - - - Creates a new instance of the specified type defined in the specified assembly, specifying whether the case of the type name is ignored; the binding attributes and the binder that are used to select the type to be created; the arguments of the constructor; the culture; and the activation attributes. - The display name of the assembly. See . - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - A Boolean value specifying whether to perform a case-sensitive search or not. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects using reflection. If is null, the default binder is used. - The arguments to pass to the constructor. This array of arguments must match in number, order, and type the parameters of the constructor to invoke. If the default constructor is preferred, must be an empty array or null. - A culture-specific object used to govern the coercion of types. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object. that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - An instance of the object specified by . - - or is . - No matching constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - The caller cannot provide activation attributes for an object that does not inherit from . - The operation is attempted on an unloaded application domain. - - is not a valid assembly. -or- - was compiled with a later version of the common language runtime than the version that is currently loaded. - An assembly or module was loaded twice with two different evidences. - - - Creates a new instance of the specified type. Parameters specify the name of the type, and how it is found and created. - The display name of the assembly. See . - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - A Boolean value specifying whether to perform a case-sensitive search or not. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects using reflection. If is null, the default binder is used. - The arguments to pass to the constructor. This array of arguments must match in number, order, and type the parameters of the constructor to invoke. If the default constructor is preferred, must be an empty array or null. - A culture-specific object used to govern the coercion of types. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - Information used to authorize creation of . - An instance of the object specified by . - - or is . - No matching constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - The caller cannot provide activation attributes for an object that does not inherit from . - The operation is attempted on an unloaded application domain. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - An assembly or module was loaded twice with two different evidences. - - - Creates a new instance of the specified type. Parameters specify the assembly where the type is defined, the name of the type, and an array of activation attributes. - The display name of the assembly. See . - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - An instance of the object specified by . - - or is . - No matching public constructor was found. - - was not found in . - - was not found. - The caller does not have permission to call this constructor. - The caller cannot provide activation attributes for an object that does not inherit from . - The operation is attempted on an unloaded application domain. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - An assembly or module was loaded twice with two different evidences. - - - Creates a new instance of the specified type defined in the specified assembly file. - The name, including the path, of a file that contains an assembly that defines the requested type. The assembly is loaded using the method. - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - An object that is a wrapper for the new instance, or if is not found. The return value needs to be unwrapped to access the real object. - - is .-or- - is . - - was not found. - - was not found in . - The operation is attempted on an unloaded application domain. - No parameterless public constructor was found. - The caller does not have sufficient permission to call this constructor. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - An assembly or module was loaded twice with two different evidences. - This instance is . - - - Creates a new instance of the specified type defined in the specified assembly file. - The name, including the path, of a file that contains an assembly that defines the requested type. The assembly is loaded using the method. - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - A Boolean value specifying whether to perform a case-sensitive search or not. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects through reflection. If is null, the default binder is used. - The arguments to pass to the constructor. This array of arguments must match in number, order, and type the parameters of the constructor to invoke. If the default constructor is preferred, must be an empty array or null. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - An object that is a wrapper for the new instance, or if is not found. The return value needs to be unwrapped to access the real object. - - is .-or- - is . - The caller cannot provide activation attributes for an object that does not inherit from . - The operation is attempted on an unloaded application domain. - - was not found. - - was not found in . - No matching public constructor was found. - The caller does not have sufficient permission to call this constructor. - - is not a valid assembly. -or- - was compiled with a later version of the common language runtime than the version that is currently loaded. - An assembly or module was loaded twice with two different evidences. - This instance is . - - - Creates a new instance of the specified type defined in the specified assembly file. - The name, including the path, of a file that contains an assembly that defines the requested type. The assembly is loaded using the method. - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - A Boolean value specifying whether to perform a case-sensitive search or not. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects through reflection. If is null, the default binder is used. - The arguments to pass to the constructor. This array of arguments must match in number, order, and type the parameters of the constructor to invoke. If the default constructor is preferred, must be an empty array or null. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - Information used to authorize creation of . - An object that is a wrapper for the new instance, or if is not found. The return value needs to be unwrapped to access the real object. - - is .-or- - is . - The caller cannot provide activation attributes for an object that does not inherit from .-or- - is not . When legacy CAS policy is not enabled, should be . - The operation is attempted on an unloaded application domain. - - was not found. - - was not found in . - No matching public constructor was found. - The caller does not have sufficient permission to call this constructor. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - An assembly or module was loaded twice with two different evidences. - This instance is . - - - Creates a new instance of the specified type defined in the specified assembly file. - The name, including the path, of a file that contains an assembly that defines the requested type. The assembly is loaded using the method. - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - An object that is a wrapper for the new instance, or if is not found. The return value needs to be unwrapped to access the real object. - - is . - - was not found. - - was not found in . - The caller does not have sufficient permission to call this constructor. - No matching public constructor was found. - The caller cannot provide activation attributes for an object that does not inherit from . - The operation is attempted on an unloaded application domain. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - An assembly or module was loaded twice with two different evidences. - This instance is . - - - Creates a new instance of the specified type defined in the specified assembly file. - The file name and path of the assembly that defines the requested type. - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - The requested object, or if is not found. - - is .-or- - is . - The operation is attempted on an unloaded application domain. - - was not found. - - was not found in . - No parameterless public constructor was found. - The caller does not have sufficient permission to call this constructor. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - An assembly or module was loaded twice with two different evidences. - - - Creates a new instance of the specified type defined in the specified assembly file, specifying whether the case of the type name is ignored; the binding attributes and the binder that are used to select the type to be created; the arguments of the constructor; the culture; and the activation attributes. - The file name and path of the assembly that defines the requested type. - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - A Boolean value specifying whether to perform a case-sensitive search or not. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects through reflection. If is null, the default binder is used. - The arguments to pass to the constructor. This array of arguments must match in number, order, and type the parameters of the constructor to invoke. If the default constructor is preferred, must be an empty array or null. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - The requested object, or if is not found. - - is .-or- - is . - The caller cannot provide activation attributes for an object that does not inherit from . - The operation is attempted on an unloaded application domain. - - was not found. - - was not found in . - No matching public constructor was found. - The caller does not have sufficient permission to call this constructor. - - is not a valid assembly. -or- - was compiled with a later version of the common language runtime that the version that is currently loaded. - An assembly or module was loaded twice with two different evidences. - - - Creates a new instance of the specified type defined in the specified assembly file. - The file name and path of the assembly that defines the requested type. - The fully qualified name of the requested type, including the namespace but not the assembly, as returned by the property. - A Boolean value specifying whether to perform a case-sensitive search or not. - A combination of zero or more bit flags that affect the search for the constructor. If is zero, a case-sensitive search for public constructors is conducted. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects through reflection. If is null, the default binder is used. - The arguments to pass to the constructor. This array of arguments must match in number, order, and type the parameters of the constructor to invoke. If the default constructor is preferred, must be an empty array or null. - Culture-specific information that governs the coercion of to the formal types declared for the constructor. If is , the for the current thread is used. - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - Information used to authorize creation of . - The requested object, or if is not found. - - is .-or- - is . - The caller cannot provide activation attributes for an object that does not inherit from . - The operation is attempted on an unloaded application domain. - - was not found. - - was not found in . - No matching public constructor was found. - The caller does not have sufficient permission to call this constructor. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - An assembly or module was loaded twice with two different evidences. - - - Creates a new instance of the specified type defined in the specified assembly file. - The file name and path of the assembly that defines the requested type. - The fully qualified name of the requested type, including the namespace but not the assembly (see the property). - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - The requested object, or if is not found. - - is .-or- - is . - The caller cannot provide activation attributes for an object that does not inherit from . - The operation is attempted on an unloaded application domain. - - was not found. - - was not found in . - No parameterless public constructor was found. - The caller does not have sufficient permission to call this constructor. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - An assembly or module was loaded twice with two different evidences. - - - Defines a dynamic assembly with the specified name and access mode. - The unique identity of the dynamic assembly. - The access mode for the dynamic assembly. - A dynamic assembly with the specified name and access mode. - - is . - The property of is .-or- The property of begins with white space, or contains a forward or backward slash. - The operation is attempted on an unloaded application domain. - - - Defines a dynamic assembly with the specified name, access mode, and custom attributes. - The unique identity of the dynamic assembly. - The access mode for the dynamic assembly. - An enumerable list of attributes to be applied to the assembly, or if there are no attributes. - A dynamic assembly with the specified name and features. - - is . - The property of is .-or- The property of starts with white space, or contains a forward or backward slash. - The operation is attempted on an unloaded application domain. - - - Defines a dynamic assembly with the specified name, access mode, and custom attributes, and using the specified source for its security context. - The unique identity of the dynamic assembly. - The access mode for the dynamic assembly. - An enumerable list of attributes to be applied to the assembly, or if there are no attributes. - The source of the security context. - - A dynamic assembly with the specified name and features. - - is . - The property of is .-or- The property of starts with white space, or contains a forward or backward slash. - The operation is attempted on an unloaded application domain. - The value of was not one of the enumeration values. - - - Defines a dynamic assembly using the specified name, access mode, and permission requests. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The required permissions request. - The optional permissions request. - The refused permissions request. - A dynamic assembly with the specified name and features. - - is . - The property of is .-or- The property of begins with white space, or contains a forward or backward slash. - The operation is attempted on an unloaded application domain. - - - Defines a dynamic assembly using the specified name, access mode, and evidence. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The evidence supplied for the dynamic assembly. The evidence is used unaltered as the final set of evidence used for policy resolution. - A dynamic assembly with the specified name and features. - - is . - The property of is .-or- The property of begins with white space, or contains a forward or backward slash. - The operation is attempted on an unloaded application domain. - - - Defines a dynamic assembly using the specified name, access mode, evidence, and permission requests. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The evidence supplied for the dynamic assembly. The evidence is used unaltered as the final set of evidence used for policy resolution. - The required permissions request. - The optional permissions request. - The refused permissions request. - A dynamic assembly with the specified name and features. - - is . - The property of is .-or- The property of begins with white space, or contains a forward or backward slash. - The operation is attempted on an unloaded application domain. - - - Defines a dynamic assembly using the specified name, access mode, and storage directory. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The name of the directory where the assembly will be saved. If is , the directory defaults to the current directory. - A dynamic assembly with the specified name and features. - - is . - The property of is .-or- The property of begins with white space, or contains a forward or backward slash. - The operation is attempted on an unloaded application domain. - - - Defines a dynamic assembly using the specified name, access mode, storage directory, and synchronization option. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The name of the directory where the dynamic assembly will be saved. If is , the current directory is used. - - to synchronize the creation of modules, types, and members in the dynamic assembly; otherwise, . - An enumerable list of attributes to be applied to the assembly, or if there are no attributes. - A dynamic assembly with the specified name and features. - - is . - The property of is .-or- The property of starts with white space, or contains a forward or backward slash. - The operation is attempted on an unloaded application domain. - - - Defines a dynamic assembly using the specified name, access mode, storage directory, and permission requests. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The name of the directory where the assembly will be saved. If is , the directory defaults to the current directory. - The required permissions request. - The optional permissions request. - The refused permissions request. - A dynamic assembly with the specified name and features. - - is . - The property of is .-or- The property of begins with white space, or contains a forward or backward slash. - The operation is attempted on an unloaded application domain. - - - Defines a dynamic assembly using the specified name, access mode, storage directory, and evidence. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The name of the directory where the assembly will be saved. If is , the directory defaults to the current directory. - The evidence supplied for the dynamic assembly. The evidence is used unaltered as the final set of evidence used for policy resolution. - A dynamic assembly with the specified name and features. - - is . - The property of is .-or- The property of begins with white space, or contains a forward or backward slash. - The operation is attempted on an unloaded application domain. - - - Defines a dynamic assembly using the specified name, access mode, storage directory, evidence, and permission requests. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The name of the directory where the assembly will be saved. If is , the directory defaults to the current directory. - The evidence supplied for the dynamic assembly. The evidence is used unaltered as the final set of evidence used for policy resolution. - The required permissions request. - The optional permissions request. - The refused permissions request. - A dynamic assembly with the specified name and features. - - is . - The property of is .-or- The property of begins with white space, or contains a forward or backward slash. - The operation is attempted on an unloaded application domain. - - - Defines a dynamic assembly using the specified name, access mode, storage directory, evidence, permission requests, and synchronization option. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The name of the directory where the dynamic assembly will be saved. If is , the directory defaults to the current directory. - The evidence supplied for the dynamic assembly. The evidence is used unaltered as the final set of evidence used for policy resolution. - The required permissions request. - The optional permissions request. - The refused permissions request. - - to synchronize the creation of modules, types, and members in the dynamic assembly; otherwise, . - A dynamic assembly with the specified name and features. - - is . - The property of is .-or- The property of begins with white space, or contains a forward or backward slash. - The operation is attempted on an unloaded application domain. - - - Defines a dynamic assembly with the specified name, access mode, storage directory, evidence, permission requests, synchronization option, and custom attributes. - The unique identity of the dynamic assembly. - The mode in which the dynamic assembly will be accessed. - The name of the directory where the dynamic assembly will be saved. If is , the current directory is used. - The evidence that is supplied for the dynamic assembly. The evidence is used unaltered as the final set of evidence used for policy resolution. - The required permissions request. - The optional permissions request. - The refused permissions request. - - to synchronize the creation of modules, types, and members in the dynamic assembly; otherwise, . - An enumerable list of attributes to be applied to the assembly, or if there are no attributes. - A dynamic assembly with the specified name and features. - - is . - The property of is .-or- The property of starts with white space, or contains a forward or backward slash. - The operation is attempted on an unloaded application domain. - - - Executes the code in another application domain that is identified by the specified delegate. - A delegate that specifies a method to call. - - is . - - - Executes the assembly contained in the specified file. - The name of the file that contains the assembly to execute. - The value returned by the entry point of the assembly. - - is . - - is not found. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - An assembly or module was loaded twice with two different evidences. - - The specified assembly has no entry point. - - - Executes the assembly contained in the specified file, using the specified evidence. - The name of the file that contains the assembly to execute. - Evidence for loading the assembly. - The value returned by the entry point of the assembly. - - is . - - is not found. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - An assembly or module was loaded twice with two different evidences. - - The specified assembly has no entry point. - - - Executes the assembly contained in the specified file, using the specified evidence and arguments. - The name of the file that contains the assembly to execute. - The supplied evidence for the assembly. - The arguments to the entry point of the assembly. - The value returned by the entry point of the assembly. - - is . - - is not found. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - An assembly or module was loaded twice with two different evidences. - - is not . When legacy CAS policy is not enabled, should be . - - The specified assembly has no entry point. - - - Executes the assembly contained in the specified file, using the specified evidence, arguments, hash value, and hash algorithm. - The name of the file that contains the assembly to execute. - The supplied evidence for the assembly. - The arguments to the entry point of the assembly. - Represents the value of the computed hash code. - Represents the hash algorithm used by the assembly manifest. - The value returned by the entry point of the assembly. - - is . - - is not found. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - An assembly or module was loaded twice with two different evidences. - - is not . When legacy CAS policy is not enabled, should be . - - The specified assembly has no entry point. - - - Executes the assembly contained in the specified file, using the specified arguments. - The name of the file that contains the assembly to execute. - The arguments to the entry point of the assembly. - The value that is returned by the entry point of the assembly. - - is . - - is not found. - - is not a valid assembly. -or- - was compiled with a later version of the common language runtime than the version that is currently loaded. - The operation is attempted on an unloaded application domain. - An assembly or module was loaded twice with two different evidences. - - The specified assembly has no entry point. - - - Executes the assembly contained in the specified file, using the specified arguments, hash value, and hash algorithm. - The name of the file that contains the assembly to execute. - The arguments to the entry point of the assembly. - Represents the value of the computed hash code. - Represents the hash algorithm used by the assembly manifest. - The value that is returned by the entry point of the assembly. - - is . - - is not found. - - is not a valid assembly. -or- - was compiled with a later version of the common language runtime than the version that is currently loaded. - The operation is attempted on an unloaded application domain. - An assembly or module was loaded twice with two different evidences. - - The specified assembly has no entry point. - - - Executes the assembly given an , using the specified evidence and arguments. - An object representing the name of the assembly. - Evidence for loading the assembly. - Command-line arguments to pass when starting the process. - The value returned by the entry point of the assembly. - The assembly specified by is not found. - The assembly specified by was found, but could not be loaded. - The assembly specified by is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - - is not . When legacy CAS policy is not enabled, should be . - - The specified assembly has no entry point. - - - Executes the assembly given an , using the specified arguments. - An object representing the name of the assembly. - Command-line arguments to pass when starting the process. - The value that is returned by the entry point of the assembly. - The assembly specified by is not found. - The assembly specified by was found, but could not be loaded. - The assembly specified by is not a valid assembly. -or- - was compiled with a later version of the common language runtime than the version that is currently loaded. - The operation is attempted on an unloaded application domain. - - The specified assembly has no entry point. - - - Executes an assembly given its display name. - The display name of the assembly. See . - The value returned by the entry point of the assembly. - - is . - The assembly specified by is not found. - The assembly specified by is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - The assembly specified by was found, but could not be loaded. - - The specified assembly has no entry point. - - - Executes an assembly given its display name, using the specified evidence. - The display name of the assembly. See . - Evidence for loading the assembly. - The value returned by the entry point of the assembly. - - is . - The assembly specified by is not found. - The assembly specified by was found, but could not be loaded. - The assembly specified by is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - - The specified assembly has no entry point. - - - Executes the assembly given its display name, using the specified evidence and arguments. - The display name of the assembly. See . - Evidence for loading the assembly. - Command-line arguments to pass when starting the process. - The value returned by the entry point of the assembly. - - is . - The assembly specified by is not found. - The assembly specified by was found, but could not be loaded. - The assembly specified by is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - - is not . When legacy CAS policy is not enabled, should be . - - The specified assembly has no entry point. - - - Executes the assembly given its display name, using the specified arguments. - The display name of the assembly. See . - Command-line arguments to pass when starting the process. - The value that is returned by the entry point of the assembly. - - is . - The assembly specified by is not found. - The assembly specified by was found, but could not be loaded. - The assembly specified by is not a valid assembly. -or- - was compiled with a later version of the common language runtime than the version that is currently loaded. - The operation is attempted on an unloaded application domain. - - The specified assembly has no entry point. - - - Gets the assemblies that have been loaded into the execution context of this application domain. - An array of assemblies in this application domain. - The operation is attempted on an unloaded application domain. - - - Gets the current thread identifier. - A 32-bit signed integer that is the identifier of the current thread. - - - Gets the value stored in the current application domain for the specified name. - The name of a predefined application domain property, or the name of an application domain property you have defined. - The value of the property, or if the property does not exist. - - is . - The operation is attempted on an unloaded application domain. - - - Gets the type of the current instance. - The type of the current instance. - - - Gives the an infinite lifetime by preventing a lease from being created. - Always . - The operation is attempted on an unloaded application domain. - - - Gets a nullable Boolean value that indicates whether any compatibility switches are set, and if so, whether the specified compatibility switch is set. - The compatibility switch to test. - A null reference ( in Visual Basic) if no compatibility switches are set; otherwise, a Boolean value that indicates whether the compatibility switch that is specified by is set. - - - Returns a value that indicates whether the application domain is the default application domain for the process. - - if the current object represents the default application domain for the process; otherwise, . - - - Indicates whether this application domain is unloading, and the objects it contains are being finalized by the common language runtime. - - if this application domain is unloading and the common language runtime has started invoking finalizers; otherwise, . - - - Loads the with a common object file format (COFF) based image containing an emitted . - An array of type that is a COFF-based image containing an emitted assembly. - The loaded assembly. - - is . - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - An assembly or module was loaded twice with two different evidences. - - - Loads the with a common object file format (COFF) based image containing an emitted . The raw bytes representing the symbols for the are also loaded. - An array of type that is a COFF-based image containing an emitted assembly. - An array of type containing the raw bytes representing the symbols for the assembly. - The loaded assembly. - - is . - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - An assembly or module was loaded twice with two different evidences. - - - Loads the with a common object file format (COFF) based image containing an emitted . The raw bytes representing the symbols for the are also loaded. - An array of type that is a COFF-based image containing an emitted assembly. - An array of type containing the raw bytes representing the symbols for the assembly. - Evidence for loading the assembly. - The loaded assembly. - - is . - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - An assembly or module was loaded twice with two different evidences. - - is not . When legacy CAS policy is not enabled, should be . - - - Loads an given its . - An object that describes the assembly to load. - The loaded assembly. - - is . - - is not found. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - An assembly or module was loaded twice with two different evidences. - - - Loads an given its . - An object that describes the assembly to load. - Evidence for loading the assembly. - The loaded assembly. - - is - - is not found. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - An assembly or module was loaded twice with two different evidences. - - - Loads an given its display name. - The display name of the assembly. See . - The loaded assembly. - - is - - is not found. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - An assembly or module was loaded twice with two different evidences. - - - Loads an given its display name. - The display name of the assembly. See . - Evidence for loading the assembly. - The loaded assembly. - - is - - is not found. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - The operation is attempted on an unloaded application domain. - An assembly or module was loaded twice with two different evidences. - - - Returns the assemblies that have been loaded into the reflection-only context of the application domain. - An array of objects that represent the assemblies loaded into the reflection-only context of the application domain. - An operation is attempted on an unloaded application domain. - - - Establishes the security policy level for this application domain. - The security policy level. - - is . - The security policy level has already been set. - The operation is attempted on an unloaded application domain. - - - Establishes the specified directory path as the location where assemblies are shadow copied. - The fully qualified path to the shadow copy location. - The operation is attempted on an unloaded application domain. - - - Assigns the specified value to the specified application domain property. - The name of a user-defined application domain property to create or change. - The value of the property. - The operation is attempted on an unloaded application domain. - - - Assigns the specified value to the specified application domain property, with a specified permission to demand of the caller when the property is retrieved. - The name of a user-defined application domain property to create or change. - The value of the property. - The permission to demand of the caller when the property is retrieved. - - is . - - specifies a system-defined property string and is not . - - - Establishes the specified directory path as the base directory for subdirectories where dynamically generated files are stored and accessed. - The fully qualified path that is the base directory for subdirectories where dynamic assemblies are stored. - The operation is attempted on an unloaded application domain. - - - Specifies how principal and identity objects should be attached to a thread if the thread attempts to bind to a principal while executing in this application domain. - One of the values that specifies the type of the principal object to attach to threads. - The operation is attempted on an unloaded application domain. - - - Turns on shadow copying. - The operation is attempted on an unloaded application domain. - - - Establishes the specified directory path as the location of assemblies to be shadow copied. - A list of directory names, where each name is separated by a semicolon. - The operation is attempted on an unloaded application domain. - - - Sets the default principal object to be attached to threads if they attempt to bind to a principal while executing in this application domain. - The principal object to attach to threads. - - is . - The thread principal has already been set. - The operation is attempted on an unloaded application domain. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Obtains a string representation that includes the friendly name of the application domain and any context policies. - A string formed by concatenating the literal string "Name:", the friendly name of the application domain, and either string representations of the context policies or the string "There are no context policies." - The application domain represented by the current has been unloaded. - - - Unloads the specified application domain. - An application domain to unload. - - is . - - could not be unloaded. - An error occurred during the unload process. - - - Initializes a new instance of the class. - - - Indicates whether the specified operation is allowed in the application domain. - A subclass of that identifies the operation whose security status is requested. - - if the host allows the operation specified by to be performed in the application domain; otherwise, . - - - Returns a new or existing application domain. - The friendly name of the domain. - An object that contains evidence mapped through the security policy to establish a top-of-stack permission set. - An object that contains application domain initialization information. - A new or existing application domain. - - - Provides a helper method to create an application domain. - The friendly name of the domain. - An object that contains evidence mapped through the security policy to establish a top-of-stack permission set. - An object that contains application domain initialization information. - A newly created application domain. - - is . - - - Initializes the new application domain. - An object that contains application domain initialization information. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified activation context to use for manifest-based activation of an application domain. - The activation context to be used for an application domain. - - is . - - - Initializes a new instance of the class with the specified activation arguments required for manifest-based activation of an application domain. - An object that specifies information required for the manifest-based activation of a new application domain. - - is . - - - Returns the XML configuration information set by the method, which overrides the application's XML configuration information. - An array that contains the XML configuration information that was set by the method, or if the method has not been called. - - - Sets the specified switches, making the application domain compatible with previous versions of the .NET Framework for the specified issues. - An enumerable set of string values that specify compatibility switches, or to erase the existing compatibility switches. - - - Provides XML configuration information for the application domain, replacing the application's XML configuration information. - An array that contains the XML configuration information to be used for the application domain. - - - Provides the common language runtime with an alternate implementation of a string comparison function. - The name of the string comparison function to override. - The function version. For .NET Framework 4.5, its value must be 1 or greater. - A pointer to the function that overrides . - - is . - - is not 1 or greater.-or- - is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The message that describes the error. - The exception that is the cause of the current exception. If the parameter is not a null reference, the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - A message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference, the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - The array of bytes representing the raw public key data. - The name of the application. - A object that specifies the version of the application. - The processor architecture of the application. - The culture of the application. - - is .-or- - is .-or- - is . - - is an empty string. - - - Creates and returns an identical copy of the current application identity. - An object that represents an exact copy of the original. - - - Determines whether the specified object is equivalent to the current . - The object to compare to the current . - - if the specified object is equivalent to the current ; otherwise, . - - - Gets the hash code for the current application identity. - The hash code for the current application identity. - - - Creates and returns a string representation of the application identity. - A string representation of the application identity. - - - Initializes a new instance of the class. - The full name of the application. - - is . - - - Populates a object with the data needed to serialize the target object. - The to populate with data. - The ) structure for the serialization. - - - Returns the full name of the manifest-activated application. - The full name of the manifest-activated application. - - - Initializes a new instance of the structure using the specified argument list. - An argument list consisting of mandatory and optional arguments. - - - Initializes a new instance of the structure using the specified argument list and a pointer to an item in the list. - An argument list consisting of mandatory and optional arguments. - A pointer to the argument in to access first, or the first mandatory argument in if is . - - - Concludes processing of the variable-length argument list represented by this instance. - - - This method is not supported, and always throws . - An object to be compared to this instance. - This comparison is not supported. No value is returned. - This method is not supported. - - - Returns the hash code of this object. - A 32-bit signed integer hash code. - - - Returns the next argument in a variable-length argument list. - The next argument as a object. - An attempt was made to read beyond the end of the list. - - - Returns the next argument in a variable-length argument list that has a specified type. - A runtime type handle that identifies the type of the argument to retrieve. - The next argument as a object. - An attempt was made to read beyond the end of the list. - The pointer to the remaining arguments is zero. - - - Returns the type of the next argument. - The type of the next argument. - - - Returns the number of arguments remaining in the argument list. - The number of remaining arguments. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference, the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message and the name of the parameter that causes this exception. - The error message that explains the reason for the exception. - The name of the parameter that caused the current exception. - - - Initializes a new instance of the class with a specified error message, the parameter name, and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The name of the parameter that caused the current exception. - The exception that is the cause of the current exception. If the parameter is not a null reference, the current exception is raised in a block that handles the inner exception. - - - Sets the object with the parameter name and additional exception information. - The object that holds the serialized object data. - The contextual information about the source or destination. - The object is a null reference ( in Visual Basic). - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - An object that describes the source or destination of the serialized data. - - - Initializes a new instance of the class with the name of the parameter that causes this exception. - The name of the parameter that caused the exception. - - - Initializes a new instance of the class with a specified error message and the exception that is the cause of this exception. - The error message that explains the reason for this exception. - The exception that is the cause of the current exception, or a null reference ( in Visual Basic) if no inner exception is specified. - - - Initializes an instance of the class with a specified error message and the name of the parameter that causes this exception. - The name of the parameter that caused the exception. - A message that describes the error. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - An object that describes the source or destination of the serialized data. - - - Initializes a new instance of the class with the name of the parameter that causes this exception. - The name of the parameter that causes this exception. - - - Initializes a new instance of the class with a specified error message and the exception that is the cause of this exception. - The error message that explains the reason for this exception. - The exception that is the cause of the current exception, or a null reference ( in Visual Basic) if no inner exception is specified. - - - Initializes a new instance of the class with the parameter name, the value of the argument, and a specified error message. - The name of the parameter that caused the exception. - The value of the argument that causes this exception. - The message that describes the error. - - - Initializes a new instance of the class with the name of the parameter that causes this exception and a specified error message. - The name of the parameter that caused the exception. - The message that describes the error. - - - Sets the object with the invalid argument value and additional exception information. - The object that holds the serialized object data. - An object that describes the source or destination of the serialized data. - The object is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - A that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference, the current exception is raised in a block that handles the inner exception. - - - Returns a read-only wrapper for the specified array. - The one-dimensional, zero-based array to wrap in a read-only wrapper. - The type of the elements of the array. - A read-only wrapper for the specified array. - - is . - - - Searches a range of elements in a one-dimensional sorted array for a value, using the interface implemented by each element of the array and by the specified value. - The sorted one-dimensional to search. - The starting index of the range to search. - The length of the range to search. - The object to search for. - The index of the specified in the specified , if is found; otherwise, a negative number. If is not found and is less than one or more elements in , the negative number returned is the bitwise complement of the index of the first element that is larger than . If is not found and is greater than all elements in , the negative number returned is the bitwise complement of (the index of the last element plus 1). If this method is called with a non-sorted , the return value can be incorrect and a negative number could be returned, even if is present in . - - is . - - is multidimensional. - - is less than the lower bound of .-or- - is less than zero. - - and do not specify a valid range in .-or- - is of a type that is not compatible with the elements of . - - does not implement the interface, and the search encounters an element that does not implement the interface. - - - Searches a range of elements in a one-dimensional sorted array for a value, using the specified interface. - The sorted one-dimensional to search. - The starting index of the range to search. - The length of the range to search. - The object to search for. - The implementation to use when comparing elements.-or- - to use the implementation of each element. - The index of the specified in the specified , if is found; otherwise, a negative number. If is not found and is less than one or more elements in , the negative number returned is the bitwise complement of the index of the first element that is larger than . If is not found and is greater than all elements in , the negative number returned is the bitwise complement of (the index of the last element plus 1). If this method is called with a non-sorted , the return value can be incorrect and a negative number could be returned, even if is present in . - - is . - - is multidimensional. - - is less than the lower bound of .-or- - is less than zero. - - and do not specify a valid range in .-or- - is , and is of a type that is not compatible with the elements of . - - is , does not implement the interface, and the search encounters an element that does not implement the interface. - - - Searches an entire one-dimensional sorted array for a specific element, using the interface implemented by each element of the array and by the specified object. - The sorted one-dimensional to search. - The object to search for. - The index of the specified in the specified , if is found; otherwise, a negative number. If is not found and is less than one or more elements in , the negative number returned is the bitwise complement of the index of the first element that is larger than . If is not found and is greater than all elements in , the negative number returned is the bitwise complement of (the index of the last element plus 1). If this method is called with a non-sorted , the return value can be incorrect and a negative number could be returned, even if is present in . - - is . - - is multidimensional. - - is of a type that is not compatible with the elements of . - - does not implement the interface, and the search encounters an element that does not implement the interface. - - - Searches an entire one-dimensional sorted array for a value using the specified interface. - The sorted one-dimensional to search. - The object to search for. - The implementation to use when comparing elements.-or- - to use the implementation of each element. - The index of the specified in the specified , if is found; otherwise, a negative number. If is not found and is less than one or more elements in , the negative number returned is the bitwise complement of the index of the first element that is larger than . If is not found and is greater than all elements in , the negative number returned is the bitwise complement of (the index of the last element plus 1). If this method is called with a non-sorted , the return value can be incorrect and a negative number could be returned, even if is present in . - - is . - - is multidimensional. - - is , and is of a type that is not compatible with the elements of . - - is , does not implement the interface, and the search encounters an element that does not implement the interface. - - - Searches an entire one-dimensional sorted array for a specific element, using the generic interface implemented by each element of the and by the specified object. - The sorted one-dimensional, zero-based to search. - The object to search for. - The type of the elements of the array. - The index of the specified in the specified , if is found; otherwise, a negative number. If is not found and is less than one or more elements in , the negative number returned is the bitwise complement of the index of the first element that is larger than . If is not found and is greater than all elements in , the negative number returned is the bitwise complement of (the index of the last element plus 1). If this method is called with a non-sorted , the return value can be incorrect and a negative number could be returned, even if is present in . - - is . - - does not implement the generic interface. - - - Searches an entire one-dimensional sorted array for a value using the specified generic interface. - The sorted one-dimensional, zero-based to search. - The object to search for. - The implementation to use when comparing elements.-or- - to use the implementation of each element. - The type of the elements of the array. - The index of the specified in the specified , if is found; otherwise, a negative number. If is not found and is less than one or more elements in , the negative number returned is the bitwise complement of the index of the first element that is larger than . If is not found and is greater than all elements in , the negative number returned is the bitwise complement of (the index of the last element plus 1). If this method is called with a non-sorted , the return value can be incorrect and a negative number could be returned, even if is present in . - - is . - - is , and is of a type that is not compatible with the elements of . - - is , and does not implement the generic interface - - - Searches a range of elements in a one-dimensional sorted array for a value, using the generic interface implemented by each element of the and by the specified value. - The sorted one-dimensional, zero-based to search. - The starting index of the range to search. - The length of the range to search. - The object to search for. - The type of the elements of the array. - The index of the specified in the specified , if is found; otherwise, a negative number. If is not found and is less than one or more elements in , the negative number returned is the bitwise complement of the index of the first element that is larger than . If is not found and is greater than all elements in , the negative number returned is the bitwise complement of (the index of the last element plus 1). If this method is called with a non-sorted , the return value can be incorrect and a negative number could be returned, even if is present in . - - is . - - is less than the lower bound of .-or- - is less than zero. - - and do not specify a valid range in .-or- - is of a type that is not compatible with the elements of . - - does not implement the generic interface. - - - Searches a range of elements in a one-dimensional sorted array for a value, using the specified generic interface. - The sorted one-dimensional, zero-based to search. - The starting index of the range to search. - The length of the range to search. - The object to search for. - The implementation to use when comparing elements.-or- - to use the implementation of each element. - The type of the elements of the array. - The index of the specified in the specified , if is found; otherwise, a negative number. If is not found and is less than one or more elements in , the negative number returned is the bitwise complement of the index of the first element that is larger than . If is not found and is greater than all elements in , the negative number returned is the bitwise complement of (the index of the last element plus 1). If this method is called with a non-sorted , the return value can be incorrect and a negative number could be returned, even if is present in . - - is . - - is less than the lower bound of .-or- - is less than zero. - - and do not specify a valid range in .-or- - is , and is of a type that is not compatible with the elements of . - - is , and does not implement the generic interface. - - - Sets a range of elements in an array to the default value of each element type. - The array whose elements need to be cleared. - The starting index of the range of elements to clear. - The number of elements to clear. - - is . - - is less than the lower bound of .-or- - is less than zero.-or-The sum of and is greater than the size of . - - - Creates a shallow copy of the . - A shallow copy of the . - - - Copies a range of elements from an starting at the specified source index and pastes them to another starting at the specified destination index. Guarantees that all changes are undone if the copy does not succeed completely. - The that contains the data to copy. - A 32-bit integer that represents the index in the at which copying begins. - The that receives the data. - A 32-bit integer that represents the index in the at which storing begins. - A 32-bit integer that represents the number of elements to copy. - - is .-or- - is . - - and have different ranks. - The type is neither the same as nor derived from the type. - At least one element in cannot be cast to the type of . - - is less than the lower bound of the first dimension of .-or- - is less than the lower bound of the first dimension of .-or- - is less than zero. - - is greater than the number of elements from to the end of .-or- - is greater than the number of elements from to the end of . - - - Converts an array of one type to an array of another type. - The one-dimensional, zero-based to convert to a target type. - A that converts each element from one type to another type. - The type of the elements of the source array. - The type of the elements of the target array. - An array of the target type containing the converted elements from the source array. - - is .-or- - is . - - - Copies a range of elements from an starting at the first element and pastes them into another starting at the first element. The length is specified as a 32-bit integer. - The that contains the data to copy. - The that receives the data. - A 32-bit integer that represents the number of elements to copy. - - is .-or- - is . - - and have different ranks. - - and are of incompatible types. - At least one element in cannot be cast to the type of . - - is less than zero. - - is greater than the number of elements in .-or- - is greater than the number of elements in . - - - Copies a range of elements from an starting at the first element and pastes them into another starting at the first element. The length is specified as a 64-bit integer. - The that contains the data to copy. - The that receives the data. - A 64-bit integer that represents the number of elements to copy. The integer must be between zero and , inclusive. - - is .-or- - is . - - and have different ranks. - - and are of incompatible types. - At least one element in cannot be cast to the type of . - - is less than 0 or greater than . - - is greater than the number of elements in .-or- - is greater than the number of elements in . - - - Copies a range of elements from an starting at the specified source index and pastes them to another starting at the specified destination index. The length and the indexes are specified as 32-bit integers. - The that contains the data to copy. - A 32-bit integer that represents the index in the at which copying begins. - The that receives the data. - A 32-bit integer that represents the index in the at which storing begins. - A 32-bit integer that represents the number of elements to copy. - - is .-or- - is . - - and have different ranks. - - and are of incompatible types. - At least one element in cannot be cast to the type of . - - is less than the lower bound of the first dimension of .-or- - is less than the lower bound of the first dimension of .-or- - is less than zero. - - is greater than the number of elements from to the end of .-or- - is greater than the number of elements from to the end of . - - - Copies a range of elements from an starting at the specified source index and pastes them to another starting at the specified destination index. The length and the indexes are specified as 64-bit integers. - The that contains the data to copy. - A 64-bit integer that represents the index in the at which copying begins. - The that receives the data. - A 64-bit integer that represents the index in the at which storing begins. - A 64-bit integer that represents the number of elements to copy. The integer must be between zero and , inclusive. - - is .-or- - is . - - and have different ranks. - - and are of incompatible types. - At least one element in cannot be cast to the type of . - - is outside the range of valid indexes for the .-or- - is outside the range of valid indexes for the .-or- - is less than 0 or greater than . - - is greater than the number of elements from to the end of .-or- - is greater than the number of elements from to the end of . - - - Copies all the elements of the current one-dimensional array to the specified one-dimensional array starting at the specified destination array index. The index is specified as a 32-bit integer. - The one-dimensional array that is the destination of the elements copied from the current array. - A 32-bit integer that represents the index in at which copying begins. - - is . - - is less than the lower bound of . - - is multidimensional.-or-The number of elements in the source array is greater than the available number of elements from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - The source array is multidimensional. - At least one element in the source cannot be cast to the type of destination . - - - Copies all the elements of the current one-dimensional array to the specified one-dimensional array starting at the specified destination array index. The index is specified as a 64-bit integer. - The one-dimensional array that is the destination of the elements copied from the current array. - A 64-bit integer that represents the index in at which copying begins. - - is . - - is outside the range of valid indexes for . - - is multidimensional.-or-The number of elements in the source array is greater than the available number of elements from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - The source is multidimensional. - At least one element in the source cannot be cast to the type of destination . - - - Creates a one-dimensional of the specified and length, with zero-based indexing. - The of the to create. - The size of the to create. - A new one-dimensional of the specified with the specified length, using zero-based indexing. - - is . - - is not a valid . - - is not supported. For example, is not supported.-or- - - is an open generic type. - - is less than zero. - - - Creates a two-dimensional of the specified and dimension lengths, with zero-based indexing. - The of the to create. - The size of the first dimension of the to create. - The size of the second dimension of the to create. - A new two-dimensional of the specified with the specified length for each dimension, using zero-based indexing. - - is . - - is not a valid . - - is not supported. For example, is not supported. -or- - - is an open generic type. - - is less than zero.-or- - is less than zero. - - - Creates a three-dimensional of the specified and dimension lengths, with zero-based indexing. - The of the to create. - The size of the first dimension of the to create. - The size of the second dimension of the to create. - The size of the third dimension of the to create. - A new three-dimensional of the specified with the specified length for each dimension, using zero-based indexing. - - is . - - is not a valid . - - is not supported. For example, is not supported. -or- - - is an open generic type. - - is less than zero.-or- - is less than zero.-or- - is less than zero. - - - Creates a multidimensional of the specified and dimension lengths, with zero-based indexing. The dimension lengths are specified in an array of 32-bit integers. - The of the to create. - An array of 32-bit integers that represent the size of each dimension of the to create. - A new multidimensional of the specified with the specified length for each dimension, using zero-based indexing. - - is .-or- - is . - - is not a valid .-or-The array contains less than one element. - - is not supported. For example, is not supported. -or- - - is an open generic type. - Any value in is less than zero. - - - Creates a multidimensional of the specified and dimension lengths, with the specified lower bounds. - The of the to create. - A one-dimensional array that contains the size of each dimension of the to create. - A one-dimensional array that contains the lower bound (starting index) of each dimension of the to create. - A new multidimensional of the specified with the specified length and lower bound for each dimension. - - is .-or- - is .-or- - is . - - is not a valid .-or-The array contains less than one element.-or-The and arrays do not contain the same number of elements. - - is not supported. For example, is not supported. -or- - - is an open generic type. - Any value in is less than zero.-or-Any value in is very large, such that the sum of a dimension's lower bound and length is greater than . - - - Creates a multidimensional of the specified and dimension lengths, with zero-based indexing. The dimension lengths are specified in an array of 64-bit integers. - The of the to create. - An array of 64-bit integers that represent the size of each dimension of the to create. Each integer in the array must be between zero and , inclusive. - A new multidimensional of the specified with the specified length for each dimension, using zero-based indexing. - - is .-or- - is . - - is not a valid .-or-The array contains less than one element. - - is not supported. For example, is not supported. -or- - - is an open generic type. - Any value in is less than zero or greater than . - - - Returns an empty array. - The type of the elements of the array. - Returns an empty . - - - Determines whether the specified array contains elements that match the conditions defined by the specified predicate. - The one-dimensional, zero-based to search. - The that defines the conditions of the elements to search for. - The type of the elements of the array. - - if contains one or more elements that match the conditions defined by the specified predicate; otherwise, . - - is .-or- - is . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire . - The one-dimensional, zero-based array to search. - The predicate that defines the conditions of the element to search for. - The type of the elements of the array. - The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . - - is .-or- - is . - - - Retrieves all the elements that match the conditions defined by the specified predicate. - The one-dimensional, zero-based to search. - The that defines the conditions of the elements to search for. - The type of the elements of the array. - An containing all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty . - - is .-or- - is . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. - The one-dimensional, zero-based to search. - The zero-based starting index of the search. - The number of elements in the section to search. - The that defines the conditions of the element to search for. - The type of the elements of the array. - The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, -1. - - is .-or- - is . - - is outside the range of valid indexes for .-or- - is less than zero.-or- - and do not specify a valid section in . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the that extends from the specified index to the last element. - The one-dimensional, zero-based to search. - The zero-based starting index of the search. - The that defines the conditions of the element to search for. - The type of the elements of the array. - The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, -1. - - is .-or- - is . - - is outside the range of valid indexes for . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire . - The one-dimensional, zero-based to search. - The that defines the conditions of the element to search for. - The type of the elements of the array. - The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, -1. - - is .-or- - is . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire . - The one-dimensional, zero-based to search. - The that defines the conditions of the element to search for. - The type of the elements of the array. - The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . - - is .-or- - is . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the that contains the specified number of elements and ends at the specified index. - The one-dimensional, zero-based to search. - The zero-based starting index of the backward search. - The number of elements in the section to search. - The that defines the conditions of the element to search for. - The type of the elements of the array. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - - is .-or- - is . - - is outside the range of valid indexes for .-or- - is less than zero.-or- - and do not specify a valid section in . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the that extends from the first element to the specified index. - The one-dimensional, zero-based to search. - The zero-based starting index of the backward search. - The that defines the conditions of the element to search for. - The type of the elements of the array. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - - is .-or- - is . - - is outside the range of valid indexes for . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire . - The one-dimensional, zero-based to search. - The that defines the conditions of the element to search for. - The type of the elements of the array. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - - is .-or- - is . - - - Performs the specified action on each element of the specified array. - The one-dimensional, zero-based on whose elements the action is to be performed. - The to perform on each element of . - The type of the elements of the array. - - is .-or- - is . - - - Returns an for the . - An for the . - - - Gets a 32-bit integer that represents the number of elements in the specified dimension of the . - A zero-based dimension of the whose length needs to be determined. - A 32-bit integer that represents the number of elements in the specified dimension. - - is less than zero.-or- - is equal to or greater than . - - - Gets a 64-bit integer that represents the number of elements in the specified dimension of the . - A zero-based dimension of the whose length needs to be determined. - A 64-bit integer that represents the number of elements in the specified dimension. - - is less than zero.-or- - is equal to or greater than . - - - Gets the index of the first element of the specified dimension in the array. - A zero-based dimension of the array whose starting index needs to be determined. - The index of the first element of the specified dimension in the array. - - is less than zero.-or- - is equal to or greater than . - - - Gets the index of the last element of the specified dimension in the array. - A zero-based dimension of the array whose upper bound needs to be determined. - The index of the last element of the specified dimension in the array, or -1 if the specified dimension is empty. - - is less than zero.-or- - is equal to or greater than . - - - Gets the value at the specified position in the one-dimensional . The index is specified as a 32-bit integer. - A 32-bit integer that represents the position of the element to get. - The value at the specified position in the one-dimensional . - The current does not have exactly one dimension. - - is outside the range of valid indexes for the current . - - - Gets the value at the specified position in the two-dimensional . The indexes are specified as 32-bit integers. - A 32-bit integer that represents the first-dimension index of the element to get. - A 32-bit integer that represents the second-dimension index of the element to get. - The value at the specified position in the two-dimensional . - The current does not have exactly two dimensions. - Either or is outside the range of valid indexes for the corresponding dimension of the current . - - - Gets the value at the specified position in the three-dimensional . The indexes are specified as 32-bit integers. - A 32-bit integer that represents the first-dimension index of the element to get. - A 32-bit integer that represents the second-dimension index of the element to get. - A 32-bit integer that represents the third-dimension index of the element to get. - The value at the specified position in the three-dimensional . - The current does not have exactly three dimensions. - - or or is outside the range of valid indexes for the corresponding dimension of the current . - - - Gets the value at the specified position in the multidimensional . The indexes are specified as an array of 32-bit integers. - A one-dimensional array of 32-bit integers that represent the indexes specifying the position of the element to get. - The value at the specified position in the multidimensional . - - is . - The number of dimensions in the current is not equal to the number of elements in . - Any element in is outside the range of valid indexes for the corresponding dimension of the current . - - - Gets the value at the specified position in the one-dimensional . The index is specified as a 64-bit integer. - A 64-bit integer that represents the position of the element to get. - The value at the specified position in the one-dimensional . - The current does not have exactly one dimension. - - is outside the range of valid indexes for the current . - - - Gets the value at the specified position in the two-dimensional . The indexes are specified as 64-bit integers. - A 64-bit integer that represents the first-dimension index of the element to get. - A 64-bit integer that represents the second-dimension index of the element to get. - The value at the specified position in the two-dimensional . - The current does not have exactly two dimensions. - Either or is outside the range of valid indexes for the corresponding dimension of the current . - - - Gets the value at the specified position in the three-dimensional . The indexes are specified as 64-bit integers. - A 64-bit integer that represents the first-dimension index of the element to get. - A 64-bit integer that represents the second-dimension index of the element to get. - A 64-bit integer that represents the third-dimension index of the element to get. - The value at the specified position in the three-dimensional . - The current does not have exactly three dimensions. - - or or is outside the range of valid indexes for the corresponding dimension of the current . - - - Gets the value at the specified position in the multidimensional . The indexes are specified as an array of 64-bit integers. - A one-dimensional array of 64-bit integers that represent the indexes specifying the position of the element to get. - The value at the specified position in the multidimensional . - - is . - The number of dimensions in the current is not equal to the number of elements in . - Any element in is outside the range of valid indexes for the corresponding dimension of the current . - - - Searches for the specified object and returns the index of its first occurrence in a one-dimensional array. - The one-dimensional array to search. - The object to locate in . - The index of the first occurrence of in , if found; otherwise, the lower bound of the array minus 1. - - is . - - is multidimensional. - - - Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of its first occurrence. The range extends from a specified index to the end of the array. - The one-dimensional array to search. - The object to locate in . - The starting index of the search. 0 (zero) is valid in an empty array. - The index of the first occurrence of , if it’s found, within the range of elements in that extends from to the last element; otherwise, the lower bound of the array minus 1. - - is . - - is outside the range of valid indexes for . - - is multidimensional. - - - Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of ifs first occurrence. The range extends from a specified index for a specified number of elements. - The one-dimensional array to search. - The object to locate in . - The starting index of the search. 0 (zero) is valid in an empty array. - The number of elements to search. - The index of the first occurrence of , if it’s found in the from index to + - 1; otherwise, the lower bound of the array minus 1. - - is . - - is outside the range of valid indexes for .-or- - is less than zero.-or- - and do not specify a valid section in . - - is multidimensional. - - - Searches for the specified object and returns the index of its first occurrence in a one-dimensional array. - The one-dimensional, zero-based array to search. - The object to locate in . - The type of the elements of the array. - The zero-based index of the first occurrence of in the entire , if found; otherwise, –1. - - is . - - - Searches for the specified object in a range of elements of a one dimensional array, and returns the index of its first occurrence. The range extends from a specified index to the end of the array. - The one-dimensional, zero-based array to search. - The object to locate in . - The zero-based starting index of the search. 0 (zero) is valid in an empty array. - The type of the elements of the array. - The zero-based index of the first occurrence of within the range of elements in that extends from to the last element, if found; otherwise, –1. - - is . - - is outside the range of valid indexes for . - - - Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of its first occurrence. The range extends from a specified index for a specified number of elements. - The one-dimensional, zero-based array to search. - The object to locate in . - The zero-based starting index of the search. 0 (zero) is valid in an empty array. - The number of elements in the section to search. - The type of the elements of the array. - The zero-based index of the first occurrence of within the range of elements in that starts at and contains the number of elements specified in , if found; otherwise, –1. - - is . - - is outside the range of valid indexes for .-or- - is less than zero.-or- - and do not specify a valid section in . - - - Initializes every element of the value-type by calling the default constructor of the value type. - - - Searches for the specified object and returns the index of the last occurrence within the entire one-dimensional . - The one-dimensional to search. - The object to locate in . - The index of the last occurrence of within the entire , if found; otherwise, the lower bound of the array minus 1. - - is . - - is multidimensional. - - - Searches for the specified object and returns the index of the last occurrence within the range of elements in the one-dimensional that extends from the first element to the specified index. - The one-dimensional to search. - The object to locate in . - The starting index of the backward search. - The index of the last occurrence of within the range of elements in that extends from the first element to , if found; otherwise, the lower bound of the array minus 1. - - is . - - is outside the range of valid indexes for . - - is multidimensional. - - - Searches for the specified object and returns the index of the last occurrence within the range of elements in the one-dimensional that contains the specified number of elements and ends at the specified index. - The one-dimensional to search. - The object to locate in . - The starting index of the backward search. - The number of elements in the section to search. - The index of the last occurrence of within the range of elements in that contains the number of elements specified in and ends at , if found; otherwise, the lower bound of the array minus 1. - - is . - - is outside the range of valid indexes for .-or- - is less than zero.-or- - and do not specify a valid section in . - - is multidimensional. - - - Searches for the specified object and returns the index of the last occurrence within the entire . - The one-dimensional, zero-based to search. - The object to locate in . - The type of the elements of the array. - The zero-based index of the last occurrence of within the entire , if found; otherwise, –1. - - is . - - - Searches for the specified object and returns the index of the last occurrence within the range of elements in the that extends from the first element to the specified index. - The one-dimensional, zero-based to search. - The object to locate in . - The zero-based starting index of the backward search. - The type of the elements of the array. - The zero-based index of the last occurrence of within the range of elements in that extends from the first element to , if found; otherwise, –1. - - is . - - is outside the range of valid indexes for . - - - Searches for the specified object and returns the index of the last occurrence within the range of elements in the that contains the specified number of elements and ends at the specified index. - The one-dimensional, zero-based to search. - The object to locate in . - The zero-based starting index of the backward search. - The number of elements in the section to search. - The type of the elements of the array. - The zero-based index of the last occurrence of within the range of elements in that contains the number of elements specified in and ends at , if found; otherwise, –1. - - is . - - is outside the range of valid indexes for .-or- - is less than zero.-or- - and do not specify a valid section in . - - - Changes the number of elements of a one-dimensional array to the specified new size. - The one-dimensional, zero-based array to resize, or to create a new array with the specified size. - The size of the new array. - The type of the elements of the array. - - is less than zero. - - - Reverses the sequence of the elements in the entire one-dimensional . - The one-dimensional to reverse. - - is . - - is multidimensional. - - - Reverses the sequence of the elements in a range of elements in the one-dimensional . - The one-dimensional to reverse. - The starting index of the section to reverse. - The number of elements in the section to reverse. - - is . - - is multidimensional. - - is less than the lower bound of .-or- - is less than zero. - - and do not specify a valid range in . - - - Sets a value to the element at the specified position in the one-dimensional . The index is specified as a 32-bit integer. - The new value for the specified element. - A 32-bit integer that represents the position of the element to set. - The current does not have exactly one dimension. - - cannot be cast to the element type of the current . - - is outside the range of valid indexes for the current . - - - Sets a value to the element at the specified position in the two-dimensional . The indexes are specified as 32-bit integers. - The new value for the specified element. - A 32-bit integer that represents the first-dimension index of the element to set. - A 32-bit integer that represents the second-dimension index of the element to set. - The current does not have exactly two dimensions. - - cannot be cast to the element type of the current . - Either or is outside the range of valid indexes for the corresponding dimension of the current . - - - Sets a value to the element at the specified position in the three-dimensional . The indexes are specified as 32-bit integers. - The new value for the specified element. - A 32-bit integer that represents the first-dimension index of the element to set. - A 32-bit integer that represents the second-dimension index of the element to set. - A 32-bit integer that represents the third-dimension index of the element to set. - The current does not have exactly three dimensions. - - cannot be cast to the element type of the current . - - or or is outside the range of valid indexes for the corresponding dimension of the current . - - - Sets a value to the element at the specified position in the multidimensional . The indexes are specified as an array of 32-bit integers. - The new value for the specified element. - A one-dimensional array of 32-bit integers that represent the indexes specifying the position of the element to set. - - is . - The number of dimensions in the current is not equal to the number of elements in . - - cannot be cast to the element type of the current . - Any element in is outside the range of valid indexes for the corresponding dimension of the current . - - - Sets a value to the element at the specified position in the one-dimensional . The index is specified as a 64-bit integer. - The new value for the specified element. - A 64-bit integer that represents the position of the element to set. - The current does not have exactly one dimension. - - cannot be cast to the element type of the current . - - is outside the range of valid indexes for the current . - - - Sets a value to the element at the specified position in the two-dimensional . The indexes are specified as 64-bit integers. - The new value for the specified element. - A 64-bit integer that represents the first-dimension index of the element to set. - A 64-bit integer that represents the second-dimension index of the element to set. - The current does not have exactly two dimensions. - - cannot be cast to the element type of the current . - Either or is outside the range of valid indexes for the corresponding dimension of the current . - - - Sets a value to the element at the specified position in the three-dimensional . The indexes are specified as 64-bit integers. - The new value for the specified element. - A 64-bit integer that represents the first-dimension index of the element to set. - A 64-bit integer that represents the second-dimension index of the element to set. - A 64-bit integer that represents the third-dimension index of the element to set. - The current does not have exactly three dimensions. - - cannot be cast to the element type of the current . - - or or is outside the range of valid indexes for the corresponding dimension of the current . - - - Sets a value to the element at the specified position in the multidimensional . The indexes are specified as an array of 64-bit integers. - The new value for the specified element. - A one-dimensional array of 64-bit integers that represent the indexes specifying the position of the element to set. - - is . - The number of dimensions in the current is not equal to the number of elements in . - - cannot be cast to the element type of the current . - Any element in is outside the range of valid indexes for the corresponding dimension of the current . - - - Sorts the elements in an entire one-dimensional using the implementation of each element of the . - The one-dimensional to sort. - - is . - - is multidimensional. - One or more elements in do not implement the interface. - - - Sorts a pair of one-dimensional objects (one contains the keys and the other contains the corresponding items) based on the keys in the first using the implementation of each key. - The one-dimensional that contains the keys to sort. - The one-dimensional that contains the items that correspond to each of the keys in the .-or- - to sort only the . - - is . - The is multidimensional.-or-The is multidimensional. - - is not , and the length of is greater than the length of . - One or more elements in the do not implement the interface. - - - Sorts a pair of one-dimensional objects (one contains the keys and the other contains the corresponding items) based on the keys in the first using the specified . - The one-dimensional that contains the keys to sort. - The one-dimensional that contains the items that correspond to each of the keys in the .-or- - to sort only the . - The implementation to use when comparing elements.-or- - to use the implementation of each element. - - is . - The is multidimensional.-or-The is multidimensional. - - is not , and the length of is greater than the length of . -or- - The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. - - is , and one or more elements in the do not implement the interface. - - - Sorts a range of elements in a pair of one-dimensional objects (one contains the keys and the other contains the corresponding items) based on the keys in the first using the implementation of each key. - The one-dimensional that contains the keys to sort. - The one-dimensional that contains the items that correspond to each of the keys in the .-or- - to sort only the . - The starting index of the range to sort. - The number of elements in the range to sort. - - is . - The is multidimensional.-or-The is multidimensional. - - is less than the lower bound of .-or- - is less than zero. - - is not , and the length of is greater than the length of .-or- - and do not specify a valid range in the .-or- - is not , and and do not specify a valid range in the . - One or more elements in the do not implement the interface. - - - Sorts a range of elements in a pair of one-dimensional objects (one contains the keys and the other contains the corresponding items) based on the keys in the first using the specified . - The one-dimensional that contains the keys to sort. - The one-dimensional that contains the items that correspond to each of the keys in the .-or- - to sort only the . - The starting index of the range to sort. - The number of elements in the range to sort. - The implementation to use when comparing elements.-or- - to use the implementation of each element. - - is . - The is multidimensional.-or-The is multidimensional. - - is less than the lower bound of .-or- - is less than zero. - - is not , and the lower bound of does not match the lower bound of .-or- - is not , and the length of is greater than the length of .-or- - and do not specify a valid range in the .-or- - is not , and and do not specify a valid range in the . -or- - The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. - - is , and one or more elements in the do not implement the interface. - - - Sorts the elements in a one-dimensional using the specified . - The one-dimensional array to sort. - The implementation to use when comparing elements.-or- - to use the implementation of each element. - - is . - - is multidimensional. - - is , and one or more elements in do not implement the interface. - The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. - - - Sorts the elements in a range of elements in a one-dimensional using the implementation of each element of the . - The one-dimensional to sort. - The starting index of the range to sort. - The number of elements in the range to sort. - - is . - - is multidimensional. - - is less than the lower bound of .-or- - is less than zero. - - and do not specify a valid range in . - One or more elements in do not implement the interface. - - - Sorts the elements in a range of elements in a one-dimensional using the specified . - The one-dimensional to sort. - The starting index of the range to sort. - The number of elements in the range to sort. - The implementation to use when comparing elements.-or- - to use the implementation of each element. - - is . - - is multidimensional. - - is less than the lower bound of .-or- - is less than zero. - - and do not specify a valid range in . -or- - The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. - - is , and one or more elements in do not implement the interface. - - - Sorts the elements in an entire using the generic interface implementation of each element of the . - The one-dimensional, zero-based to sort. - The type of the elements of the array. - - is . - One or more elements in do not implement the generic interface. - - - Sorts the elements in an using the specified generic interface. - The one-dimensional, zero-base to sort - The generic interface implementation to use when comparing elements, or to use the generic interface implementation of each element. - The type of the elements of the array. - - is . - - is , and one or more elements in do not implement the generic interface. - The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. - - - Sorts the elements in an using the specified . - The one-dimensional, zero-based to sort - The to use when comparing elements. - The type of the elements of the array. - - is .-or- - is . - The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. - - - Sorts the elements in a range of elements in an using the generic interface implementation of each element of the . - The one-dimensional, zero-based to sort - The starting index of the range to sort. - The number of elements in the range to sort. - The type of the elements of the array. - - is . - - is less than the lower bound of .-or- - is less than zero. - - and do not specify a valid range in . - One or more elements in do not implement the generic interface. - - - Sorts the elements in a range of elements in an using the specified generic interface. - The one-dimensional, zero-based to sort. - The starting index of the range to sort. - The number of elements in the range to sort. - The generic interface implementation to use when comparing elements, or to use the generic interface implementation of each element. - The type of the elements of the array. - - is . - - is less than the lower bound of .-or- - is less than zero. - - and do not specify a valid range in . -or- - The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. - - is , and one or more elements in do not implement the generic interface. - - - Sorts a pair of objects (one contains the keys and the other contains the corresponding items) based on the keys in the first using the generic interface implementation of each key. - The one-dimensional, zero-based that contains the keys to sort. - The one-dimensional, zero-based that contains the items that correspond to the keys in , or to sort only . - The type of the elements of the key array. - The type of the elements of the items array. - - is . - - is not , and the lower bound of does not match the lower bound of .-or- - is not , and the length of is greater than the length of . - One or more elements in the do not implement the generic interface. - - - Sorts a pair of objects (one contains the keys and the other contains the corresponding items) based on the keys in the first using the specified generic interface. - The one-dimensional, zero-based that contains the keys to sort. - The one-dimensional, zero-based that contains the items that correspond to the keys in , or to sort only . - The generic interface implementation to use when comparing elements, or to use the generic interface implementation of each element. - The type of the elements of the key array. - The type of the elements of the items array. - - is . - - is not , and the lower bound of does not match the lower bound of .-or- - is not , and the length of is greater than the length of .-or- - The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. - - is , and one or more elements in the do not implement the generic interface. - - - Sorts a range of elements in a pair of objects (one contains the keys and the other contains the corresponding items) based on the keys in the first using the generic interface implementation of each key. - The one-dimensional, zero-based that contains the keys to sort. - The one-dimensional, zero-based that contains the items that correspond to the keys in , or to sort only . - The starting index of the range to sort. - The number of elements in the range to sort. - The type of the elements of the key array. - The type of the elements of the items array. - - is . - - is less than the lower bound of .-or- - is less than zero. - - is not , and the lower bound of does not match the lower bound of .-or- - is not , and the length of is greater than the length of .-or- - and do not specify a valid range in the .-or- - is not , and and do not specify a valid range in the . - One or more elements in the do not implement the generic interface. - - - Sorts a range of elements in a pair of objects (one contains the keys and the other contains the corresponding items) based on the keys in the first using the specified generic interface. - The one-dimensional, zero-based that contains the keys to sort. - The one-dimensional, zero-based that contains the items that correspond to the keys in , or to sort only . - The starting index of the range to sort. - The number of elements in the range to sort. - The generic interface implementation to use when comparing elements, or to use the generic interface implementation of each element. - The type of the elements of the key array. - The type of the elements of the items array. - - is . - - is less than the lower bound of .-or- - is less than zero. - - is not , and the lower bound of does not match the lower bound of .-or- - is not , and the length of is greater than the length of .-or- - and do not specify a valid range in the .-or- - is not , and and do not specify a valid range in the . -or- - The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. - - is , and one or more elements in the do not implement the generic interface. - - - Calling this method always throws a exception. - The object to be added to the . - Adding a value to an array is not supported. No value is returned. - The has a fixed size. - - - Removes all items from the . - The is read-only. - - - Determines whether an element is in the . - The object to locate in the current list. The element to locate can be for reference types. - - if is found in the ; otherwise, . - - - Determines the index of a specific item in the . - The object to locate in the current list. - The index of value if found in the list; otherwise, -1. - - - Inserts an item to the at the specified index. - The index at which should be inserted. - The object to insert. - - is not a valid index in the . - The is read-only.-or- The has a fixed size. - - is null reference in the . - - - Removes the first occurrence of a specific object from the . - The object to remove from the . - The is read-only.-or- The has a fixed size. - - - Removes the item at the specified index. - The index of the element to remove. - index is not a valid index in the . - The is read-only.-or- The has a fixed size. - - - Determines whether the current collection object precedes, occurs in the same position as, or follows another object in the sort order. - The object to compare with the current instance. - An object that compares the current object and . - An integer that indicates the relationship of the current collection object to other, as shown in the following table.Return valueDescription-1The current instance precedes .0The current instance and are equal.1The current instance follows . - - - Determines whether an object is equal to the current instance. - The object to compare with the current instance. - An object that determines whether the current instance and are equal. - - if the two objects are equal; otherwise, . - - - Returns a hash code for the current instance. - An object that computes the hash code of the current object. - The hash code for the current instance. - - - Determines whether every element in the array matches the conditions defined by the specified predicate. - The one-dimensional, zero-based to check against the conditions. - The predicate that defines the conditions to check against the elements. - The type of the elements of the array. - - if every element in matches the conditions defined by the specified predicate; otherwise, . If there are no elements in the array, the return value is . - - is .-or- - is . - - - Initializes a new instance of the structure that delimits all the elements in the specified array. - The array to wrap. - - is . - - - Initializes a new instance of the structure that delimits the specified range of the elements in the specified array. - The array containing the range of elements to delimit. - The zero-based index of the first element in the range. - The number of elements in the range. - - is . - - or is less than 0. - - and do not specify a valid range in . - - - Determines whether the specified structure is equal to the current instance. - The structure to compare with the current instance. - - if the specified structure is equal to the current instance; otherwise, . - - - Determines whether the specified object is equal to the current instance. - The object to be compared with the current instance. - - if the specified object is a structure and is equal to the current instance; otherwise, . - - - Returns the hash code for the current instance. - A 32-bit signed integer hash code. - - - Indicates whether two structures are equal. - The structure on the left side of the equality operator. - The structure on the right side of the equality operator. - - if is equal to ; otherwise, . - - - Indicates whether two structures are unequal. - The structure on the left side of the inequality operator. - The structure on the right side of the inequality operator. - - if is not equal to ; otherwise, . - - - Adds an item to the array segment. - The object to add to the array segment. - The array segment is read-only. - - - Removes all items from the array segment. - The array segment is read-only. - - - Determines whether the array segment contains a specific value. - The object to locate in the array segment. - - if is found in the array segment; otherwise, . - - - Copies the elements of the array segment to an array, starting at the specified array index. - The one-dimensional array that is the destination of the elements copied from the array segment. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than 0. - - is multidimensional.-or-The number of elements in the source array segment is greater than the available space from to the end of the destination .-or-Type cannot be cast automatically to the type of the destination . - - - Removes the first occurrence of a specific object from the array segment. - The object to remove from the array segment. - - if was successfully removed from the array segment; otherwise, . This method also returns if is not found in the array segment. - The array segment is read-only. - - - Returns an enumerator that iterates through the array segment. - An enumerator that can be used to iterate through the array segment. - - - Determines the index of a specific item in the array segment. - The object to locate in the array segment. - The index of if found in the list; otherwise, -1. - - - Inserts an item into the array segment at the specified index. - The zero-based index at which should be inserted. - The object to insert into the array segment. - - is not a valid index in the array segment. - The array segment is read-only. - - - Removes the array segment item at the specified index. - The zero-based index of the item to remove. - - is not a valid index in the array segment. - The array segment is read-only. - - - Returns an enumerator that iterates through an array segment. - An enumerator that can be used to iterate through the array segment. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - A that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference, the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class using the specified . - An instance that represents the currently loaded assembly. - - - Initializes a new instance of the class. - - - Returns a value that indicates whether this instance is equal to a specified object. - An to compare with this instance or . - - if equals the type and value of this instance; otherwise, . - - - Retrieves a custom attribute applied to a specified assembly. Parameters specify the assembly and the type of the custom attribute to search for. - An object derived from the class that describes a reusable collection of modules. - The type, or a base type, of the custom attribute to search for. - A reference to the single custom attribute of type that is applied to , or if there is no such attribute. - - or is . - - is not derived from . - More than one of the requested attributes was found. - - - Retrieves a custom attribute applied to an assembly. Parameters specify the assembly, the type of the custom attribute to search for, and an ignored search option. - An object derived from the class that describes a reusable collection of modules. - The type, or a base type, of the custom attribute to search for. - This parameter is ignored, and does not affect the operation of this method. - A reference to the single custom attribute of type that is applied to , or if there is no such attribute. - - or is . - - is not derived from . - More than one of the requested attributes was found. - - - Retrieves a custom attribute applied to a member of a type. Parameters specify the member, and the type of the custom attribute to search for. - An object derived from the class that describes a constructor, event, field, method, or property member of a class. - The type, or a base type, of the custom attribute to search for. - A reference to the single custom attribute of type that is applied to , or if there is no such attribute. - - or is . - - is not derived from . - - is not a constructor, method, property, event, type, or field. - More than one of the requested attributes was found. - A custom attribute type cannot be loaded. - - - Retrieves a custom attribute applied to a member of a type. Parameters specify the member, the type of the custom attribute to search for, and whether to search ancestors of the member. - An object derived from the class that describes a constructor, event, field, method, or property member of a class. - The type, or a base type, of the custom attribute to search for. - If , specifies to also search the ancestors of for custom attributes. - A reference to the single custom attribute of type that is applied to , or if there is no such attribute. - - or is . - - is not derived from . - - is not a constructor, method, property, event, type, or field. - More than one of the requested attributes was found. - A custom attribute type cannot be loaded. - - - Retrieves a custom attribute applied to a module. Parameters specify the module, and the type of the custom attribute to search for. - An object derived from the class that describes a portable executable file. - The type, or a base type, of the custom attribute to search for. - A reference to the single custom attribute of type that is applied to , or if there is no such attribute. - - or is . - - is not derived from . - More than one of the requested attributes was found. - - - Retrieves a custom attribute applied to a module. Parameters specify the module, the type of the custom attribute to search for, and an ignored search option. - An object derived from the class that describes a portable executable file. - The type, or a base type, of the custom attribute to search for. - This parameter is ignored, and does not affect the operation of this method. - A reference to the single custom attribute of type that is applied to , or if there is no such attribute. - - or is . - - is not derived from . - More than one of the requested attributes was found. - - - Retrieves a custom attribute applied to a method parameter. Parameters specify the method parameter, and the type of the custom attribute to search for. - An object derived from the class that describes a parameter of a member of a class. - The type, or a base type, of the custom attribute to search for. - A reference to the single custom attribute of type that is applied to , or if there is no such attribute. - - or is . - - is not derived from . - More than one of the requested attributes was found. - A custom attribute type cannot be loaded. - - - Retrieves a custom attribute applied to a method parameter. Parameters specify the method parameter, the type of the custom attribute to search for, and whether to search ancestors of the method parameter. - An object derived from the class that describes a parameter of a member of a class. - The type, or a base type, of the custom attribute to search for. - If , specifies to also search the ancestors of for custom attributes. - A reference to the single custom attribute of type that is applied to , or if there is no such attribute. - - or is . - - is not derived from . - More than one of the requested attributes was found. - A custom attribute type cannot be loaded. - - - Retrieves an array of the custom attributes applied to an assembly. A parameter specifies the assembly. - An object derived from the class that describes a reusable collection of modules. - An array that contains the custom attributes applied to , or an empty array if no such custom attributes exist. - - is . - - - Retrieves an array of the custom attributes applied to an assembly. Parameters specify the assembly, and an ignored search option. - An object derived from the class that describes a reusable collection of modules. - This parameter is ignored, and does not affect the operation of this method. - An array that contains the custom attributes applied to , or an empty array if no such custom attributes exist. - - or is . - - - Retrieves an array of the custom attributes applied to an assembly. Parameters specify the assembly, and the type of the custom attribute to search for. - An object derived from the class that describes a reusable collection of modules. - The type, or a base type, of the custom attribute to search for. - An array that contains the custom attributes of type applied to , or an empty array if no such custom attributes exist. - - or is . - - is not derived from . - - - Retrieves an array of the custom attributes applied to an assembly. Parameters specify the assembly, the type of the custom attribute to search for, and an ignored search option. - An object derived from the class that describes a reusable collection of modules. - The type, or a base type, of the custom attribute to search for. - This parameter is ignored, and does not affect the operation of this method. - An array that contains the custom attributes of type applied to , or an empty array if no such custom attributes exist. - - or is . - - is not derived from . - - - Retrieves an array of the custom attributes applied to a member of a type. A parameter specifies the member. - An object derived from the class that describes a constructor, event, field, method, or property member of a class. - An array that contains the custom attributes applied to , or an empty array if no such custom attributes exist. - - is . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves an array of the custom attributes applied to a member of a type. Parameters specify the member, the type of the custom attribute to search for, and whether to search ancestors of the member. - An object derived from the class that describes a constructor, event, field, method, or property member of a class. - If , specifies to also search the ancestors of for custom attributes. - An array that contains the custom attributes applied to , or an empty array if no such custom attributes exist. - - is . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves an array of the custom attributes applied to a member of a type. Parameters specify the member, and the type of the custom attribute to search for. - An object derived from the class that describes a constructor, event, field, method, or property member of a class. - The type, or a base type, of the custom attribute to search for. - An array that contains the custom attributes of type applied to , or an empty array if no such custom attributes exist. - - or is . - - is not derived from . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves an array of the custom attributes applied to a member of a type. Parameters specify the member, the type of the custom attribute to search for, and whether to search ancestors of the member. - An object derived from the class that describes a constructor, event, field, method, or property member of a class. - The type, or a base type, of the custom attribute to search for. - If , specifies to also search the ancestors of for custom attributes. - An array that contains the custom attributes of type applied to , or an empty array if no such custom attributes exist. - - or is . - - is not derived from . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves an array of the custom attributes applied to a module. A parameter specifies the module. - An object derived from the class that describes a portable executable file. - An array that contains the custom attributes applied to , or an empty array if no such custom attributes exist. - - is . - - - Retrieves an array of the custom attributes applied to a module. Parameters specify the module, and an ignored search option. - An object derived from the class that describes a portable executable file. - This parameter is ignored, and does not affect the operation of this method. - An array that contains the custom attributes applied to , or an empty array if no such custom attributes exist. - - or is . - - - Retrieves an array of the custom attributes applied to a module. Parameters specify the module, and the type of the custom attribute to search for. - An object derived from the class that describes a portable executable file. - The type, or a base type, of the custom attribute to search for. - An array that contains the custom attributes of type applied to , or an empty array if no such custom attributes exist. - - or is . - - is not derived from . - - - Retrieves an array of the custom attributes applied to a module. Parameters specify the module, the type of the custom attribute to search for, and an ignored search option. - An object derived from the class that describes a portable executable file. - The type, or a base type, of the custom attribute to search for. - This parameter is ignored, and does not affect the operation of this method. - An array that contains the custom attributes of type applied to , or an empty array if no such custom attributes exist. - - or is . - - is not derived from . - - - Retrieves an array of the custom attributes applied to a method parameter. A parameter specifies the method parameter. - An object derived from the class that describes a parameter of a member of a class. - An array that contains the custom attributes applied to , or an empty array if no such custom attributes exist. - - is . - A custom attribute type cannot be loaded. - - - Retrieves an array of the custom attributes applied to a method parameter. Parameters specify the method parameter, and whether to search ancestors of the method parameter. - An object derived from the class that describes a parameter of a member of a class. - If , specifies to also search the ancestors of for custom attributes. - An array that contains the custom attributes applied to , or an empty array if no such custom attributes exist. - The property of is - - is . - A custom attribute type cannot be loaded. - - - Retrieves an array of the custom attributes applied to a method parameter. Parameters specify the method parameter, and the type of the custom attribute to search for. - An object derived from the class that describes a parameter of a member of a class. - The type, or a base type, of the custom attribute to search for. - An array that contains the custom attributes of type applied to , or an empty array if no such custom attributes exist. - - or is . - - is not derived from . - A custom attribute type cannot be loaded. - - - Retrieves an array of the custom attributes applied to a method parameter. Parameters specify the method parameter, the type of the custom attribute to search for, and whether to search ancestors of the method parameter. - An object derived from the class that describes a parameter of a member of a class. - The type, or a base type, of the custom attribute to search for. - If , specifies to also search the ancestors of for custom attributes. - An array that contains the custom attributes of type applied to , or an empty array if no such custom attributes exist. - - or is . - - is not derived from . - A custom attribute type cannot be loaded. - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class. - - if this instance is the default attribute for the class; otherwise, . - - - Determines whether any custom attributes are applied to an assembly. Parameters specify the assembly, and the type of the custom attribute to search for. - An object derived from the class that describes a reusable collection of modules. - The type, or a base type, of the custom attribute to search for. - - if a custom attribute of type is applied to ; otherwise, . - - or is . - - is not derived from . - - - Determines whether any custom attributes are applied to an assembly. Parameters specify the assembly, the type of the custom attribute to search for, and an ignored search option. - An object derived from the class that describes a reusable collection of modules. - The type, or a base type, of the custom attribute to search for. - This parameter is ignored, and does not affect the operation of this method. - - if a custom attribute of type is applied to ; otherwise, . - - or is . - - is not derived from . - - - Determines whether any custom attributes are applied to a member of a type. Parameters specify the member, and the type of the custom attribute to search for. - An object derived from the class that describes a constructor, event, field, method, type, or property member of a class. - The type, or a base type, of the custom attribute to search for. - - if a custom attribute of type is applied to ; otherwise, . - - or is . - - is not derived from . - - is not a constructor, method, property, event, type, or field. - - - Determines whether any custom attributes are applied to a member of a type. Parameters specify the member, the type of the custom attribute to search for, and whether to search ancestors of the member. - An object derived from the class that describes a constructor, event, field, method, type, or property member of a class. - The type, or a base type, of the custom attribute to search for. - If , specifies to also search the ancestors of for custom attributes. - - if a custom attribute of type is applied to ; otherwise, . - - or is . - - is not derived from . - - is not a constructor, method, property, event, type, or field. - - - Determines whether any custom attributes of a specified type are applied to a module. Parameters specify the module, and the type of the custom attribute to search for. - An object derived from the class that describes a portable executable file. - The type, or a base type, of the custom attribute to search for. - - if a custom attribute of type is applied to ; otherwise, . - - or is . - - is not derived from . - - - Determines whether any custom attributes are applied to a module. Parameters specify the module, the type of the custom attribute to search for, and an ignored search option. - An object derived from the class that describes a portable executable file. - The type, or a base type, of the custom attribute to search for. - This parameter is ignored, and does not affect the operation of this method. - - if a custom attribute of type is applied to ; otherwise, . - - or is . - - is not derived from . - - - Determines whether any custom attributes are applied to a method parameter. Parameters specify the method parameter, and the type of the custom attribute to search for. - An object derived from the class that describes a parameter of a member of a class. - The type, or a base type, of the custom attribute to search for. - - if a custom attribute of type is applied to ; otherwise, . - - or is . - - is not derived from . - - - Determines whether any custom attributes are applied to a method parameter. Parameters specify the method parameter, the type of the custom attribute to search for, and whether to search ancestors of the method parameter. - An object derived from the class that describes a parameter of a member of a class. - The type, or a base type, of the custom attribute to search for. - If , specifies to also search the ancestors of for custom attributes. - - if a custom attribute of type is applied to ; otherwise, . - - or is . - - is not derived from . - - is not a method, constructor, or type. - - - When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. - An to compare with this instance of . - - if this instance equals ; otherwise, . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array that receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Initializes a new instance of the class with the specified list of , the value, and the value. - The set of values combined using a bitwise OR operation to indicate which program elements are valid. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference, the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message and file name. - A message that describes the error. - The full name of the file with the invalid image. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The full name of the file with the invalid image. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Sets the object with the file name, assembly cache log, and additional exception information. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The caller does not have the required permission. - - - Returns the fully qualified name of this exception and possibly the error message, the name of the inner exception, and the stack trace. - A string containing the fully qualified name of this exception and possibly the error message, the name of the inner exception, and the stack trace. - - - Converts the specified double-precision floating point number to a 64-bit signed integer. - The number to convert. - A 64-bit signed integer whose value is equivalent to . - - - Returns the specified Boolean value as a byte array. - A Boolean value. - A byte array with length 1. - - - Returns the specified Unicode character value as an array of bytes. - A character to convert. - An array of bytes with length 2. - - - Returns the specified double-precision floating point value as an array of bytes. - The number to convert. - An array of bytes with length 8. - - - Returns the specified 16-bit signed integer value as an array of bytes. - The number to convert. - An array of bytes with length 2. - - - Returns the specified 32-bit signed integer value as an array of bytes. - The number to convert. - An array of bytes with length 4. - - - Returns the specified 64-bit signed integer value as an array of bytes. - The number to convert. - An array of bytes with length 8. - - - Returns the specified single-precision floating point value as an array of bytes. - The number to convert. - An array of bytes with length 4. - - - Returns the specified 16-bit unsigned integer value as an array of bytes. - The number to convert. - An array of bytes with length 2. - - - Returns the specified 32-bit unsigned integer value as an array of bytes. - The number to convert. - An array of bytes with length 4. - - - Returns the specified 64-bit unsigned integer value as an array of bytes. - The number to convert. - An array of bytes with length 8. - - - Converts the specified 64-bit signed integer to a double-precision floating point number. - The number to convert. - A double-precision floating point number whose value is equivalent to . - - - Returns a Boolean value converted from the byte at a specified position in a byte array. - A byte array. - The index of the byte within . - - if the byte at in is nonzero; otherwise, . - - is . - - is less than zero or greater than the length of minus 1. - - - Returns a Unicode character converted from two bytes at a specified position in a byte array. - An array. - The starting position within . - A character formed by two bytes beginning at . - - equals the length of minus 1. - - is . - - is less than zero or greater than the length of minus 1. - - - Returns a double-precision floating point number converted from eight bytes at a specified position in a byte array. - An array of bytes. - The starting position within . - A double precision floating point number formed by eight bytes beginning at . - - is greater than or equal to the length of minus 7, and is less than or equal to the length of minus 1. - - is . - - is less than zero or greater than the length of minus 1. - - - Returns a 16-bit signed integer converted from two bytes at a specified position in a byte array. - An array of bytes. - The starting position within . - A 16-bit signed integer formed by two bytes beginning at . - - equals the length of minus 1. - - is . - - is less than zero or greater than the length of minus 1. - - - Returns a 32-bit signed integer converted from four bytes at a specified position in a byte array. - An array of bytes. - The starting position within . - A 32-bit signed integer formed by four bytes beginning at . - - is greater than or equal to the length of minus 3, and is less than or equal to the length of minus 1. - - is . - - is less than zero or greater than the length of minus 1. - - - Returns a 64-bit signed integer converted from eight bytes at a specified position in a byte array. - An array of bytes. - The starting position within . - A 64-bit signed integer formed by eight bytes beginning at . - - is greater than or equal to the length of minus 7, and is less than or equal to the length of minus 1. - - is . - - is less than zero or greater than the length of minus 1. - - - Returns a single-precision floating point number converted from four bytes at a specified position in a byte array. - An array of bytes. - The starting position within . - A single-precision floating point number formed by four bytes beginning at . - - is greater than or equal to the length of minus 3, and is less than or equal to the length of minus 1. - - is . - - is less than zero or greater than the length of minus 1. - - - Converts the numeric value of each element of a specified array of bytes to its equivalent hexadecimal string representation. - An array of bytes. - A string of hexadecimal pairs separated by hyphens, where each pair represents the corresponding element in ; for example, "7F-2C-4A-00". - - is . - - - Converts the numeric value of each element of a specified subarray of bytes to its equivalent hexadecimal string representation. - An array of bytes. - The starting position within . - A string of hexadecimal pairs separated by hyphens, where each pair represents the corresponding element in a subarray of ; for example, "7F-2C-4A-00". - - is . - - is less than zero or greater than the length of minus 1. - - - Converts the numeric value of each element of a specified subarray of bytes to its equivalent hexadecimal string representation. - An array of bytes. - The starting position within . - The number of array elements in to convert. - A string of hexadecimal pairs separated by hyphens, where each pair represents the corresponding element in a subarray of ; for example, "7F-2C-4A-00". - - is . - - or is less than zero.-or- - is greater than zero and is greater than or equal to the length of . - The combination of and does not specify a position within ; that is, the parameter is greater than the length of minus the parameter. - - - Returns a 16-bit unsigned integer converted from two bytes at a specified position in a byte array. - The array of bytes. - The starting position within . - A 16-bit unsigned integer formed by two bytes beginning at . - - equals the length of minus 1. - - is . - - is less than zero or greater than the length of minus 1. - - - Returns a 32-bit unsigned integer converted from four bytes at a specified position in a byte array. - An array of bytes. - The starting position within . - A 32-bit unsigned integer formed by four bytes beginning at . - - is greater than or equal to the length of minus 3, and is less than or equal to the length of minus 1. - - is . - - is less than zero or greater than the length of minus 1. - - - Returns a 64-bit unsigned integer converted from eight bytes at a specified position in a byte array. - An array of bytes. - The starting position within . - A 64-bit unsigned integer formed by the eight bytes beginning at . - - is greater than or equal to the length of minus 7, and is less than or equal to the length of minus 1. - - is . - - is less than zero or greater than the length of minus 1. - - - Compares this instance to a specified object and returns an integer that indicates their relationship to one another. - A object to compare to this instance. - A signed integer that indicates the relative values of this instance and .Return Value Condition Less than zero This instance is and is . Zero This instance and are equal (either both are or both are ). Greater than zero This instance is and is . - - - Compares this instance to a specified object and returns an integer that indicates their relationship to one another. - An object to compare to this instance, or . - A signed integer that indicates the relative order of this instance and .Return Value Condition Less than zero This instance is and is . Zero This instance and are equal (either both are or both are ). Greater than zero This instance is and is .-or- - is . - - is not a . - - - Returns a value indicating whether this instance is equal to a specified object. - A value to compare to this instance. - - if has the same value as this instance; otherwise, . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare to this instance. - - if is a and has the same value as this instance; otherwise, . - - - Returns the hash code for this instance. - A hash code for the current . - - - Returns the type code for the value type. - The enumerated constant . - - - Converts the specified string representation of a logical value to its equivalent. - A string containing the value to convert. - - if is equivalent to ; if is equivalent to . - - is . - - is not equivalent to or . - - - For a description of this member, see . - This parameter is ignored. - - or . - - - For a description of this member, see . - This parameter is ignored. - 1 if the value of this instance is ; otherwise, 0. - - - This conversion is not supported. Attempting to use this method throws an . - This parameter is ignored. - This conversion is not supported. No value is returned. - You attempt to convert a value to a value. This conversion is not supported. - - - This conversion is not supported. Attempting to use this method throws an . - This parameter is ignored. - This conversion is not supported. No value is returned. - You attempt to convert a value to a value. This conversion is not supported. - - - For a description of this member, see .. - This parameter is ignored. - 1 if this instance is ; otherwise, 0. - - - For a description of this member, see .. - This parameter is ignored. - 1 if this instance is ; otherwise, 0. - - - For a description of this member, see . - This parameter is ignored. - 1 if this instance is ; otherwise, 0. - - - For a description of this member, see . - This parameter is ignored. - 1 if this instance is ; otherwise, 0. - - - For a description of this member, see . - This parameter is ignored. - 1 if this instance is ; otherwise, 0. - - - For a description of this member, see . - This parameter is ignored. - 1 if this instance is ; otherwise, 0. - - - For a description of this member, see .. - This parameter is ignored. - 1 if this instance is ; otherwise, 0. - - - For a description of this member, see . - The desired type. - An implementation that supplies culture-specific information about the format of the returned value. - An object of the specified type, with a value that is equivalent to the value of this object. - - is . - The requested type conversion is not supported. - - - For a description of this member, see . - This parameter is ignored. - 1 if this instance is ; otherwise, 0. - - - For a description of this member, see . - This parameter is ignored. - 1 if this instance is ; otherwise, 0. - - - For a description of this member, see . - This parameter is ignored. - 1 if this instance is ; otherwise, 0. - - - Converts the value of this instance to its equivalent string representation (either "True" or "False"). - "True" (the value of the property) if the value of this instance is , or "False" (the value of the property) if the value of this instance is . - - - Converts the value of this instance to its equivalent string representation (either "True" or "False"). - (Reserved) An object. - - if the value of this instance is , or if the value of this instance is . - - - Tries to convert the specified string representation of a logical value to its equivalent. A return value indicates whether the conversion succeeded or failed. - A string containing the value to convert. - When this method returns, if the conversion succeeded, contains if is equal to or if is equal to . If the conversion failed, contains . The conversion fails if is or is not equal to the value of either the or field. - - if was converted successfully; otherwise, . - - - Copies a specified number of bytes from a source array starting at a particular offset to a destination array starting at a particular offset. - The source buffer. - The zero-based byte offset into . - The destination buffer. - The zero-based byte offset into . - The number of bytes to copy. - - or is . - - or is not an array of primitives.-or- The number of bytes in is less than plus .-or- The number of bytes in is less than plus . - - , , or is less than 0. - - - Returns the number of bytes in the specified array. - An array. - The number of bytes in the array. - - is . - - is not a primitive. - - is larger than 2 gigabytes (GB). - - - Retrieves the byte at a specified location in a specified array. - An array. - A location in the array. - Returns the byte in the array. - - is not a primitive. - - is . - - is negative or greater than the length of . - - is larger than 2 gigabytes (GB). - - - Copies a number of bytes specified as a long integer value from one address in memory to another. This API is not CLS-compliant. - The address of the bytes to copy. - The target address. - The number of bytes available in the destination memory block. - The number of bytes to copy. - - is greater than . - - - Copies a number of bytes specified as an unsigned long integer value from one address in memory to another. This API is not CLS-compliant. - The address of the bytes to copy. - The target address. - The number of bytes available in the destination memory block. - The number of bytes to copy. - - is greater than . - - - Assigns a specified value to a byte at a particular location in a specified array. - An array. - A location in the array. - A value to assign. - - is not a primitive. - - is . - - is negative or greater than the length of . - - is larger than 2 gigabytes (GB). - - - Compares this instance to a specified 8-bit unsigned integer and returns an indication of their relative values. - An 8-bit unsigned integer to compare. - A signed integer that indicates the relative order of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . - - - Compares this instance to a specified object and returns an indication of their relative values. - An object to compare, or . - A signed integer that indicates the relative order of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than .-or- - is . - - is not a . - - - Returns a value indicating whether this instance and a specified object represent the same value. - An object to compare to this instance. - - if is equal to this instance; otherwise, . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare with this instance, or . - - if is an instance of and equals the value of this instance; otherwise, . - - - Returns the hash code for this instance. - A hash code for the current . - - - Returns the for value type . - The enumerated constant, . - - - Converts the string representation of a number to its equivalent. - A string that contains a number to convert. The string is interpreted using the style. - A byte value that is equivalent to the number contained in . - - is . - - is not of the correct format. - - represents a number less than or greater than . - - - Converts the string representation of a number in a specified style to its equivalent. - A string that contains a number to convert. The string is interpreted using the style specified by . - A bitwise combination of enumeration values that indicates the style elements that can be present in . A typical value to specify is . - A byte value that is equivalent to the number contained in . - - is . - - is not of the correct format. - - represents a number less than or greater than . -or- - includes non-zero, fractional digits. - - is not a value. -or- - is not a combination of and values. - - - Converts the string representation of a number in a specified style and culture-specific format to its equivalent. - A string that contains a number to convert. The string is interpreted using the style specified by . - A bitwise combination of enumeration values that indicates the style elements that can be present in . A typical value to specify is . - An object that supplies culture-specific information about the format of . If is , the thread current culture is used. - A byte value that is equivalent to the number contained in . - - is . - - is not of the correct format. - - represents a number less than or greater than . -or- - includes non-zero, fractional digits. - - is not a value. -or- - is not a combination of and values. - - - Converts the string representation of a number in a specified culture-specific format to its equivalent. - A string that contains a number to convert. The string is interpreted using the style. - An object that supplies culture-specific parsing information about . If is , the thread current culture is used. - A byte value that is equivalent to the number contained in . - - is . - - is not of the correct format. - - represents a number less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - - if the value of the current instance is not zero; otherwise, . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, unchanged. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - This conversion is not supported. Attempting to use this method throws an . - This parameter is ignored. - This conversion is not supported. No value is returned. - In all cases. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - The type to which to convert this value. - An implementation that supplies information about the format of the returned value. - The value of the current instance, converted to . - - is . - The requested type conversion is not supported. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - Converts the value of the current object to its equivalent string representation. - The string representation of the value of this object, which consists of a sequence of digits that range from 0 to 9 with no leading zeroes. - - - Converts the numeric value of the current object to its equivalent string representation using the specified culture-specific formatting information. - An object that supplies culture-specific formatting information. - The string representation of the value of this object in the format specified by the parameter. - - - Converts the value of the current object to its equivalent string representation using the specified format. - A numeric format string. - The string representation of the current object, formatted as specified by the parameter. - - includes an unsupported specifier. Supported format specifiers are listed in the Remarks section. - - - Converts the value of the current object to its equivalent string representation using the specified format and culture-specific formatting information. - A standard or custom numeric format string. - An object that supplies culture-specific formatting information. - The string representation of the current object, formatted as specified by the and parameters. - - includes an unsupported specifier. Supported format specifiers are listed in the Remarks section. - - - Tries to convert the string representation of a number to its equivalent, and returns a value that indicates whether the conversion succeeded. - A string that contains a number to convert. The string is interpreted using the style. - When this method returns, contains the value equivalent to the number contained in if the conversion succeeded, or zero if the conversion failed. This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - - Converts the string representation of a number in a specified style and culture-specific format to its equivalent. A return value indicates whether the conversion succeeded or failed. - A string containing a number to convert. The string is interpreted using the style specified by . - A bitwise combination of enumeration values that indicates the style elements that can be present in . A typical value to specify is . - An object that supplies culture-specific formatting information about . If is , the thread current culture is used. - When this method returns, contains the 8-bit unsigned integer value equivalent to the number contained in if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not of the correct format, or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - is not a value. -or- - is not a combination of and values. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class from serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - A that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Compares this instance to a specified object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified object. - A object to compare. - A signed number indicating the position of this instance in the sort order in relation to the parameter.Return Value Description Less than zero This instance precedes . Zero This instance has the same position in the sort order as . Greater than zero This instance follows . - - - Compares this instance to a specified object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified . - An object to compare this instance to, or . - A signed number indicating the position of this instance in the sort order in relation to the parameter.Return Value Description Less than zero This instance precedes . Zero This instance has the same position in the sort order as . Greater than zero This instance follows .-or- - is . - - is not a object. - - - Converts the specified Unicode code point into a UTF-16 encoded string. - A 21-bit Unicode code point. - A string consisting of one object or a surrogate pair of objects equivalent to the code point specified by the parameter. - - is not a valid 21-bit Unicode code point ranging from U+0 through U+10FFFF, excluding the surrogate pair range from U+D800 through U+DFFF. - - - Converts the value of a UTF-16 encoded surrogate pair into a Unicode code point. - A high surrogate code unit (that is, a code unit ranging from U+D800 through U+DBFF). - A low surrogate code unit (that is, a code unit ranging from U+DC00 through U+DFFF). - The 21-bit Unicode code point represented by the and parameters. - - is not in the range U+D800 through U+DBFF, or is not in the range U+DC00 through U+DFFF. - - - Converts the value of a UTF-16 encoded character or surrogate pair at a specified position in a string into a Unicode code point. - A string that contains a character or surrogate pair. - The index position of the character or surrogate pair in . - The 21-bit Unicode code point represented by the character or surrogate pair at the position in the parameter specified by the parameter. - - is . - - is not a position within . - The specified index position contains a surrogate pair, and either the first character in the pair is not a valid high surrogate or the second character in the pair is not a valid low surrogate. - - - Returns a value that indicates whether this instance is equal to the specified object. - An object to compare to this instance. - - if the parameter equals the value of this instance; otherwise, . - - - Returns a value that indicates whether this instance is equal to a specified object. - An object to compare with this instance or . - - if is an instance of and equals the value of this instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Converts the specified numeric Unicode character to a double-precision floating point number. - The Unicode character to convert. - The numeric value of if that character represents a number; otherwise, -1.0. - - - Converts the numeric Unicode character at the specified position in a specified string to a double-precision floating point number. - A . - The character position in . - The numeric value of the character at position in if that character represents a number; otherwise, -1. - - is . - - is less than zero or greater than the last position in . - - - Returns the for value type . - The enumerated constant, . - - - Categorizes a specified Unicode character into a group identified by one of the values. - The Unicode character to categorize. - A value that identifies the group that contains . - - - Categorizes the character at the specified position in a specified string into a group identified by one of the values. - A . - The character position in . - A enumerated constant that identifies the group that contains the character at position in . - - is . - - is less than zero or greater than the last position in . - - - Indicates whether the specified Unicode character is categorized as a control character. - The Unicode character to evaluate. - - if is a control character; otherwise, . - - - Indicates whether the character at the specified position in a specified string is categorized as a control character. - A string. - The position of the character to evaluate in . - - if the character at position in is a control character; otherwise, . - - is . - - is less than zero or greater than the last position in . - - - Indicates whether the specified Unicode character is categorized as a decimal digit. - The Unicode character to evaluate. - - if is a decimal digit; otherwise, . - - - Indicates whether the character at the specified position in a specified string is categorized as a decimal digit. - A string. - The position of the character to evaluate in . - - if the character at position in is a decimal digit; otherwise, . - - is . - - is less than zero or greater than the last position in . - - - Indicates whether the specified object is a high surrogate. - The Unicode character to evaluate. - - if the numeric value of the parameter ranges from U+D800 through U+DBFF; otherwise, . - - - Indicates whether the object at the specified position in a string is a high surrogate. - A string. - The position of the character to evaluate in . - - if the numeric value of the specified character in the parameter ranges from U+D800 through U+DBFF; otherwise, . - - is . - - is not a position within . - - - Indicates whether the specified Unicode character is categorized as a Unicode letter. - The Unicode character to evaluate. - - if is a letter; otherwise, . - - - Indicates whether the character at the specified position in a specified string is categorized as a Unicode letter. - A string. - The position of the character to evaluate in . - - if the character at position in is a letter; otherwise, . - - is . - - is less than zero or greater than the last position in . - - - Indicates whether the specified Unicode character is categorized as a letter or a decimal digit. - The Unicode character to evaluate. - - if is a letter or a decimal digit; otherwise, . - - - Indicates whether the character at the specified position in a specified string is categorized as a letter or a decimal digit. - A string. - The position of the character to evaluate in . - - if the character at position in is a letter or a decimal digit; otherwise, . - - is . - - is less than zero or greater than the last position in . - - - Indicates whether the specified Unicode character is categorized as a lowercase letter. - The Unicode character to evaluate. - - if is a lowercase letter; otherwise, . - - - Indicates whether the character at the specified position in a specified string is categorized as a lowercase letter. - A string. - The position of the character to evaluate in . - - if the character at position in is a lowercase letter; otherwise, . - - is . - - is less than zero or greater than the last position in . - - - Indicates whether the specified object is a low surrogate. - The character to evaluate. - - if the numeric value of the parameter ranges from U+DC00 through U+DFFF; otherwise, . - - - Indicates whether the object at the specified position in a string is a low surrogate. - A string. - The position of the character to evaluate in . - - if the numeric value of the specified character in the parameter ranges from U+DC00 through U+DFFF; otherwise, . - - is . - - is not a position within . - - - Indicates whether the specified Unicode character is categorized as a number. - The Unicode character to evaluate. - - if is a number; otherwise, . - - - Indicates whether the character at the specified position in a specified string is categorized as a number. - A string. - The position of the character to evaluate in . - - if the character at position in is a number; otherwise, . - - is . - - is less than zero or greater than the last position in . - - - Indicates whether the specified Unicode character is categorized as a punctuation mark. - The Unicode character to evaluate. - - if is a punctuation mark; otherwise, . - - - Indicates whether the character at the specified position in a specified string is categorized as a punctuation mark. - A string. - The position of the character to evaluate in . - - if the character at position in is a punctuation mark; otherwise, . - - is . - - is less than zero or greater than the last position in . - - - Indicates whether the specified Unicode character is categorized as a separator character. - The Unicode character to evaluate. - - if is a separator character; otherwise, . - - - Indicates whether the character at the specified position in a specified string is categorized as a separator character. - A string. - The position of the character to evaluate in . - - if the character at position in is a separator character; otherwise, . - - is . - - is less than zero or greater than the last position in . - - - Indicates whether the specified character has a surrogate code unit. - The Unicode character to evaluate. - - if is either a high surrogate or a low surrogate; otherwise, . - - - Indicates whether the character at the specified position in a specified string has a surrogate code unit. - A string. - The position of the character to evaluate in . - - if the character at position in is a either a high surrogate or a low surrogate; otherwise, . - - is . - - is less than zero or greater than the last position in . - - - Indicates whether the two specified objects form a surrogate pair. - The character to evaluate as the high surrogate of a surrogate pair. - The character to evaluate as the low surrogate of a surrogate pair. - - if the numeric value of the parameter ranges from U+D800 through U+DBFF, and the numeric value of the parameter ranges from U+DC00 through U+DFFF; otherwise, . - - - Indicates whether two adjacent objects at a specified position in a string form a surrogate pair. - A string. - The starting position of the pair of characters to evaluate within . - - if the parameter includes adjacent characters at positions and + 1, and the numeric value of the character at position ranges from U+D800 through U+DBFF, and the numeric value of the character at position +1 ranges from U+DC00 through U+DFFF; otherwise, . - - is . - - is not a position within . - - - Indicates whether the specified Unicode character is categorized as a symbol character. - The Unicode character to evaluate. - - if is a symbol character; otherwise, . - - - Indicates whether the character at the specified position in a specified string is categorized as a symbol character. - A string. - The position of the character to evaluate in . - - if the character at position in is a symbol character; otherwise, . - - is . - - is less than zero or greater than the last position in . - - - Indicates whether the specified Unicode character is categorized as an uppercase letter. - The Unicode character to evaluate. - - if is an uppercase letter; otherwise, . - - - Indicates whether the character at the specified position in a specified string is categorized as an uppercase letter. - A string. - The position of the character to evaluate in . - - if the character at position in is an uppercase letter; otherwise, . - - is . - - is less than zero or greater than the last position in . - - - Indicates whether the specified Unicode character is categorized as white space. - The Unicode character to evaluate. - - if is white space; otherwise, . - - - Indicates whether the character at the specified position in a specified string is categorized as white space. - A string. - The position of the character to evaluate in . - - if the character at position in is white space; otherwise, . - - is . - - is less than zero or greater than the last position in . - - - Converts the value of the specified string to its equivalent Unicode character. - A string that contains a single character, or . - A Unicode character equivalent to the sole character in . - - is . - The length of is not 1. - - - - Note   This conversion is not supported. Attempting to do so throws an . - This parameter is ignored. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - For a description of this member, see . - This parameter is ignored. - The converted value of the current object. - - - For a description of this member, see . - This parameter is ignored. - The value of the current object unchanged. - - - - Note   This conversion is not supported. Attempting to do so throws an . - This parameter is ignored. - No value is returned. - This conversion is not supported. - - - - Note   This conversion is not supported. Attempting to do so throws an . - This parameter is ignored. - No value is returned. - This conversion is not supported. - - - - Note   This conversion is not supported. Attempting to do so throws an . - This parameter is ignored. - No value is returned. - This conversion is not supported. - - - For a description of this member, see . - This parameter is ignored. - The converted value of the current object. - - - For a description of this member, see . - This parameter is ignored. - The converted value of the current object. - - - For a description of this member, see . - This parameter is ignored. - The converted value of the current object. - - - For a description of this member, see . - This parameter is ignored. - The converted value of the current object. - - - - Note   This conversion is not supported. Attempting to do so throws an . - This parameter is ignored. - No value is returned. - This conversion is not supported. - - - For a description of this member, see . - A object. - An object. - An object of the specified type. - - is . - The value of the current object cannot be converted to the type specified by the parameter. - - - For a description of this member, see . - An object. (Specify because the parameter is ignored.) - The converted value of the current object. - - - For a description of this member, see . - An object. (Specify because the parameter is ignored.) - The converted value of the current object. - - - For a description of this member, see . - An object. (Specify because the parameter is ignored.) - The converted value of the current object. - - - Converts the value of a Unicode character to its lowercase equivalent. - The Unicode character to convert. - The lowercase equivalent of , or the unchanged value of , if is already lowercase or not alphabetic. - - - Converts the value of a specified Unicode character to its lowercase equivalent using specified culture-specific formatting information. - The Unicode character to convert. - - An object that supplies culture-specific casing rules. - The lowercase equivalent of , modified according to , or the unchanged value of , if is already lowercase or not alphabetic. - - is . - - - Converts the value of a Unicode character to its lowercase equivalent using the casing rules of the invariant culture. - The Unicode character to convert. - The lowercase equivalent of the parameter, or the unchanged value of , if is already lowercase or not alphabetic. - - - Converts the value of this instance to its equivalent string representation. - The string representation of the value of this instance. - - - Converts the specified Unicode character to its equivalent string representation. - The Unicode character to convert. - The string representation of the value of . - - - Converts the value of this instance to its equivalent string representation using the specified culture-specific format information. - (Reserved) An object that supplies culture-specific formatting information. - The string representation of the value of this instance as specified by . - - - Converts the value of a Unicode character to its uppercase equivalent. - The Unicode character to convert. - The uppercase equivalent of , or the unchanged value of if is already uppercase, has no uppercase equivalent, or is not alphabetic. - - - Converts the value of a specified Unicode character to its uppercase equivalent using specified culture-specific formatting information. - The Unicode character to convert. - - An object that supplies culture-specific casing rules. - The uppercase equivalent of , modified according to , or the unchanged value of if is already uppercase, has no uppercase equivalent, or is not alphabetic. - - is . - - - Converts the value of a Unicode character to its uppercase equivalent using the casing rules of the invariant culture. - The Unicode character to convert. - The uppercase equivalent of the parameter, or the unchanged value of , if is already uppercase or not alphabetic. - - - Converts the value of the specified string to its equivalent Unicode character. A return code indicates whether the conversion succeeded or failed. - A string that contains a single character, or . - When this method returns, contains a Unicode character equivalent to the sole character in , if the conversion succeeded, or an undefined value if the conversion failed. The conversion fails if the parameter is or the length of is not 1. This parameter is passed uninitialized. - - if the parameter was converted successfully; otherwise, . - - - Creates a copy of the current object. - An that is a copy of the current object. - - - Releases all resources used by the current instance of the class. - - - Increments the internal index of the current object to the next character of the enumerated string. - - if the index is successfully incremented and within the enumerated string; otherwise, . - - - Initializes the index to a position logically before the first character of the enumerated string. - - - Initializes an instance of the class with a Boolean value indicating whether the indicated program element is CLS-compliant. - - if CLS-compliant; otherwise, . - - - Initializes a new instance of the class that is empty and has the default initial capacity. - - - Initializes a new instance of the class that contains elements copied from the specified collection and that has the same initial capacity as the number of elements copied. - The whose elements are copied to the new list. - - is . - - - Initializes a new instance of the class that is empty and has the specified initial capacity. - The number of elements that the new list can initially store. - - is less than zero. - - - Creates an wrapper for a specific . - The to wrap. - The wrapper around the . - - is . - - - Adds an object to the end of the . - The to be added to the end of the . The value can be . - The index at which the has been added. - The is read-only.-or- The has a fixed size. - - - Adds the elements of an to the end of the . - The whose elements should be added to the end of the . The collection itself cannot be , but it can contain elements that are . - - is . - The is read-only.-or- The has a fixed size. - - - Searches a range of elements in the sorted for an element using the specified comparer and returns the zero-based index of the element. - The zero-based starting index of the range to search. - The length of the range to search. - The to locate. The value can be . - The implementation to use when comparing elements.-or- - to use the default comparer that is the implementation of each element. - The zero-based index of in the sorted , if is found; otherwise, a negative number, which is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . - - and do not denote a valid range in the .-or- - is and neither nor the elements of implement the interface. - - is and is not of the same type as the elements of the . - - is less than zero.-or- - is less than zero. - - - Searches the entire sorted for an element using the default comparer and returns the zero-based index of the element. - The to locate. The value can be . - The zero-based index of in the sorted , if is found; otherwise, a negative number, which is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . - Neither nor the elements of implement the interface. - - is not of the same type as the elements of the . - - - Searches the entire sorted for an element using the specified comparer and returns the zero-based index of the element. - The to locate. The value can be . - The implementation to use when comparing elements.-or- - to use the default comparer that is the implementation of each element. - The zero-based index of in the sorted , if is found; otherwise, a negative number, which is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . - - is and neither nor the elements of implement the interface. - - is and is not of the same type as the elements of the . - - - Removes all elements from the . - The is read-only.-or- The has a fixed size. - - - Creates a shallow copy of the . - A shallow copy of the . - - - Determines whether an element is in the . - The to locate in the . The value can be . - - if is found in the ; otherwise, . - - - Copies the entire to a compatible one-dimensional , starting at the beginning of the target array. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - - is . - - is multidimensional.-or- The number of elements in the source is greater than the number of elements that the destination can contain. - The type of the source cannot be cast automatically to the type of the destination . - - - Copies the entire to a compatible one-dimensional , starting at the specified index of the target array. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - Copies a range of elements from the to a compatible one-dimensional , starting at the specified index of the target array. - The zero-based index in the source at which copying begins. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - The number of elements to copy. - - is . - - is less than zero.-or- - is less than zero.-or- - is less than zero. - - is multidimensional.-or- - is equal to or greater than the of the source .-or- The number of elements from to the end of the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - Returns an wrapper with a fixed size. - The to wrap. - An wrapper with a fixed size. - - is . - - - Returns an wrapper with a fixed size. - The to wrap. - An wrapper with a fixed size. - - is . - - - Returns an enumerator for the entire . - An for the entire . - - - Returns an enumerator for a range of elements in the . - The zero-based starting index of the section that the enumerator should refer to. - The number of elements in the section that the enumerator should refer to. - An for the specified range of elements in the . - - is less than zero.-or- - is less than zero. - - and do not specify a valid range in the . - - - Returns an which represents a subset of the elements in the source . - The zero-based index at which the range starts. - The number of elements in the range. - An which represents a subset of the elements in the source . - - is less than zero.-or- - is less than zero. - - and do not denote a valid range of elements in the . - - - Searches for the specified and returns the zero-based index of the first occurrence within the entire . - The to locate in the . The value can be . - The zero-based index of the first occurrence of within the entire , if found; otherwise, -1. - - - Searches for the specified and returns the zero-based index of the first occurrence within the range of elements in the that extends from the specified index to the last element. - The to locate in the . The value can be . - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The zero-based index of the first occurrence of within the range of elements in the that extends from to the last element, if found; otherwise, -1. - - is outside the range of valid indexes for the . - - - Searches for the specified and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. - The to locate in the . The value can be . - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The number of elements in the section to search. - The zero-based index of the first occurrence of within the range of elements in the that starts at and contains number of elements, if found; otherwise, -1. - - is outside the range of valid indexes for the .-or- - is less than zero.-or- - and do not specify a valid section in the . - - - Inserts an element into the at the specified index. - The zero-based index at which should be inserted. - The to insert. The value can be . - - is less than zero.-or- - is greater than . - The is read-only.-or- The has a fixed size. - - - Inserts the elements of a collection into the at the specified index. - The zero-based index at which the new elements should be inserted. - The whose elements should be inserted into the . The collection itself cannot be , but it can contain elements that are . - - is . - - is less than zero.-or- - is greater than . - The is read-only.-or- The has a fixed size. - - - Searches for the specified and returns the zero-based index of the last occurrence within the entire . - The to locate in the . The value can be . - The zero-based index of the last occurrence of within the entire the , if found; otherwise, -1. - - - Searches for the specified and returns the zero-based index of the last occurrence within the range of elements in the that extends from the first element to the specified index. - The to locate in the . The value can be . - The zero-based starting index of the backward search. - The zero-based index of the last occurrence of within the range of elements in the that extends from the first element to , if found; otherwise, -1. - - is outside the range of valid indexes for the . - - - Searches for the specified and returns the zero-based index of the last occurrence within the range of elements in the that contains the specified number of elements and ends at the specified index. - The to locate in the . The value can be . - The zero-based starting index of the backward search. - The number of elements in the section to search. - The zero-based index of the last occurrence of within the range of elements in the that contains number of elements and ends at , if found; otherwise, -1. - - is outside the range of valid indexes for the .-or- - is less than zero.-or- - and do not specify a valid section in the . - - - Returns a read-only wrapper. - The to wrap. - A read-only wrapper around . - - is . - - - Returns a read-only wrapper. - The to wrap. - A read-only wrapper around . - - is . - - - Removes the first occurrence of a specific object from the . - The to remove from the . The value can be . - The is read-only.-or- The has a fixed size. - - - Removes the element at the specified index of the . - The zero-based index of the element to remove. - - is less than zero.-or- - is equal to or greater than . - The is read-only.-or- The has a fixed size. - - - Removes a range of elements from the . - The zero-based starting index of the range of elements to remove. - The number of elements to remove. - - is less than zero.-or- - is less than zero. - - and do not denote a valid range of elements in the . - The is read-only.-or- The has a fixed size. - - - Returns an whose elements are copies of the specified value. - The to copy multiple times in the new . The value can be . - The number of times should be copied. - An with number of elements, all of which are copies of . - - is less than zero. - - - Reverses the order of the elements in the entire . - The is read-only. - - - Reverses the order of the elements in the specified range. - The zero-based starting index of the range to reverse. - The number of elements in the range to reverse. - - is less than zero.-or- - is less than zero. - - and do not denote a valid range of elements in the . - The is read-only. - - - Copies the elements of a collection over a range of elements in the . - The zero-based index at which to start copying the elements of . - The whose elements to copy to the . The collection itself cannot be , but it can contain elements that are . - - is less than zero.-or- - plus the number of elements in is greater than . - - is . - The is read-only. - - - Sorts the elements in the entire . - The is read-only. - - - Sorts the elements in the entire using the specified comparer. - The implementation to use when comparing elements.-or- A null reference ( in Visual Basic) to use the implementation of each element. - The is read-only. - An error occurred while comparing two elements. - - is passed for , and the elements in the list do not implement . - - - Sorts the elements in a range of elements in using the specified comparer. - The zero-based starting index of the range to sort. - The length of the range to sort. - The implementation to use when comparing elements.-or- A null reference ( in Visual Basic) to use the implementation of each element. - - is less than zero.-or- - is less than zero. - - and do not specify a valid range in the . - The is read-only. - An error occurred while comparing two elements. - - - Returns an wrapper that is synchronized (thread safe). - The to synchronize. - An wrapper that is synchronized (thread safe). - - is . - - - Returns an wrapper that is synchronized (thread safe). - The to synchronize. - An wrapper that is synchronized (thread safe). - - is . - - - Copies the elements of the to a new array. - An array containing copies of the elements of the . - - - Copies the elements of the to a new array of the specified element type. - The element of the destination array to create and copy elements to. - An array of the specified element type containing copies of the elements of the . - - is . - The type of the source cannot be cast automatically to the specified type. - - - Sets the capacity to the actual number of elements in the . - The is read-only.-or- The has a fixed size. - - - Initializes a new instance of the class that contains bit values copied from the specified array of Booleans. - An array of Booleans to copy. - - is . - - - Initializes a new instance of the class that contains bit values copied from the specified array of bytes. - An array of bytes containing the values to copy, where each byte represents eight consecutive bits. - - is . - The length of is greater than . - - - Initializes a new instance of the class that contains bit values copied from the specified . - The to copy. - - is . - - - Initializes a new instance of the class that can hold the specified number of bit values, which are initially set to . - The number of bit values in the new . - - is less than zero. - - - Initializes a new instance of the class that can hold the specified number of bit values, which are initially set to the specified value. - The number of bit values in the new . - The Boolean value to assign to each bit. - - is less than zero. - - - Initializes a new instance of the class that contains bit values copied from the specified array of 32-bit integers. - An array of integers containing the values to copy, where each integer represents 32 consecutive bits. - - is . - The length of is greater than - - - - Performs the bitwise AND operation between the elements of the current object and the corresponding elements in the specified array. The current object will be modified to store the result of the bitwise AND operation. - The array with which to perform the bitwise AND operation. - An array containing the result of the bitwise AND operation, which is a reference to the current object. - - is . - - and the current do not have the same number of elements. - - - Creates a shallow copy of the . - A shallow copy of the . - - - Copies the entire to a compatible one-dimensional , starting at the specified index of the target array. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - Gets the value of the bit at a specific position in the . - The zero-based index of the value to get. - The value of the bit at position . - - is less than zero.-or- - is greater than or equal to the number of elements in the . - - - Returns an enumerator that iterates through the . - An for the entire . - - - Inverts all the bit values in the current , so that elements set to are changed to , and elements set to are changed to . - The current instance with inverted bit values. - - - - Performs the bitwise OR operation between the elements of the current object and the corresponding elements in the specified array. The current object will be modified to store the result of the bitwise OR operation. - The array with which to perform the bitwise OR operation. - An array containing the result of the bitwise OR operation, which is a reference to the current object. - - is . - - and the current do not have the same number of elements. - - - Sets the bit at a specific position in the to the specified value. - The zero-based index of the bit to set. - The Boolean value to assign to the bit. - - is less than zero.-or- - is greater than or equal to the number of elements in the . - - - Sets all bits in the to the specified value. - The Boolean value to assign to all bits. - - - - Performs the bitwise exclusive OR operation between the elements of the current object against the corresponding elements in the specified array. The current object will be modified to store the result of the bitwise exclusive OR operation. - The array with which to perform the bitwise exclusive OR operation. - An array containing the result of the bitwise exclusive OR operation, which is a reference to the current object. - - is . - - and the current do not have the same number of elements. - - - Initializes a new instance of the class using the of the current thread. - - - Initializes a new instance of the class using the specified . - The to use for the new . - - is . - - - Performs a case-insensitive comparison of two objects of the same type and returns a value indicating whether one is less than, equal to, or greater than the other. - The first object to compare. - The second object to compare. - A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero - is less than , with casing ignored. Zero - equals , with casing ignored. Greater than zero - is greater than , with casing ignored. - Neither nor implements the interface.-or- - and are of different types. - - - Initializes a new instance of the class using the of the current thread. - - - Initializes a new instance of the class using the specified . - The to use for the new . - - is . - - - Returns a hash code for the given object, using a hashing algorithm that ignores the case of strings. - The for which a hash code is to be returned. - A hash code for the given object, using a hashing algorithm that ignores the case of strings. - - is . - - - Initializes a new instance of the class with the default initial capacity. - - - Initializes a new instance of the class with the specified capacity. - The number of elements that the new list can initially store. - - - Removes all objects from the instance. This method cannot be overridden. - - - Returns an enumerator that iterates through the instance. - An for the instance. - - - Performs additional custom processes when clearing the contents of the instance. - - - Performs additional custom processes after clearing the contents of the instance. - - - Performs additional custom processes before inserting a new element into the instance. - The zero-based index at which to insert . - The new value of the element at . - - - Performs additional custom processes after inserting a new element into the instance. - The zero-based index at which to insert . - The new value of the element at . - - - Performs additional custom processes when removing an element from the instance. - The zero-based index at which can be found. - The value of the element to remove from . - - - Performs additional custom processes after removing an element from the instance. - The zero-based index at which can be found. - The value of the element to remove from . - - - Performs additional custom processes before setting a value in the instance. - The zero-based index at which can be found. - The value to replace with . - The new value of the element at . - - - Performs additional custom processes after setting a value in the instance. - The zero-based index at which can be found. - The value to replace with . - The new value of the element at . - - - Performs additional custom processes when validating a value. - The object to validate. - - is . - - - Removes the element at the specified index of the instance. This method is not overridable. - The zero-based index of the element to remove. - - is less than zero.-or- - is equal to or greater than . - - - Copies the entire to a compatible one-dimensional , starting at the specified index of the target array. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or-The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - Adds an object to the end of the . - The to be added to the end of the . - The index at which the has been added. - The is read-only.-or-The has a fixed size. - - - Determines whether the contains a specific element. - The to locate in the . - - if the contains the specified ; otherwise, . - - - Searches for the specified and returns the zero-based index of the first occurrence within the entire . - The to locate in the . - The zero-based index of the first occurrence of within the entire , if found; otherwise, -1. - - - Inserts an element into the at the specified index. - The zero-based index at which should be inserted. - The to insert. - - is less than zero.-or- - is greater than . - The is read-only.-or-The has a fixed size. - - - Removes the first occurrence of a specific object from the . - The to remove from the . - The parameter was not found in the object. - The is read-only.-or-The has a fixed size. - - - Initializes a new instance of the class using the specified . - The to use for the new . - - is . - - - Performs a case-sensitive comparison of two objects of the same type and returns a value indicating whether one is less than, equal to, or greater than the other. - The first object to compare. - The second object to compare. - A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero - is less than . Zero - equals . Greater than zero - is greater than . - Neither nor implements the interface.-or- - and are of different types and neither one can handle comparisons with the other. - - - Populates a object with the data required for serialization. - The object to populate with data. - The context information about the source or destination of the serialization. - - is . - - - Initializes a new instance of the class that is empty, has the default concurrency level, has the default initial capacity, and uses the default comparer for the key type. - - - Initializes a new instance of the class that contains elements copied from the specified , has the default concurrency level, has the default initial capacity, and uses the default comparer for the key type. - The whose elements are copied to the new . - - or any of its keys is . - - contains one or more duplicate keys. - - - Initializes a new instance of the class that contains elements copied from the specified has the default concurrency level, has the default initial capacity, and uses the specified . - The whose elements are copied to the new . - The implementation to use when comparing keys. - - or is . - - - Initializes a new instance of the class that is empty, has the default concurrency level and capacity, and uses the specified . - The equality comparison implementation to use when comparing keys. - - is . - - - Initializes a new instance of the class that contains elements copied from the specified , and uses the specified . - The estimated number of threads that will update the concurrently. - The whose elements are copied to the new . - The implementation to use when comparing keys. - - or is . - - is less than 1. - - contains one or more duplicate keys. - - - Initializes a new instance of the class that is empty, has the specified concurrency level and capacity, and uses the default comparer for the key type. - The estimated number of threads that will update the concurrently. - The initial number of elements that the can contain. - - is less than 1.-or- - is less than 0. - - - Initializes a new instance of the class that is empty, has the specified concurrency level, has the specified initial capacity, and uses the specified . - The estimated number of threads that will update the concurrently. - The initial number of elements that the can contain. - The implementation to use when comparing keys. - - is . - - or is less than 1. - - - Adds a key/value pair to the if the key does not already exist, or updates a key/value pair in the by using the specified function if the key already exists. - The key to be added or whose value should be updated - The value to be added for an absent key - The function used to generate a new value for an existing key based on the key's existing value - The new value for the key. This will be either be addValue (if the key was absent) or the result of updateValueFactory (if the key was present). - - or is . - The dictionary already contains the maximum number of elements (). - - - Uses the specified functions to add a key/value pair to the if the key does not already exist, or to update a key/value pair in the if the key already exists. - The key to be added or whose value should be updated - The function used to generate a value for an absent key - The function used to generate a new value for an existing key based on the key's existing value - The new value for the key. This will be either be the result of addValueFactory (if the key was absent) or the result of updateValueFactory (if the key was present). - - , , or is . - The dictionary already contains the maximum number of elements (). - - - - Adds a key/value pair to the - - if the key does not already exist, or updates a key/value pair in the - - if the key already exists. - - The key to be added or whose value should be updated. - The function used to generate a value for an absent key. - The function used to generate a new value for an existing key based on the key's existing value. - An argument to pass into and . - - The type of the keys in this - - - The new value for the key. This will be either be the result of addValueFactory (if the key - was absent) or the result of updateValueFactory (if the key was present). - - - , , or is a null reference (Nothing in Visual Basic). - - - Removes all keys and values from the . - - - Determines whether the contains the specified key. - The key to locate in the . - - if the contains an element with the specified key; otherwise, . - - is . - - - Returns an enumerator that iterates through the . - An enumerator for the . - - - Adds a key/value pair to the if the key does not already exist. - The key of the element to add. - the value to be added, if the key does not already exist - The value for the key. This will be either the existing value for the key if the key is already in the dictionary, or the new value if the key was not in the dictionary. - - is . - The dictionary already contains the maximum number of elements (). - - - Adds a key/value pair to the by using the specified function, if the key does not already exist. - The key of the element to add. - The function used to generate a value for the key - The value for the key. This will be either the existing value for the key if the key is already in the dictionary, or the new value for the key as returned by valueFactory if the key was not in the dictionary. - - or is . - The dictionary already contains the maximum number of elements (). - - - Adds a key/value pair to the if the key does not already exist. - The key of the element to add. - The function used to generate a value for the key. - An argument value to pass into . - The type of the keys in this - - The value for the key. This will be either the existing value for the key if the - key is already in the dictionary, or the new value for the key as returned by - if the key was not in the dictionary. - - - - Adds an item to the collection. - The to add to the dictionary. - - - Gets whether the contains an element with the specified key. - The key to locate in the . - - if the contains an element with the specified key; otherwise, . - - - Copies the elements of the to an array, starting at the specified array index. - The one-dimensional array that is the destination of the elements copied from the . The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - Removes the specified key/value pair from the collection. - The to remove. - - if the element is successfully removed; otherwise . This method also returns false if was not found in the original . - - - Adds the specified key and value to the . - The object to use as the key of the element to add. - The object to use as the value of the element to add. - - is . - An element with the same key already exists in the . - The dictionary already contains the maximum number of elements (). - - - Removes the element with the specified key from the . - The key of the element to remove. - - if the element is successfully remove; otherwise . This method also returns if was not found in the original . - - is . - - - Copies the elements of the to an array, starting at the specified array index. - The one-dimensional array that is the destination of the elements copied from the . The array must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than 0. - - is equal to or greater than the length of the . -or-The number of elements in the source is greater than the available space from to the end of the destination . - - - Adds the specified key and value to the dictionary. - The object to use as the key. - The object to use as the value. - - is . - - is of a type that is not assignable to the key type of the . -or- - is of a type that is not assignable to the type of values in the . -or-A value with the same key already exists in the . - The dictionary already contains the maximum number of elements (). - - - Gets whether the contains an element with the specified key. - The key to locate in the . - - if the contains an element with the specified key; otherwise, . - - is . - - - Provides a for the . - A for the . - - - Removes the element with the specified key from the . - The key of the element to remove. - - is . - - - Returns an enumerator that iterates through the . - An enumerator for the . - - - Copies the key and value pairs stored in the to a new array. - A new array containing a snapshot of key and value pairs copied from the . - - - Attempts to add the specified key and value to the . - The key of the element to add. - The value of the element to add. The value can be for reference types. - - if the key/value pair was added to the successfully; if the key already exists. - - is . - The dictionary already contains the maximum number of elements (). - - - Attempts to get the value associated with the specified key from the . - The key of the value to get. - When this method returns, contains the object from the that has the specified key, or the default value of the type if the operation failed. - - if the key was found in the ; otherwise, . - - is . - - - Attempts to remove and return the value that has the specified key from the . - The key of the element to remove and return. - When this method returns, contains the object removed from the , or the default value of the type if does not exist. - - if the object was removed successfully; otherwise, . - - is . - - - Compares the existing value for the specified key with a specified value, and if they are equal, updates the key with a third value. - The key whose value is compared with and possibly replaced. - The value that replaces the value of the element that has the specified if the comparison results in equality. - The value that is compared to the value of the element that has the specified . - - if the value with was equal to and was replaced with ; otherwise, . - - is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class that contains elements copied from the specified collection - The collection whose elements are copied to the new . - The argument is null. - - - Copies the elements to an existing one-dimensional , starting at the specified array index. - The one-dimensional that is the destination of the elements copied from the . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is a null reference (Nothing in Visual Basic). - - is less than zero. - - is equal to or greater than the length of the -or- The number of elements in the source is greater than the available space from to the end of the destination . - - - Adds an object to the end of the . - The object to add to the end of the . The value can be a null reference (Nothing in Visual Basic) for reference types. - - - Returns an enumerator that iterates through the . - An enumerator for the contents of the . - - - Attempts to add an object to the . - The object to add to the . The value can be a null reference (Nothing in Visual Basic) for reference types. - true if the object was added successfully; otherwise, false. - - - Attempts to remove and return an object from the . - When this method returns, if the operation was successful, contains the object removed. If no object was available to be removed, the value is unspecified. - true if an element was removed and returned succesfully; otherwise, false. - - - Copies the elements of the to an , starting at a particular index. - The one-dimensional that is the destination of the elements copied from the . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is a null reference (Nothing in Visual Basic). - - is less than zero. - - is multidimensional. -or- does not have zero-based indexing. -or- is equal to or greater than the length of the -or- The number of elements in the source is greater than the available space from to the end of the destination . -or- The type of the source cannot be cast automatically to the type of the destination . - - - Returns an enumerator that iterates through a collection. - An that can be used to iterate through the collection. - - - Copies the elements stored in the to a new array. - A new array containing a snapshot of elements copied from the . - - - Tries to remove and return the object at the beginning of the concurrent queue. - When this method returns, if the operation was successful, contains the object removed. If no object was available to be removed, the value is unspecified. - - if an element was removed and returned from the beginning of the successfully; otherwise, . - - - Tries to return an object from the beginning of the without removing it. - When this method returns, contains an object from the beginning of the or an unspecified value if the operation failed. - - if an object was returned successfully; otherwise, . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class that contains elements copied from the specified collection - The collection whose elements are copied to the new . - The argument is null. - - - Removes all objects from the . - - - Copies the elements to an existing one-dimensional , starting at the specified array index. - The one-dimensional that is the destination of the elements copied from the . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is a null reference (Nothing in Visual Basic). - - is less than zero. - - is equal to or greater than the length of the -or- The number of elements in the source is greater than the available space from to the end of the destination . - - - Returns an enumerator that iterates through the . - An enumerator for the . - - - Inserts an object at the top of the . - The object to push onto the . The value can be a null reference (Nothing in Visual Basic) for reference types. - - - Inserts multiple objects at the top of the atomically. - The objects to push onto the . - - is a null reference (Nothing in Visual Basic). - - - Inserts multiple objects at the top of the atomically. - The objects to push onto the . - The zero-based offset in at which to begin inserting elements onto the top of the . - The number of elements to be inserted onto the top of the . - - is a null reference (Nothing in Visual Basic). - - or is negative. Or is greater than or equal to the length of . - - + is greater than the length of . - - - Attempts to add an object to the . - The object to add to the . The value can be a null reference (Nothing in Visual Basic) for reference types. - true if the object was added successfully; otherwise, false. - - - Attempts to remove and return an object from the . - When this method returns, if the operation was successful, contains the object removed. If no object was available to be removed, the value is unspecified. - true if an element was removed and returned succesfully; otherwise, false. - - - Copies the elements of the to an , starting at a particular index. - The one-dimensional that is the destination of the elements copied from the . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is a null reference (Nothing in Visual Basic). - - is less than zero. - - is multidimensional. -or- does not have zero-based indexing. -or- is equal to or greater than the length of the -or- The number of elements in the source is greater than the available space from to the end of the destination . -or- The type of the source cannot be cast automatically to the type of the destination . - - - Returns an enumerator that iterates through a collection. - An that can be used to iterate through the collection. - - - Copies the items stored in the to a new array. - A new array containing a snapshot of elements copied from the . - - - Attempts to return an object from the top of the without removing it. - When this method returns, contains an object from the top of the or an unspecified value if the operation failed. - true if and object was returned successfully; otherwise, false. - - - Attempts to pop and return the object at the top of the . - When this method returns, if the operation was successful, contains the object removed. If no object was available to be removed, the value is unspecified. - true if an element was removed and returned from the top of the successfully; otherwise, false. - - - Attempts to pop and return multiple objects from the top of the atomically. - The to which objects popped from the top of the will be added. - The number of objects successfully popped from the top of the and inserted in . - - is a null argument (Nothing in Visual Basic). - - - Attempts to pop and return multiple objects from the top of the atomically. - The to which objects popped from the top of the will be added. - The zero-based offset in at which to begin inserting elements from the top of the . - The number of elements to be popped from top of the and inserted into . - The number of objects successfully popped from the top of the stack and inserted in . - - is a null reference (Nothing in Visual Basic). - - or is negative. Or is greater than or equal to the length of . - - + is greater than the length of . - - - Copies the elements of the to an , starting at a specified index. - The one-dimensional that is the destination of the elements copied from the . The array must have zero-based indexing. - The zero-based index in at which copying begins. - - is a null reference (Nothing in Visual Basic). - - is less than zero. - - is equal to or greater than the length of the -or- The number of elements in the collection is greater than the available space from to the end of the destination . - - - Copies the elements contained in the to a new array. - A new array containing the elements copied from the . - - - Attempts to add an object to the . - The object to add to the . - true if the object was added successfully; otherwise, false. - The was invalid for this collection. - - - Attempts to remove and return an object from the . - When this method returns, if the object was removed and returned successfully, contains the removed object. If no object was available to be removed, the value is unspecified. - true if an object was removed and returned successfully; otherwise, false. - - - Called from constructors in derived classes to initialize the class with the specified constraints on the index keys. - Indicates whether the elements in each partition are yielded in the order of increasing keys. - Indicates whether elements in an earlier partition always come before elements in a later partition. If true, each element in partition 0 has a smaller order key than any element in partition 1, each element in partition 1 has a smaller order key than any element in partition 2, and so on. - Indicates whether keys are normalized. If true, all order keys are distinct integers in the range [0 .. numberOfElements-1]. If false, order keys must still be distinct, but only their relative order is considered, not their absolute values. - - - Creates an object that can partition the underlying collection into a variable number of partitions. - An object that can create partitions over the underlying data source. - Dynamic partitioning is not supported by the base class. It must be implemented in derived classes. - - - Creates an object that can partition the underlying collection into a variable number of partitions. - An object that can create partitions over the underlying data source. - Dynamic partitioning is not supported by this partitioner. - - - Partitions the underlying collection into the specified number of orderable partitions. - The number of partitions to create. - A list containing enumerators. - - - Partitions the underlying collection into the given number of ordered partitions. - The number of partitions to create. - A list containing enumerators. - - - Creates a partitioner that chunks the user-specified range. - The lower, inclusive bound of the range. - The upper, exclusive bound of the range. - A partitioner. - The argument is less than or equal to the argument. - - - Creates a partitioner that chunks the user-specified range. - The lower, inclusive bound of the range. - The upper, exclusive bound of the range. - The size of each subrange. - A partitioner. - The argument is less than or equal to the argument.-or-The argument is less than or equal to 0. - - - Creates a partitioner that chunks the user-specified range. - The lower, inclusive bound of the range. - The upper, exclusive bound of the range. - A partitioner. - The argument is less than or equal to the argument. - - - Creates a partitioner that chunks the user-specified range. - The lower, inclusive bound of the range. - The upper, exclusive bound of the range. - The size of each subrange. - A partitioner. - The argument is less than or equal to the argument.-or-The argument is less than or equal to 0. - - - Creates an orderable partitioner from a instance. - The array to be partitioned. - A Boolean value that indicates whether the created partitioner should dynamically load balance between partitions rather than statically partition. - Type of the elements in source array. - An orderable partitioner based on the input array. - - - Creates an orderable partitioner from a instance. - The enumerable to be partitioned. - Type of the elements in source enumerable. - An orderable partitioner based on the input array. - - - Creates an orderable partitioner from a instance. - The enumerable to be partitioned. - Options to control the buffering behavior of the partitioner. - Type of the elements in source enumerable. - An orderable partitioner based on the input array. - The argument specifies an invalid value for . - - - Creates an orderable partitioner from an instance. - The list to be partitioned. - A Boolean value that indicates whether the created partitioner should dynamically load balance between partitions rather than statically partition. - Type of the elements in source list. - An orderable partitioner based on the input list. - - - Creates a new partitioner instance. - - - Creates an object that can partition the underlying collection into a variable number of partitions. - An object that can create partitions over the underlying data source. - Dynamic partitioning is not supported by the base class. You must implement it in a derived class. - - - Partitions the underlying collection into the given number of partitions. - The number of partitions to create. - A list containing enumerators. - - - Initializes a new instance of the class. - - - Clears the contents of the instance. - - - Copies the elements to a one-dimensional at the specified index. - The one-dimensional that is the destination of the objects copied from the instance. The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - Returns an that iterates through the instance. - An for the instance. - - - Performs additional custom processes before clearing the contents of the instance. - - - Performs additional custom processes after clearing the contents of the instance. - - - Gets the element with the specified key and value in the instance. - The key of the element to get. - The current value of the element associated with . - An containing the element with the specified key and value. - - - Performs additional custom processes before inserting a new element into the instance. - The key of the element to insert. - The value of the element to insert. - - - Performs additional custom processes after inserting a new element into the instance. - The key of the element to insert. - The value of the element to insert. - - - Performs additional custom processes before removing an element from the instance. - The key of the element to remove. - The value of the element to remove. - - - Performs additional custom processes after removing an element from the instance. - The key of the element to remove. - The value of the element to remove. - - - Performs additional custom processes before setting a value in the instance. - The key of the element to locate. - The old value of the element associated with . - The new value of the element associated with . - - - Performs additional custom processes after setting a value in the instance. - The key of the element to locate. - The old value of the element associated with . - The new value of the element associated with . - - - Performs additional custom processes when validating the element with the specified key and value. - The key of the element to validate. - The value of the element to validate. - - - Adds an element with the specified key and value into the . - The key of the element to add. - The value of the element to add. - - is . - An element with the same key already exists in the . - The is read-only.-or- The has a fixed size. - - - Determines whether the contains a specific key. - The key to locate in the . - - if the contains an element with the specified key; otherwise, . - - is . - - - Removes the element with the specified key from the . - The key of the element to remove. - - is . - The is read-only.-or- The has a fixed size. - - - Returns an that iterates through the . - An for the . - - - Initializes an instance of the type with the specified key and value. - The object defined in each key/value pair. - The definition associated with . - - is and the .NET Framework version is 1.0 or 1.1. - - - Initializes a new instance of the class. - - - When overridden in a derived class, performs a comparison of two objects of the same type and returns a value indicating whether one object is less than, equal to, or greater than the other. - The first object to compare. - The second object to compare. - A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero - is less than .Zero - equals .Greater than zero - is greater than . - Type does not implement either the generic interface or the interface. - - - Creates a comparer by using the specified comparison. - The comparison to use. - The new comparer. - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - The first object to compare. - The second object to compare. - A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero - is less than .Zero - equals .Greater than zero - is greater than . - - or is of a type that cannot be cast to type .-or- - and do not implement either the generic interface or the interface. - - - Initializes a new instance of the class that is empty, has the default initial capacity, and uses the default equality comparer for the key type. - - - Initializes a new instance of the class that contains elements copied from the specified and uses the default equality comparer for the key type. - The whose elements are copied to the new . - - is . - - contains one or more duplicate keys. - - - Initializes a new instance of the class that contains elements copied from the specified and uses the specified . - The whose elements are copied to the new . - The implementation to use when comparing keys, or to use the default for the type of the key. - - is . - - contains one or more duplicate keys. - - - Initializes a new instance of the class that is empty, has the default initial capacity, and uses the specified . - The implementation to use when comparing keys, or to use the default for the type of the key. - - - Initializes a new instance of the class that is empty, has the specified initial capacity, and uses the default equality comparer for the key type. - The initial number of elements that the can contain. - - is less than 0. - - - Initializes a new instance of the class that is empty, has the specified initial capacity, and uses the specified . - The initial number of elements that the can contain. - The implementation to use when comparing keys, or to use the default for the type of the key. - - is less than 0. - - - Initializes a new instance of the class with serialized data. - A object containing the information required to serialize the . - A structure containing the source and destination of the serialized stream associated with the . - - - Adds the specified key and value to the dictionary. - The key of the element to add. - The value of the element to add. The value can be for reference types. - - is . - An element with the same key already exists in the . - - - Removes all keys and values from the . - - - Determines whether the contains the specified key. - The key to locate in the . - - if the contains an element with the specified key; otherwise, . - - is . - - - Determines whether the contains a specific value. - The value to locate in the . The value can be for reference types. - - if the contains an element with the specified value; otherwise, . - - - Releases all resources used by the . - - - Advances the enumerator to the next element of the . - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. - The collection was modified after the enumerator was created. - - - Sets the enumerator to its initial position, which is before the first element in the collection. - The collection was modified after the enumerator was created. - - - Returns an enumerator that iterates through the . - A structure for the . - - - Implements the interface and returns the data needed to serialize the instance. - A object that contains the information required to serialize the instance. - A structure that contains the source and destination of the serialized stream associated with the instance. - - is . - - - Initializes a new instance of the class that reflects the keys in the specified . - The whose keys are reflected in the new . - - is . - - - Copies the elements to an existing one-dimensional , starting at the specified array index. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - The number of elements in the source is greater than the available space from to the end of the destination . - - - Releases all resources used by the . - - - Advances the enumerator to the next element of the . - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. - The collection was modified after the enumerator was created. - - - Sets the enumerator to its initial position, which is before the first element in the collection. - The collection was modified after the enumerator was created. - - - Returns an enumerator that iterates through the . - A for the . - - - Adds an item to the . This implementation always throws . - The object to add to the . - Always thrown. - - - Removes all items from the . This implementation always throws . - Always thrown. - - - Determines whether the contains a specific value. - The object to locate in the . - - if is found in the ; otherwise, . - - - Removes the first occurrence of a specific object from the . This implementation always throws . - The object to remove from the . - - if was successfully removed from the ; otherwise, . This method also returns if item was not found in the original . - Always thrown. - - - Returns an enumerator that iterates through a collection. - An that can be used to iterate through the collection. - - - Copies the elements of the to an , starting at a particular index. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- - does not have zero-based indexing.-or-The number of elements in the source is greater than the available space from to the end of the destination .-or-The type of the source cannot be cast automatically to the type of the destination . - - - Returns an enumerator that iterates through a collection. - An that can be used to iterate through the collection. - - - Implements the interface and raises the deserialization event when the deserialization is complete. - The source of the deserialization event. - The object associated with the current instance is invalid. - - - Removes the value with the specified key from the . - The key of the element to remove. - - if the element is successfully found and removed; otherwise, . This method returns if is not found in the . - - is . - - - Adds the specified value to the with the specified key. - The structure representing the key and value to add to the . - The key of is . - An element with the same key already exists in the . - - - Determines whether the contains a specific key and value. - The structure to locate in the . - - if is found in the ; otherwise, . - - - Copies the elements of the to an array of type , starting at the specified array index. - The one-dimensional array of type that is the destination of the elements copied from the . The array must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than 0. - The number of elements in the source is greater than the available space from to the end of the destination . - - - Removes a key and value from the dictionary. - The structure representing the key and value to remove from the . - - if the key and value represented by is successfully found and removed; otherwise, . This method returns if is not found in the . - - - Returns an enumerator that iterates through the collection. - An that can be used to iterate through the collection. - - - Copies the elements of the to an array, starting at the specified array index. - The one-dimensional array that is the destination of the elements copied from . The array must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than 0. - - is multidimensional.-or- - does not have zero-based indexing.-or-The number of elements in the source is greater than the available space from to the end of the destination .-or-The type of the source cannot be cast automatically to the type of the destination . - - - Adds the specified key and value to the dictionary. - The object to use as the key. - The object to use as the value. - - is . - - is of a type that is not assignable to the key type of the .-or- - is of a type that is not assignable to , the type of values in the .-or-A value with the same key already exists in the . - - - Determines whether the contains an element with the specified key. - The key to locate in the . - - if the contains an element with the specified key; otherwise, . - - is . - - - Returns an for the . - An for the . - - - Removes the element with the specified key from the . - The key of the element to remove. - - is . - - - Returns an enumerator that iterates through the collection. - An that can be used to iterate through the collection. - - - Gets the value associated with the specified key. - The key of the value to get. - When this method returns, contains the value associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized. - - if the contains an element with the specified key; otherwise, . - - is . - - - Initializes a new instance of the class that reflects the values in the specified . - The whose values are reflected in the new . - - is . - - - Copies the elements to an existing one-dimensional , starting at the specified array index. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - The number of elements in the source is greater than the available space from to the end of the destination . - - - Releases all resources used by the . - - - Advances the enumerator to the next element of the . - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. - The collection was modified after the enumerator was created. - - - Sets the enumerator to its initial position, which is before the first element in the collection. - The collection was modified after the enumerator was created. - - - Returns an enumerator that iterates through the . - A for the . - - - Adds an item to the . This implementation always throws . - The object to add to the . - Always thrown. - - - Removes all items from the . This implementation always throws . - Always thrown. - - - Determines whether the contains a specific value. - The object to locate in the . - - if is found in the ; otherwise, . - - - Removes the first occurrence of a specific object from the . This implementation always throws . - The object to remove from the . - - if was successfully removed from the ; otherwise, . This method also returns if was not found in the original . - Always thrown. - - - Returns an enumerator that iterates through a collection. - An that can be used to iterate through the collection. - - - Copies the elements of the to an , starting at a particular index. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- - does not have zero-based indexing.-or-The number of elements in the source is greater than the available space from to the end of the destination .-or-The type of the source cannot be cast automatically to the type of the destination . - - - Returns an enumerator that iterates through a collection. - An that can be used to iterate through the collection. - - - Initializes a new instance of the class. - - - When overridden in a derived class, determines whether two objects of type are equal. - The first object to compare. - The second object to compare. - - if the specified objects are equal; otherwise, . - - - When overridden in a derived class, serves as a hash function for the specified object for hashing algorithms and data structures, such as a hash table. - The object for which to get a hash code. - A hash code for the specified object. - The type of is a reference type and is . - - - Determines whether the specified objects are equal. - The first object to compare. - The second object to compare. - - if the specified objects are equal; otherwise, . - - or is of a type that cannot be cast to type . - - - Returns a hash code for the specified object. - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is .-or- - is of a type that cannot be cast to type . - - - Adds an item to the . - The object to add to the . - The is read-only. - - - Removes all items from the . - The is read-only. - - - Determines whether the contains a specific value. - The object to locate in the . - - if is found in the ; otherwise, . - - - Copies the elements of the to an , starting at a particular index. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than 0. - The number of elements in the source is greater than the available space from to the end of the destination . - - - Removes the first occurrence of a specific object from the . - The object to remove from the . - - if was successfully removed from the ; otherwise, . This method also returns if is not found in the original . - The is read-only. - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - The first object to compare. - The second object to compare. - A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero - is less than .Zero - equals .Greater than zero - is greater than . - - - Adds an element with the provided key and value to the . - The object to use as the key of the element to add. - The object to use as the value of the element to add. - - is . - An element with the same key already exists in the . - The is read-only. - - - Determines whether the contains an element with the specified key. - The key to locate in the . - - if the contains an element with the key; otherwise, . - - is . - - - Removes the element with the specified key from the . - The key of the element to remove. - - if the element is successfully removed; otherwise, . This method also returns if was not found in the original . - - is . - The is read-only. - - - Gets the value associated with the specified key. - The key whose value to get. - When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized. - - if the object that implements contains an element with the specified key; otherwise, . - - is . - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Determines whether the specified objects are equal. - The first object of type to compare. - The second object of type to compare. - - if the specified objects are equal; otherwise, . - - - Returns a hash code for the specified object. - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is . - - - Determines the index of a specific item in the . - The object to locate in the . - The index of if found in the list; otherwise, -1. - - - Inserts an item to the at the specified index. - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - Removes the item at the specified index. - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - Determines whether the read-only dictionary contains an element that has the specified key. - The key to locate. - - if the read-only dictionary contains an element that has the specified key; otherwise, . - - - is . - - - Gets the value that is associated with the specified key. - The key to locate. - When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized. - - if the object that implements the interface contains an element that has the specified key; otherwise, . - - - is . - - - Initializes a new instance of the class using default property values. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with the specified error message. - The message that describes the error. - - - Initializes a new instance of the class with the specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the structure with the specified key and value. - The object defined in each key/value pair. - The definition associated with . - - - Returns a string representation of the , using the string representations of the key and value. - A string representation of the , which includes the string representations of the key and value. - - - Initializes a new instance of the class that is empty and has the default initial capacity. - - - Initializes a new instance of the class that contains elements copied from the specified collection and has sufficient capacity to accommodate the number of elements copied. - The collection whose elements are copied to the new list. - - is . - - - Initializes a new instance of the class that is empty and has the specified initial capacity. - The number of elements that the new list can initially store. - - is less than 0. - - - Adds an object to the end of the . - The object to be added to the end of the . The value can be for reference types. - - - Adds the elements of the specified collection to the end of the . - The collection whose elements should be added to the end of the . The collection itself cannot be , but it can contain elements that are , if type is a reference type. - - is . - - - Returns a read-only wrapper for the current collection. - An object that acts as a read-only wrapper around the current . - - - Searches the entire sorted for an element using the default comparer and returns the zero-based index of the element. - The object to locate. The value can be for reference types. - The zero-based index of in the sorted , if is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . - The default comparer cannot find an implementation of the generic interface or the interface for type . - - - Searches the entire sorted for an element using the specified comparer and returns the zero-based index of the element. - The object to locate. The value can be for reference types. - The implementation to use when comparing elements.-or- - to use the default comparer . - The zero-based index of in the sorted , if is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . - - is , and the default comparer cannot find an implementation of the generic interface or the interface for type . - - - Searches a range of elements in the sorted for an element using the specified comparer and returns the zero-based index of the element. - The zero-based starting index of the range to search. - The length of the range to search. - The object to locate. The value can be for reference types. - The implementation to use when comparing elements, or to use the default comparer . - The zero-based index of in the sorted , if is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . - - is less than 0.-or- - is less than 0. - - and do not denote a valid range in the . - - is , and the default comparer cannot find an implementation of the generic interface or the interface for type . - - - Removes all elements from the . - - - Determines whether an element is in the . - The object to locate in the . The value can be for reference types. - - if is found in the ; otherwise, . - - - Converts the elements in the current to another type, and returns a list containing the converted elements. - A delegate that converts each element from one type to another type. - The type of the elements of the target array. - A of the target type containing the converted elements from the current . - - is . - - - Copies the entire to a compatible one-dimensional array, starting at the beginning of the target array. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - - is . - The number of elements in the source is greater than the number of elements that the destination can contain. - - - Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than 0. - The number of elements in the source is greater than the available space from to the end of the destination . - - - Copies a range of elements from the to a compatible one-dimensional array, starting at the specified index of the target array. - The zero-based index in the source at which copying begins. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - The number of elements to copy. - - is . - - is less than 0.-or- - is less than 0.-or- - is less than 0. - - is equal to or greater than the of the source .-or-The number of elements from to the end of the source is greater than the available space from to the end of the destination . - - - Releases all resources used by the . - - - Advances the enumerator to the next element of the . - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. - The collection was modified after the enumerator was created. - - - Sets the enumerator to its initial position, which is before the first element in the collection. - The collection was modified after the enumerator was created. - - - Determines whether the contains elements that match the conditions defined by the specified predicate. - The delegate that defines the conditions of the elements to search for. - - if the contains one or more elements that match the conditions defined by the specified predicate; otherwise, . - - is . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire . - The delegate that defines the conditions of the element to search for. - The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . - - is . - - - Retrieves all the elements that match the conditions defined by the specified predicate. - The delegate that defines the conditions of the elements to search for. - A containing all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty . - - is . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. - The zero-based starting index of the search. - The number of elements in the section to search. - The delegate that defines the conditions of the element to search for. - The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - - is . - - is outside the range of valid indexes for the .-or- - is less than 0.-or- - and do not specify a valid section in the . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the that extends from the specified index to the last element. - The zero-based starting index of the search. - The delegate that defines the conditions of the element to search for. - The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - - is . - - is outside the range of valid indexes for the . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire . - The delegate that defines the conditions of the element to search for. - The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - - is . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire . - The delegate that defines the conditions of the element to search for. - The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . - - is . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the that contains the specified number of elements and ends at the specified index. - The zero-based starting index of the backward search. - The number of elements in the section to search. - The delegate that defines the conditions of the element to search for. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - - is . - - is outside the range of valid indexes for the .-or- - is less than 0.-or- - and do not specify a valid section in the . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the that extends from the first element to the specified index. - The zero-based starting index of the backward search. - The delegate that defines the conditions of the element to search for. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - - is . - - is outside the range of valid indexes for the . - - - Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire . - The delegate that defines the conditions of the element to search for. - The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. - - is . - - - Performs the specified action on each element of the . - The delegate to perform on each element of the . - - is . - An element in the collection has been modified. This exception is thrown starting with the .NET Framework 4.5. - - - Returns an enumerator that iterates through the . - A for the . - - - Creates a shallow copy of a range of elements in the source . - The zero-based index at which the range starts. - The number of elements in the range. - A shallow copy of a range of elements in the source . - - is less than 0.-or- - is less than 0. - - and do not denote a valid range of elements in the . - - - Searches for the specified object and returns the zero-based index of the first occurrence within the entire . - The object to locate in the . The value can be for reference types. - The zero-based index of the first occurrence of within the entire , if found; otherwise, –1. - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the that extends from the specified index to the last element. - The object to locate in the . The value can be for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The zero-based index of the first occurrence of within the range of elements in the that extends from to the last element, if found; otherwise, –1. - - is outside the range of valid indexes for the . - - - Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. - The object to locate in the . The value can be for reference types. - The zero-based starting index of the search. 0 (zero) is valid in an empty list. - The number of elements in the section to search. - The zero-based index of the first occurrence of within the range of elements in the that starts at and contains number of elements, if found; otherwise, –1. - - is outside the range of valid indexes for the .-or- - is less than 0.-or- - and do not specify a valid section in the . - - - Inserts an element into the at the specified index. - The zero-based index at which should be inserted. - The object to insert. The value can be for reference types. - - is less than 0.-or- - is greater than . - - - Inserts the elements of a collection into the at the specified index. - The zero-based index at which the new elements should be inserted. - The collection whose elements should be inserted into the . The collection itself cannot be , but it can contain elements that are , if type is a reference type. - - is . - - is less than 0.-or- - is greater than . - - - Searches for the specified object and returns the zero-based index of the last occurrence within the entire . - The object to locate in the . The value can be for reference types. - The zero-based index of the last occurrence of within the entire the , if found; otherwise, –1. - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the that extends from the first element to the specified index. - The object to locate in the . The value can be for reference types. - The zero-based starting index of the backward search. - The zero-based index of the last occurrence of within the range of elements in the that extends from the first element to , if found; otherwise, –1. - - is outside the range of valid indexes for the . - - - Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the that contains the specified number of elements and ends at the specified index. - The object to locate in the . The value can be for reference types. - The zero-based starting index of the backward search. - The number of elements in the section to search. - The zero-based index of the last occurrence of within the range of elements in the that contains number of elements and ends at , if found; otherwise, –1. - - is outside the range of valid indexes for the .-or- - is less than 0.-or- - and do not specify a valid section in the . - - - Removes the first occurrence of a specific object from the . - The object to remove from the . The value can be for reference types. - - if is successfully removed; otherwise, . This method also returns if was not found in the . - - - Removes all the elements that match the conditions defined by the specified predicate. - The delegate that defines the conditions of the elements to remove. - The number of elements removed from the . - - is . - - - Removes the element at the specified index of the . - The zero-based index of the element to remove. - - is less than 0.-or- - is equal to or greater than . - - - Removes a range of elements from the . - The zero-based starting index of the range of elements to remove. - The number of elements to remove. - - is less than 0.-or- - is less than 0. - - and do not denote a valid range of elements in the . - - - Reverses the order of the elements in the entire . - - - Reverses the order of the elements in the specified range. - The zero-based starting index of the range to reverse. - The number of elements in the range to reverse. - - is less than 0.-or- - is less than 0. - - and do not denote a valid range of elements in the . - - - Sorts the elements in the entire using the default comparer. - The default comparer cannot find an implementation of the generic interface or the interface for type . - - - Sorts the elements in the entire using the specified comparer. - The implementation to use when comparing elements, or to use the default comparer . - - is , and the default comparer cannot find implementation of the generic interface or the interface for type . - The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. - - - Sorts the elements in the entire using the specified . - The to use when comparing elements. - - is . - The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. - - - Sorts the elements in a range of elements in using the specified comparer. - The zero-based starting index of the range to sort. - The length of the range to sort. - The implementation to use when comparing elements, or to use the default comparer . - - is less than 0.-or- - is less than 0. - - and do not specify a valid range in the .-or-The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. - - is , and the default comparer cannot find implementation of the generic interface or the interface for type . - - - Returns an enumerator that iterates through a collection. - An that can be used to iterate through the collection. - - - Copies the elements of the to an , starting at a particular index. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than 0. - - is multidimensional.-or- - does not have zero-based indexing.-or-The number of elements in the source is greater than the available space from to the end of the destination .-or-The type of the source cannot be cast automatically to the type of the destination . - - - Returns an enumerator that iterates through a collection. - An that can be used to iterate through the collection. - - - Adds an item to the . - The to add to the . - The position into which the new element was inserted. - - is of a type that is not assignable to the . - - - Determines whether the contains a specific value. - The to locate in the . - - if is found in the ; otherwise, . - - - Determines the index of a specific item in the . - The object to locate in the . - The index of if found in the list; otherwise, –1. - - is of a type that is not assignable to the . - - - Inserts an item to the at the specified index. - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - - is of a type that is not assignable to the . - - - Removes the first occurrence of a specific object from the . - The object to remove from the . - - is of a type that is not assignable to the . - - - Copies the elements of the to a new array. - An array containing copies of the elements of the . - - - Sets the capacity to the actual number of elements in the , if that number is less than a threshold value. - - - Determines whether every element in the matches the conditions defined by the specified predicate. - The delegate that defines the conditions to check against the elements. - - if every element in the matches the conditions defined by the specified predicate; otherwise, . If the list has no elements, the return value is . - - is . - - - Initializes a new, empty instance of the class using the default initial capacity, load factor, hash code provider, and comparer. - - - Initializes a new instance of the class by copying the elements from the specified dictionary to the new object. The new object has an initial capacity equal to the number of elements copied, and uses the default load factor, hash code provider, and comparer. - The object to copy to a new object. - - is . - - - Initializes a new instance of the class by copying the elements from the specified dictionary to a new object. The new object has an initial capacity equal to the number of elements copied, and uses the default load factor and the specified object. - The object to copy to a new object. - The object that defines the hash code provider and the comparer to use with the .-or- - to use the default hash code provider and the default comparer. The default hash code provider is each key's implementation of and the default comparer is each key's implementation of . - - is . - - - Initializes a new instance of the class by copying the elements from the specified dictionary to the new object. The new object has an initial capacity equal to the number of elements copied, and uses the default load factor, and the specified hash code provider and comparer. This API is obsolete. For an alternative, see . - The object to copy to a new object. - The object that supplies the hash codes for all keys in the .-or- - to use the default hash code provider, which is each key's implementation of . - The object to use to determine whether two keys are equal.-or- - to use the default comparer, which is each key's implementation of . - - is . - - - Initializes a new instance of the class by copying the elements from the specified dictionary to the new object. The new object has an initial capacity equal to the number of elements copied, and uses the specified load factor, and the default hash code provider and comparer. - The object to copy to a new object. - A number in the range from 0.1 through 1.0 that is multiplied by the default value which provides the best performance. The result is the maximum ratio of elements to buckets. - - is . - - is less than 0.1.-or- - is greater than 1.0. - - - Initializes a new instance of the class by copying the elements from the specified dictionary to the new object. The new object has an initial capacity equal to the number of elements copied, and uses the specified load factor and object. - The object to copy to a new object. - A number in the range from 0.1 through 1.0 that is multiplied by the default value which provides the best performance. The result is the maximum ratio of elements to buckets. - The object that defines the hash code provider and the comparer to use with the .-or- - to use the default hash code provider and the default comparer. The default hash code provider is each key's implementation of and the default comparer is each key's implementation of . - - is . - - is less than 0.1.-or- - is greater than 1.0. - - - Initializes a new instance of the class by copying the elements from the specified dictionary to the new object. The new object has an initial capacity equal to the number of elements copied, and uses the specified load factor, hash code provider, and comparer. - The object to copy to a new object. - A number in the range from 0.1 through 1.0 that is multiplied by the default value which provides the best performance. The result is the maximum ratio of elements to buckets. - The object that supplies the hash codes for all keys in the .-or- - to use the default hash code provider, which is each key's implementation of . - The object to use to determine whether two keys are equal.-or- - to use the default comparer, which is each key's implementation of . - - is . - - is less than 0.1.-or- - is greater than 1.0. - - - Initializes a new, empty instance of the class using the default initial capacity and load factor, and the specified object. - The object that defines the hash code provider and the comparer to use with the object.-or- - to use the default hash code provider and the default comparer. The default hash code provider is each key's implementation of and the default comparer is each key's implementation of . - - - Initializes a new, empty instance of the class using the default initial capacity and load factor, and the specified hash code provider and comparer. - The object that supplies the hash codes for all keys in the object.-or- - to use the default hash code provider, which is each key's implementation of . - The object to use to determine whether two keys are equal.-or- - to use the default comparer, which is each key's implementation of . - - - Initializes a new, empty instance of the class using the specified initial capacity, and the default load factor, hash code provider, and comparer. - The approximate number of elements that the object can initially contain. - - is less than zero. - - - Initializes a new, empty instance of the class using the specified initial capacity and , and the default load factor. - The approximate number of elements that the object can initially contain. - The object that defines the hash code provider and the comparer to use with the .-or- - to use the default hash code provider and the default comparer. The default hash code provider is each key's implementation of and the default comparer is each key's implementation of . - - is less than zero. - - - Initializes a new, empty instance of the class using the specified initial capacity, hash code provider, comparer, and the default load factor. - The approximate number of elements that the object can initially contain. - The object that supplies the hash codes for all keys in the .-or- - to use the default hash code provider, which is each key's implementation of . - The object to use to determine whether two keys are equal.-or- - to use the default comparer, which is each key's implementation of . - - is less than zero. - - - Initializes a new, empty instance of the class using the specified initial capacity and load factor, and the default hash code provider and comparer. - The approximate number of elements that the object can initially contain. - A number in the range from 0.1 through 1.0 that is multiplied by the default value which provides the best performance. The result is the maximum ratio of elements to buckets. - - is less than zero.-or- - is less than 0.1.-or- - is greater than 1.0. - - is causing an overflow. - - - Initializes a new, empty instance of the class using the specified initial capacity, load factor, and object. - The approximate number of elements that the object can initially contain. - A number in the range from 0.1 through 1.0 that is multiplied by the default value which provides the best performance. The result is the maximum ratio of elements to buckets. - The object that defines the hash code provider and the comparer to use with the .-or- - to use the default hash code provider and the default comparer. The default hash code provider is each key's implementation of and the default comparer is each key's implementation of . - - is less than zero.-or- - is less than 0.1.-or- - is greater than 1.0. - - - Initializes a new, empty instance of the class using the specified initial capacity, load factor, hash code provider, and comparer. - The approximate number of elements that the object can initially contain. - A number in the range from 0.1 through 1.0 that is multiplied by the default value which provides the best performance. The result is the maximum ratio of elements to buckets. - The object that supplies the hash codes for all keys in the .-or- - to use the default hash code provider, which is each key's implementation of . - The object to use to determine whether two keys are equal.-or- - to use the default comparer, which is each key's implementation of . - - is less than zero.-or- - is less than 0.1.-or- - is greater than 1.0. - - - Initializes a new, empty instance of the class that is serializable using the specified and objects. - A object containing the information required to serialize the object. - A object containing the source and destination of the serialized stream associated with the . - - is . - - - Adds an element with the specified key and value into the . - The key of the element to add. - The value of the element to add. The value can be . - - is . - An element with the same key already exists in the . - The is read-only.-or- The has a fixed size. - - - Removes all elements from the . - The is read-only. - - - Creates a shallow copy of the . - A shallow copy of the . - - - Determines whether the contains a specific key. - The key to locate in the . - - if the contains an element with the specified key; otherwise, . - - is . - - - Determines whether the contains a specific key. - The key to locate in the . - - if the contains an element with the specified key; otherwise, . - - is . - - - Determines whether the contains a specific value. - The value to locate in the . The value can be . - - if the contains an element with the specified ; otherwise, . - - - Copies the elements to a one-dimensional instance at the specified index. - The one-dimensional that is the destination of the objects copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - Returns an that iterates through the . - An for the . - - - Returns the hash code for the specified key. - The for which a hash code is to be returned. - The hash code for . - - is . - - - Implements the interface and returns the data needed to serialize the . - A object containing the information required to serialize the . - A object containing the source and destination of the serialized stream associated with the . - - is . - The collection was modified. - - - Compares a specific with a specific key in the . - The to compare with . - The key in the to compare with . - - if and are equal; otherwise, . - - is .-or- - is . - - - Implements the interface and raises the deserialization event when the deserialization is complete. - The source of the deserialization event. - The object associated with the current is invalid. - - - Removes the element with the specified key from the . - The key of the element to remove. - - is . - The is read-only.-or- The has a fixed size. - - - Returns a synchronized (thread-safe) wrapper for the . - The to synchronize. - A synchronized (thread-safe) wrapper for the . - - is . - - - Returns an enumerator that iterates through a collection. - An that can be used to iterate through the collection. - - - Copies the elements of the to an , starting at a particular index. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- The number of elements in the source is greater than the available space from to the end of the destination .-or-The type of the source cannot be cast automatically to the type of the destination . - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - The first object to compare. - The second object to compare. - A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero - is less than . Zero - equals . Greater than zero - is greater than . - Neither nor implements the interface.-or- - and are of different types and neither one can handle comparisons with the other. - - - Adds an element with the provided key and value to the object. - The to use as the key of the element to add. - The to use as the value of the element to add. - - is . - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - Removes all elements from the object. - The object is read-only. - - - Determines whether the object contains an element with the specified key. - The key to locate in the object. - - if the contains an element with the key; otherwise, . - - is . - - - Returns an object for the object. - An object for the object. - - - Removes the element with the specified key from the object. - The key of the element to remove. - - is . - The object is read-only.-or- The has a fixed size. - - - Returns an enumerator that iterates through a collection. - An object that can be used to iterate through the collection. - - - Advances the enumerator to the next element of the collection. - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. - The collection was modified after the enumerator was created. - - - Sets the enumerator to its initial position, which is before the first element in the collection. - The collection was modified after the enumerator was created. - - - Determines whether the specified objects are equal. - The first object to compare. - The second object to compare. - - if the specified objects are equal; otherwise, . - - and are of different types and neither one can handle comparisons with the other. - - - Returns a hash code for the specified object. - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is . - - - Returns a hash code for the specified object. - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is . - - - Adds an item to the . - The object to add to the . - The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. - The is read-only.-or- The has a fixed size. - - - Removes all items from the . - The is read-only. - - - Determines whether the contains a specific value. - The object to locate in the . - - if the is found in the ; otherwise, . - - - Determines the index of a specific item in the . - The object to locate in the . - The index of if found in the list; otherwise, -1. - - - Inserts an item to the at the specified index. - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only.-or- The has a fixed size. - - is null reference in the . - - - Removes the first occurrence of a specific object from the . - The object to remove from the . - The is read-only.-or- The has a fixed size. - - - Removes the item at the specified index. - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only.-or- The has a fixed size. - - - Determines whether the current collection object precedes, occurs in the same position as, or follows another object in the sort order. - The object to compare with the current instance. - An object that compares members of the current collection object with the corresponding members of . - An integer that indicates the relationship of the current collection object to , as shown in the following table.Return valueDescription-1The current instance precedes .0The current instance and are equal.1The current instance follows . - This instance and are not the same type. - - - Determines whether an object is structurally equal to the current instance. - The object to compare with the current instance. - An object that determines whether the current instance and are equal. - - if the two objects are equal; otherwise, . - - - Returns a hash code for the current instance. - An object that computes the hash code of the current object. - The hash code for the current instance. - - - Initializes a new instance of the class that is empty. - - - Initializes a new instance of the class as a wrapper for the specified list. - The list that is wrapped by the new collection. - - is . - - - Adds an object to the end of the . - The object to be added to the end of the . The value can be for reference types. - - - Removes all elements from the . - - - Removes all elements from the . - - - Determines whether an element is in the . - The object to locate in the . The value can be for reference types. - - if is found in the ; otherwise, . - - - Copies the entire to a compatible one-dimensional , starting at the specified index of the target array. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - The number of elements in the source is greater than the available space from to the end of the destination . - - - Returns an enumerator that iterates through the . - An for the . - - - Searches for the specified object and returns the zero-based index of the first occurrence within the entire . - The object to locate in the . The value can be for reference types. - The zero-based index of the first occurrence of within the entire , if found; otherwise, -1. - - - Inserts an element into the at the specified index. - The zero-based index at which should be inserted. - The object to insert. The value can be for reference types. - - is less than zero.-or- - is greater than . - - - Inserts an element into the at the specified index. - The zero-based index at which should be inserted. - The object to insert. The value can be for reference types. - - is less than zero.-or- - is greater than . - - - Removes the first occurrence of a specific object from the . - The object to remove from the . The value can be for reference types. - - if is successfully removed; otherwise, . This method also returns if was not found in the original . - - - Removes the element at the specified index of the . - The zero-based index of the element to remove. - - is less than zero.-or- - is equal to or greater than . - - - Removes the element at the specified index of the . - The zero-based index of the element to remove. - - is less than zero.-or- - is equal to or greater than . - - - Replaces the element at the specified index. - The zero-based index of the element to replace. - The new value for the element at the specified index. The value can be for reference types. - - is less than zero.-or- - is greater than . - - - Copies the elements of the to an , starting at a particular index. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- - does not have zero-based indexing.-or-The number of elements in the source is greater than the available space from to the end of the destination .-or-The type of the source cannot be cast automatically to the type of the destination . - - - Returns an enumerator that iterates through a collection. - An that can be used to iterate through the collection. - - - Adds an item to the . - The to add to the . - The position into which the new element was inserted. - - is of a type that is not assignable to the . - - - Determines whether the contains a specific value. - The to locate in the . - - if the is found in the ; otherwise, . - - is of a type that is not assignable to the . - - - Determines the index of a specific item in the . - The to locate in the . - The index of if found in the list; otherwise, -1. - - is of a type that is not assignable to the . - - - Inserts an item into the at the specified index. - The zero-based index at which should be inserted. - The to insert into the . - - is not a valid index in the . - - is of a type that is not assignable to the . - - - Removes the first occurrence of a specific object from the . - The to remove from the . - - is of a type that is not assignable to the . - - - Initializes a new instance of the class that uses the default equality comparer. - - - Initializes a new instance of the class that uses the specified equality comparer. - The implementation of the generic interface to use when comparing keys, or to use the default equality comparer for the type of the key, obtained from . - - - Initializes a new instance of the class that uses the specified equality comparer and creates a lookup dictionary when the specified threshold is exceeded. - The implementation of the generic interface to use when comparing keys, or to use the default equality comparer for the type of the key, obtained from . - The number of elements the collection can hold without creating a lookup dictionary (0 creates the lookup dictionary when the first item is added), or –1 to specify that a lookup dictionary is never created. - - is less than –1. - - - Changes the key associated with the specified element in the lookup dictionary. - The element to change the key of. - The new key for . - - is .-or- - is . - - is not found.-or- - already exists in the . - - - Removes all elements from the . - - - Determines whether the collection contains an element with the specified key. - The key to locate in the . - - if the contains an element with the specified key; otherwise, . - - is . - - - When implemented in a derived class, extracts the key from the specified element. - The element from which to extract the key. - The key for the specified element. - - - Inserts an element into the at the specified index. - The zero-based index at which should be inserted. - The object to insert. - - is less than 0.-or- - is greater than . - - - Removes the element with the specified key from the . - The key of the element to remove. - - if the element is successfully removed; otherwise, . This method also returns if is not found in the . - - is . - - - Removes the element at the specified index of the . - The index of the element to remove. - - - Replaces the item at the specified index with the specified item. - The zero-based index of the item to be replaced. - The new item. - - - Initializes a new instance of the class that is a read-only wrapper around the specified list. - The list to wrap. - - is . - - - Determines whether an element is in the . - The object to locate in the . The value can be for reference types. - - if is found in the ; otherwise, . - - - Copies the entire to a compatible one-dimensional , starting at the specified index of the target array. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - The number of elements in the source is greater than the available space from to the end of the destination . - - - Returns an enumerator that iterates through the . - An for the . - - - Searches for the specified object and returns the zero-based index of the first occurrence within the entire . - The object to locate in the . The value can be for reference types. - The zero-based index of the first occurrence of within the entire , if found; otherwise, -1. - - - Adds an item to the . This implementation always throws . - The object to add to the . - Always thrown. - - - Removes all items from the . This implementation always throws . - Always thrown. - - - Removes the first occurrence of a specific object from the . This implementation always throws . - The object to remove from the . - - if was successfully removed from the ; otherwise, . - Always thrown. - - - Inserts an item to the at the specified index. This implementation always throws . - The zero-based index at which should be inserted. - The object to insert into the . - Always thrown. - - - Removes the item at the specified index. This implementation always throws . - The zero-based index of the item to remove. - Always thrown. - - - Copies the elements of the to an , starting at a particular index. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- - does not have zero-based indexing.-or-The number of elements in the source is greater than the available space from to the end of the destination .-or-The type of the source cannot be cast automatically to the type of the destination . - - - Returns an enumerator that iterates through a collection. - An that can be used to iterate through the collection. - - - Adds an item to the . This implementation always throws . - The to add to the . - The position into which the new element was inserted. - Always thrown. - - - Removes all items from the . This implementation always throws . - Always thrown. - - - Determines whether the contains a specific value. - The to locate in the . - - if the is found in the ; otherwise, . - - is not of the type specified for the generic type parameter . - - - Determines the index of a specific item in the . - The to locate in the . - The index of if found in the list; otherwise, -1. - - is not of the type specified for the generic type parameter . - - - Inserts an item to the at the specified index. This implementation always throws . - The zero-based index at which should be inserted. - The to insert into the . - Always thrown. - - - Removes the first occurrence of a specific object from the . This implementation always throws . - The to remove from the . - Always thrown. - - - Removes the item at the specified index. This implementation always throws . - The zero-based index of the item to remove. - Always thrown. - - - Initializes a new instance of the class that is a wrapper around the specified dictionary. - The dictionary to wrap. - - - Determines whether the dictionary contains an element that has the specified key. - The key to locate in the dictionary. - - if the dictionary contains an element that has the specified key; otherwise, . - - - Returns an enumerator that iterates through the . - An enumerator that can be used to iterate through the collection. - - - Copies the elements of the collection to an array, starting at a specific array index. - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than 0. - - is multidimensional.-or-The number of elements in the source collection is greater than the available space from to the end of the destination .-or-Type cannot be cast automatically to the type of the destination . - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Throws a exception in all cases. - The object to add to the collection. - In all cases. - - - Throws a exception in all cases. - In all cases. - - - Determines whether the collection contains a specific value. - The object to locate in the collection. - - if is found in the collection; otherwise, . - - - Throws a exception in all cases. - The object to remove from the collection. - - if was successfully removed from the collection; otherwise, . This method also returns if is not found in the original collection. - In all cases. - - - Copies the elements of the collection to an array, starting at a specific array index. - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than 0. - - is multidimensional.-or-The number of elements in the source collection is greater than the available space from to the end of the destination . - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Throws a exception in all cases. - The object to add to the dictionary. - In all cases. - - - Throws a exception in all cases. - In all cases. - - - Determines whether the dictionary contains a specific value. - The object to locate in the dictionary. - - if is found in the dictionary; otherwise, . - - - Copies the elements of the dictionary to an array, starting at the specified array index. - The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than 0. - - is multidimensional.-or-The number of elements in the source dictionary is greater than the available space from to the end of the destination .-or-Type cannot be cast automatically to the type of the destination . - - - Throws a exception in all cases. - The object to remove from the dictionary. - Throws a exception in all cases. - In all cases. - - - Throws a exception in all cases. - The object to use as the key of the element to add. - The object to use as the value of the element to add. - In all cases. - - - Throws a exception in all cases. - The key of the element to remove. - Throws a exception in all cases. - In all cases. - - - Copies the elements of the dictionary to an array, starting at the specified array index. - The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- The number of elements in the source dictionary is greater than the available space from to the end of the destination .-or- The type of the source dictionary cannot be cast automatically to the type of the destination - - - Throws a exception in all cases. - The key of the element to add. - The value of the element to add. - In all cases. - - - Throws a exception in all cases. - In all cases. - - - Determines whether the dictionary contains an element that has the specified key. - The key to locate in the dictionary. - - if the dictionary contains an element that has the specified key; otherwise, . - - is . - - - Returns an enumerator for the dictionary. - An enumerator for the dictionary. - - - Throws a exception in all cases. - The key of the element to remove. - In all cases. - - - Returns an enumerator that iterates through a collection. - An enumerator that can be used to iterate through the collection. - - - Retrieves the value that is associated with the specified key. - The key whose value will be retrieved. - When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized. - - if the object that implements contains an element with the specified key; otherwise, . - - - Copies the elements of the collection to an array, starting at a specific array index. - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than 0. - - is multidimensional.-or-The number of elements in the source collection is greater than the available space from to the end of the destination .-or-Type cannot be cast automatically to the type of the destination . - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Throws a exception in all cases. - The object to add to the collection. - In all cases. - - - Throws a exception in all cases. - In all cases. - - - Determines whether the collection contains a specific value. - The object to locate in the collection. - - if is found in the collection; otherwise, . - - - Throws a exception in all cases. - The object to remove from the collection. - - if was successfully removed from the collection; otherwise, . This method also returns if item is not found in the original collection. - In all cases. - - - Copies the elements of the collection to an array, starting at a specific array index. - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than 0. - - is multidimensional.-or-The number of elements in the source collection is greater than the available space from to the end of the destination . - - - Returns an enumerator that iterates through the collection. - An enumerator that can be used to iterate through the collection. - - - Initializes a new instance of the class that is empty, has the default initial capacity, and uses the default growth factor. - - - Initializes a new instance of the class that contains elements copied from the specified collection, has the same initial capacity as the number of elements copied, and uses the default growth factor. - The to copy elements from. - - is . - - - Initializes a new instance of the class that is empty, has the specified initial capacity, and uses the default growth factor. - The initial number of elements that the can contain. - - is less than zero. - - - Initializes a new instance of the class that is empty, has the specified initial capacity, and uses the specified growth factor. - The initial number of elements that the can contain. - The factor by which the capacity of the is expanded. - - is less than zero.-or- - is less than 1.0 or greater than 10.0. - - - Removes all objects from the . - - - Creates a shallow copy of the . - A shallow copy of the . - - - Determines whether an element is in the . - The to locate in the . The value can be . - - if is found in the ; otherwise, . - - - Copies the elements to an existing one-dimensional , starting at the specified array index. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - Removes and returns the object at the beginning of the . - The object that is removed from the beginning of the . - The is empty. - - - Adds an object to the end of the . - The object to add to the . The value can be . - - - Returns an enumerator that iterates through the . - An for the . - - - Returns the object at the beginning of the without removing it. - The object at the beginning of the . - The is empty. - - - Returns a new that wraps the original queue, and is thread safe. - The to synchronize. - A wrapper that is synchronized (thread safe). - - is . - - - Copies the elements to a new array. - A new array containing elements copied from the . - - - Sets the capacity to the actual number of elements in the . - The is read-only. - - - Initializes a new instance of the class. - - - Returns an enumerator that iterates through the instance. - An for the instance. - - - Copies the entire to a compatible one-dimensional , starting at the specified index of the target array. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - Initializes a new instance of the class that is empty, has the default initial capacity, and is sorted according to the interface implemented by each key added to the object. - - - Initializes a new instance of the class that is empty, has the default initial capacity, and is sorted according to the specified interface. - The implementation to use when comparing keys.-or- - to use the implementation of each key. - - - Initializes a new instance of the class that is empty, has the specified initial capacity, and is sorted according to the specified interface. - The implementation to use when comparing keys.-or- - to use the implementation of each key. - The initial number of elements that the object can contain. - - is less than zero. - There is not enough available memory to create a object with the specified . - - - Initializes a new instance of the class that contains elements copied from the specified dictionary, has the same initial capacity as the number of elements copied, and is sorted according to the interface implemented by each key. - The implementation to copy to a new object. - - is . - One or more elements in do not implement the interface. - - - Initializes a new instance of the class that contains elements copied from the specified dictionary, has the same initial capacity as the number of elements copied, and is sorted according to the specified interface. - The implementation to copy to a new object. - The implementation to use when comparing keys.-or- - to use the implementation of each key. - - is . - - is , and one or more elements in do not implement the interface. - - - Initializes a new instance of the class that is empty, has the specified initial capacity, and is sorted according to the interface implemented by each key added to the object. - The initial number of elements that the object can contain. - - is less than zero. - There is not enough available memory to create a object with the specified . - - - Adds an element with the specified key and value to a object. - The key of the element to add. - The value of the element to add. The value can be . - - is . - An element with the specified already exists in the object.-or- The is set to use the interface, and does not implement the interface. - The is read-only.-or- The has a fixed size. - There is not enough available memory to add the element to the . - The comparer throws an exception. - - - Removes all elements from a object. - The object is read-only.-or- The has a fixed size. - - - Creates a shallow copy of a object. - A shallow copy of the object. - - - Determines whether a object contains a specific key. - The key to locate in the object. - - if the object contains an element with the specified ; otherwise, . - - is . - The comparer throws an exception. - - - Determines whether a object contains a specific key. - The key to locate in the object. - - if the object contains an element with the specified ; otherwise, . - - is . - The comparer throws an exception. - - - Determines whether a object contains a specific value. - The value to locate in the object. The value can be . - - if the object contains an element with the specified ; otherwise, . - - - Copies elements to a one-dimensional object, starting at the specified index in the array. - The one-dimensional object that is the destination of the objects copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- The number of elements in the source object is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - Gets the value at the specified index of a object. - The zero-based index of the value to get. - The value at the specified index of the object. - - is outside the range of valid indexes for the object. - - - Returns an object that iterates through a object. - An object for the object. - - - Gets the key at the specified index of a object. - The zero-based index of the key to get. - The key at the specified index of the object. - - is outside the range of valid indexes for the object. - - - Gets the keys in a object. - An object containing the keys in the object. - - - Gets the values in a object. - An object containing the values in the object. - - - Returns the zero-based index of the specified key in a object. - The key to locate in the object. - The zero-based index of the parameter, if is found in the object; otherwise, -1. - - is . - The comparer throws an exception. - - - Returns the zero-based index of the first occurrence of the specified value in a object. - The value to locate in the object. The value can be . - The zero-based index of the first occurrence of the parameter, if is found in the object; otherwise, -1. - - - Removes the element with the specified key from a object. - The key of the element to remove. - - is . - The object is read-only.-or- The has a fixed size. - - - Removes the element at the specified index of a object. - The zero-based index of the element to remove. - - is outside the range of valid indexes for the object. - The is read-only.-or- The has a fixed size. - - - Replaces the value at a specific index in a object. - The zero-based index at which to save . - The to save into the object. The value can be . - - is outside the range of valid indexes for the object. - - - Returns a synchronized (thread-safe) wrapper for a object. - The object to synchronize. - A synchronized (thread-safe) wrapper for the object. - - is . - - - Returns an that iterates through the . - An for the . - - - Sets the capacity to the actual number of elements in a object. - The object is read-only.-or- The has a fixed size. - - - Initializes a new instance of the class that is empty and has the default initial capacity. - - - Initializes a new instance of the class that contains elements copied from the specified collection and has the same initial capacity as the number of elements copied. - The to copy elements from. - - is . - - - Initializes a new instance of the class that is empty and has the specified initial capacity or the default initial capacity, whichever is greater. - The initial number of elements that the can contain. - - is less than zero. - - - Removes all objects from the . - - - Creates a shallow copy of the . - A shallow copy of the . - - - Determines whether an element is in the . - The object to locate in the . The value can be . - - , if is found in the ; otherwise, . - - - Copies the to an existing one-dimensional , starting at the specified array index. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - Returns an for the . - An for the . - - - Returns the object at the top of the without removing it. - The at the top of the . - The is empty. - - - Removes and returns the object at the top of the . - The removed from the top of the . - The is empty. - - - Inserts an object at the top of the . - The to push onto the . The value can be . - - - Returns a synchronized (thread safe) wrapper for the . - The to synchronize. - A synchronized wrapper around the . - - is . - - - Copies the to a new array. - A new array containing copies of the elements of the . - - - Initializes a new instance of the structure with the specified hash value. The hash algorithm defaults to . - The hash value. - - - Initializes a new instance of the structure with the specified hash algorithm and the hash value. - The algorithm used to generate the hash. Values for this parameter come from the enumeration. - The hash value. - - - Clones this object. - An exact copy of this object. - - - Gets the hash value. - The hash value. - - - Sets the hash value. - The hash value. - - - Plays the sound of a beep through the console speaker. - This method was executed on a server, such as SQL Server, that does not permit access to a user interface. - - - Plays the sound of a beep of a specified frequency and duration through the console speaker. - The frequency of the beep, ranging from 37 to 32767 hertz. - The duration of the beep measured in milliseconds. - - is less than 37 or more than 32767 hertz.-or- - is less than or equal to zero. - This method was executed on a server, such as SQL Server, that does not permit access to the console. - - - Clears the console buffer and corresponding console window of display information. - An I/O error occurred. - - - Copies a specified source area of the screen buffer to a specified destination area. - The leftmost column of the source area. - The topmost row of the source area. - The number of columns in the source area. - The number of rows in the source area. - The leftmost column of the destination area. - The topmost row of the destination area. - One or more of the parameters is less than zero.-or- - or is greater than or equal to .-or- - or is greater than or equal to .-or- - + is greater than or equal to .-or- - + is greater than or equal to . - The user does not have permission to perform this action. - An I/O error occurred. - - - Copies a specified source area of the screen buffer to a specified destination area. - The leftmost column of the source area. - The topmost row of the source area. - The number of columns in the source area. - The number of rows in the source area. - The leftmost column of the destination area. - The topmost row of the destination area. - The character used to fill the source area. - The foreground color used to fill the source area. - The background color used to fill the source area. - One or more of the parameters is less than zero.-or- - or is greater than or equal to .-or- - or is greater than or equal to .-or- - + is greater than or equal to .-or- - + is greater than or equal to . - One or both of the color parameters is not a member of the enumeration. - The user does not have permission to perform this action. - An I/O error occurred. - - - Acquires the standard error stream. - The standard error stream. - - - Acquires the standard error stream, which is set to a specified buffer size. - The internal stream buffer size. - The standard error stream. - - is less than or equal to zero. - - - Acquires the standard input stream. - The standard input stream. - - - Acquires the standard input stream, which is set to a specified buffer size. - The internal stream buffer size. - The standard input stream. - - is less than or equal to zero. - - - Acquires the standard output stream. - The standard output stream. - - - Acquires the standard output stream, which is set to a specified buffer size. - The internal stream buffer size. - The standard output stream. - - is less than or equal to zero. - - - Reads the next character from the standard input stream. - The next character from the input stream, or negative one (-1) if there are currently no more characters to be read. - An I/O error occurred. - - - Obtains the next character or function key pressed by the user. The pressed key is displayed in the console window. - An object that describes the constant and Unicode character, if any, that correspond to the pressed console key. The object also describes, in a bitwise combination of values, whether one or more Shift, Alt, or Ctrl modifier keys was pressed simultaneously with the console key. - The property is redirected from some stream other than the console. - - - Obtains the next character or function key pressed by the user. The pressed key is optionally displayed in the console window. - Determines whether to display the pressed key in the console window. to not display the pressed key; otherwise, . - An object that describes the constant and Unicode character, if any, that correspond to the pressed console key. The object also describes, in a bitwise combination of values, whether one or more Shift, Alt, or Ctrl modifier keys was pressed simultaneously with the console key. - The property is redirected from some stream other than the console. - - - Reads the next line of characters from the standard input stream. - The next line of characters from the input stream, or if no more lines are available. - An I/O error occurred. - There is insufficient memory to allocate a buffer for the returned string. - The number of characters in the next line of characters is greater than . - - - Sets the foreground and background console colors to their defaults. - The user does not have permission to perform this action. - An I/O error occurred. - - - Sets the height and width of the screen buffer area to the specified values. - The width of the buffer area measured in columns. - The height of the buffer area measured in rows. - - or is less than or equal to zero.-or- - or is greater than or equal to .-or- - is less than + .-or- - is less than + . - The user does not have permission to perform this action. - An I/O error occurred. - - - Sets the position of the cursor. - The column position of the cursor. Columns are numbered from left to right starting at 0. - The row position of the cursor. Rows are numbered from top to bottom starting at 0. - - or is less than zero.-or- - is greater than or equal to .-or- - is greater than or equal to . - The user does not have permission to perform this action. - An I/O error occurred. - - - Sets the property to the specified object. - A stream that is the new standard error output. - - is . - The caller does not have the required permission. - - - Sets the property to the specified object. - A stream that is the new standard input. - - is . - The caller does not have the required permission. - - - Sets the property to the specified object. - A stream that is the new standard output. - - is . - The caller does not have the required permission. - - - Sets the position of the console window relative to the screen buffer. - The column position of the upper left corner of the console window. - The row position of the upper left corner of the console window. - - or is less than zero.-or- - + is greater than .-or- - + is greater than . - The user does not have permission to perform this action. - An I/O error occurred. - - - Sets the height and width of the console window to the specified values. - The width of the console window measured in columns. - The height of the console window measured in rows. - - or is less than or equal to zero.-or- - plus or plus is greater than or equal to . -or- - or is greater than the largest possible window width or height for the current screen resolution and console font. - The user does not have permission to perform this action. - An I/O error occurred. - - - Writes the text representation of the specified Boolean value to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the specified Unicode character value to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the specified array of Unicode characters to the standard output stream. - A Unicode character array. - An I/O error occurred. - - - Writes the specified subarray of Unicode characters to the standard output stream. - An array of Unicode characters. - The starting position in . - The number of characters to write. - - is . - - or is less than zero. - - plus specify a position that is not within . - An I/O error occurred. - - - Writes the text representation of the specified value to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the text representation of the specified double-precision floating-point value to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the text representation of the specified 32-bit signed integer value to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the text representation of the specified 64-bit signed integer value to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the text representation of the specified object to the standard output stream. - The value to write, or . - An I/O error occurred. - - - Writes the text representation of the specified single-precision floating-point value to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the specified string value to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the text representation of the specified object to the standard output stream using the specified format information. - A composite format string (see Remarks). - An object to write using . - An I/O error occurred. - - is . - The format specification in is invalid. - - - Writes the text representation of the specified objects to the standard output stream using the specified format information. - A composite format string (see Remarks). - The first object to write using . - The second object to write using . - An I/O error occurred. - - is . - The format specification in is invalid. - - - Writes the text representation of the specified objects to the standard output stream using the specified format information. - A composite format string (see Remarks). - The first object to write using . - The second object to write using . - The third object to write using . - An I/O error occurred. - - is . - The format specification in is invalid. - - - Writes the text representation of the specified objects and variable-length parameter list to the standard output stream using the specified format information. - A composite format string (see Remarks). - The first object to write using . - The second object to write using . - The third object to write using . - The fourth object to write using . - A comma-delimited list of one or more additional objects to write using . - An I/O error occurred. - - is . - The format specification in is invalid. - - - Writes the text representation of the specified array of objects to the standard output stream using the specified format information. - A composite format string (see Remarks). - An array of objects to write using . - An I/O error occurred. - - or is . - The format specification in is invalid. - - - Writes the text representation of the specified 32-bit unsigned integer value to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the text representation of the specified 64-bit unsigned integer value to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the current line terminator to the standard output stream. - An I/O error occurred. - - - Writes the text representation of the specified Boolean value, followed by the current line terminator, to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the specified Unicode character, followed by the current line terminator, value to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the specified array of Unicode characters, followed by the current line terminator, to the standard output stream. - A Unicode character array. - An I/O error occurred. - - - Writes the specified subarray of Unicode characters, followed by the current line terminator, to the standard output stream. - An array of Unicode characters. - The starting position in . - The number of characters to write. - - is . - - or is less than zero. - - plus specify a position that is not within . - An I/O error occurred. - - - Writes the text representation of the specified value, followed by the current line terminator, to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the text representation of the specified double-precision floating-point value, followed by the current line terminator, to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the text representation of the specified 32-bit signed integer value, followed by the current line terminator, to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the text representation of the specified 64-bit signed integer value, followed by the current line terminator, to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the text representation of the specified object, followed by the current line terminator, to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the text representation of the specified single-precision floating-point value, followed by the current line terminator, to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the specified string value, followed by the current line terminator, to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the text representation of the specified object, followed by the current line terminator, to the standard output stream using the specified format information. - A composite format string (see Remarks). - An object to write using . - An I/O error occurred. - - is . - The format specification in is invalid. - - - Writes the text representation of the specified objects, followed by the current line terminator, to the standard output stream using the specified format information. - A composite format string (see Remarks). - The first object to write using . - The second object to write using . - An I/O error occurred. - - is . - The format specification in is invalid. - - - Writes the text representation of the specified objects, followed by the current line terminator, to the standard output stream using the specified format information. - A composite format string (see Remarks). - The first object to write using . - The second object to write using . - The third object to write using . - An I/O error occurred. - - is . - The format specification in is invalid. - - - Writes the text representation of the specified objects and variable-length parameter list, followed by the current line terminator, to the standard output stream using the specified format information. - A composite format string (see Remarks). - The first object to write using . - The second object to write using . - The third object to write using . - The fourth object to write using . - A comma-delimited list of one or more additional objects to write using . - An I/O error occurred. - - is . - The format specification in is invalid. - - - Writes the text representation of the specified array of objects, followed by the current line terminator, to the standard output stream using the specified format information. - A composite format string (see Remarks). - An array of objects to write using . - An I/O error occurred. - - or is . - The format specification in is invalid. - - - Writes the text representation of the specified 32-bit unsigned integer value, followed by the current line terminator, to the standard output stream. - The value to write. - An I/O error occurred. - - - Writes the text representation of the specified 64-bit unsigned integer value, followed by the current line terminator, to the standard output stream. - The value to write. - An I/O error occurred. - - - Initializes a new instance of the structure using the specified character, console key, and modifier keys. - The Unicode character that corresponds to the parameter. - The console key that corresponds to the parameter. - - to indicate that a SHIFT key was pressed; otherwise, . - - to indicate that an ALT key was pressed; otherwise, . - - to indicate that a CTRL key was pressed; otherwise, . - The numeric value of the parameter is less than 0 or greater than 255. - - - Gets a value indicating whether the specified object is equal to the current object. - An object to compare to the current object. - - if is equal to the current object; otherwise, . - - - Gets a value indicating whether the specified object is equal to the current object. - An object to compare to the current object. - - if is a object and is equal to the current object; otherwise, . - - - Returns the hash code for the current object. - A 32-bit signed integer hash code. - - - Indicates whether the specified objects are equal. - The first object to compare. - The second object to compare. - - if is equal to ; otherwise, . - - - Indicates whether the specified objects are not equal. - The first object to compare. - The second object to compare. - - if is not equal to ; otherwise, . - - - Instantiates an instance of the class. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Returns an object of the specified type and whose value is equivalent to the specified object. - An object that implements the interface. - The type of object to return. - An object whose type is and whose value is equivalent to .-or-A null reference ( in Visual Basic), if is and is not a value type. - This conversion is not supported. -or- - is and is a value type.-or- - does not implement the interface. - - is not in a format recognized by . - - represents a number that is out of the range of . - - is . - - - Returns an object of the specified type whose value is equivalent to the specified object. A parameter supplies culture-specific formatting information. - An object that implements the interface. - The type of object to return. - An object that supplies culture-specific formatting information. - An object whose type is and whose value is equivalent to .-or- - , if the of and are equal.-or- A null reference ( in Visual Basic), if is and is not a value type. - This conversion is not supported. -or- - is and is a value type.-or- - does not implement the interface. - - is not in a format for recognized by . - - represents a number that is out of the range of . - - is . - - - Returns an object of the specified type whose value is equivalent to the specified object. - An object that implements the interface. - The type of object to return. - An object whose underlying type is and whose value is equivalent to .-or-A null reference ( in Visual Basic), if is and is , , or . - This conversion is not supported. -or- - is and specifies a value type.-or- - does not implement the interface. - - is not in a format recognized by the type. - - represents a number that is out of the range of the type. - - is invalid. - - - Returns an object of the specified type whose value is equivalent to the specified object. A parameter supplies culture-specific formatting information. - An object that implements the interface. - The type of object to return. - An object that supplies culture-specific formatting information. - An object whose underlying type is and whose value is equivalent to .-or- A null reference ( in Visual Basic), if is and is , , or . - This conversion is not supported. -or- - is and specifies a value type.-or- - does not implement the interface. - - is not in a format for the type recognized by . - - represents a number that is out of the range of the type. - - is invalid. - - - Converts a subset of a Unicode character array, which encodes binary data as base-64 digits, to an equivalent 8-bit unsigned integer array. Parameters specify the subset in the input array and the number of elements to convert. - A Unicode character array. - A position within . - The number of elements in to convert. - An array of 8-bit unsigned integers equivalent to elements at position in . - - is . - - or is less than 0.-or- - plus indicates a position not within . - The length of , ignoring white-space characters, is not zero or a multiple of 4. -or-The format of is invalid. contains a non-base-64 character, more than two padding characters, or a non-white-space character among the padding characters. - - - Converts the specified string, which encodes binary data as base-64 digits, to an equivalent 8-bit unsigned integer array. - The string to convert. - An array of 8-bit unsigned integers that is equivalent to . - - is . - The length of , ignoring white-space characters, is not zero or a multiple of 4. -or-The format of is invalid. contains a non-base-64 character, more than two padding characters, or a non-white space-character among the padding characters. - - - Returns the for the specified object. - An object that implements the interface. - The for , or if is . - - - Returns an indication whether the specified object is of type . - An object. - - if is of type ; otherwise, . - - - Converts a subset of an 8-bit unsigned integer array to an equivalent subset of a Unicode character array encoded with base-64 digits. Parameters specify the subsets as offsets in the input and output arrays, and the number of elements in the input array to convert. - An input array of 8-bit unsigned integers. - A position within . - The number of elements of to convert. - An output array of Unicode characters. - A position within . - A 32-bit signed integer containing the number of bytes in . - - or is . - - , , or is negative.-or- - plus is greater than the length of .-or- - plus the number of elements to return is greater than the length of . - - - Converts a subset of an 8-bit unsigned integer array to an equivalent subset of a Unicode character array encoded with base-64 digits. Parameters specify the subsets as offsets in the input and output arrays, the number of elements in the input array to convert, and whether line breaks are inserted in the output array. - An input array of 8-bit unsigned integers. - A position within . - The number of elements of to convert. - An output array of Unicode characters. - A position within . - - to insert a line break every 76 characters, or to not insert line breaks. - A 32-bit signed integer containing the number of bytes in . - - or is . - - , , or is negative.-or- - plus is greater than the length of .-or- - plus the number of elements to return is greater than the length of . - - is not a valid value. - - - Converts an array of 8-bit unsigned integers to its equivalent string representation that is encoded with base-64 digits. - An array of 8-bit unsigned integers. - The string representation, in base 64, of the contents of . - - is . - - - Converts an array of 8-bit unsigned integers to its equivalent string representation that is encoded with base-64 digits. A parameter specifies whether to insert line breaks in the return value. - An array of 8-bit unsigned integers. - - to insert a line break every 76 characters, or to not insert line breaks. - The string representation in base 64 of the elements in . - - is . - - is not a valid value. - - - Converts a subset of an array of 8-bit unsigned integers to its equivalent string representation that is encoded with base-64 digits. Parameters specify the subset as an offset in the input array, and the number of elements in the array to convert. - An array of 8-bit unsigned integers. - An offset in . - The number of elements of to convert. - The string representation in base 64 of elements of , starting at position . - - is . - - or is negative.-or- - plus is greater than the length of . - - - Converts a subset of an array of 8-bit unsigned integers to its equivalent string representation that is encoded with base-64 digits. Parameters specify the subset as an offset in the input array, the number of elements in the array to convert, and whether to insert line breaks in the return value. - An array of 8-bit unsigned integers. - An offset in . - The number of elements of to convert. - - to insert a line break every 76 characters, or to not insert line breaks. - The string representation in base 64 of elements of , starting at position . - - is . - - or is negative.-or- - plus is greater than the length of . - - is not a valid value. - - - Returns the specified Boolean value; no actual conversion is performed. - The Boolean value to return. - - is returned unchanged. - - - Converts the value of the specified 8-bit unsigned integer to an equivalent Boolean value. - The 8-bit unsigned integer to convert. - - if is not zero; otherwise, . - - - Calling this method always throws . - The Unicode character to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The date and time value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the value of the specified decimal number to an equivalent Boolean value. - The number to convert. - - if is not zero; otherwise, . - - - Converts the value of the specified double-precision floating-point number to an equivalent Boolean value. - The double-precision floating-point number to convert. - - if is not zero; otherwise, . - - - Converts the value of the specified 16-bit signed integer to an equivalent Boolean value. - The 16-bit signed integer to convert. - - if is not zero; otherwise, . - - - Converts the value of the specified 32-bit signed integer to an equivalent Boolean value. - The 32-bit signed integer to convert. - - if is not zero; otherwise, . - - - Converts the value of the specified 64-bit signed integer to an equivalent Boolean value. - The 64-bit signed integer to convert. - - if is not zero; otherwise, . - - - Converts the value of a specified object to an equivalent Boolean value. - An object that implements the interface, or . - - or , which reflects the value returned by invoking the method for the underlying type of . If is , the method returns . - - is a string that does not equal or . - - does not implement the interface.-or-The conversion of to a is not supported. - - - Converts the value of the specified object to an equivalent Boolean value, using the specified culture-specific formatting information. - An object that implements the interface, or . - An object that supplies culture-specific formatting information. - - or , which reflects the value returned by invoking the method for the underlying type of . If is , the method returns . - - is a string that does not equal or . - - does not implement the interface.-or-The conversion of to a is not supported. - - - Converts the value of the specified 8-bit signed integer to an equivalent Boolean value. - The 8-bit signed integer to convert. - - if is not zero; otherwise, . - - - Converts the value of the specified single-precision floating-point number to an equivalent Boolean value. - The single-precision floating-point number to convert. - - if is not zero; otherwise, . - - - Converts the specified string representation of a logical value to its Boolean equivalent. - A string that contains the value of either or . - - if equals , or if equals or . - - is not equal to or . - - - Converts the specified string representation of a logical value to its Boolean equivalent, using the specified culture-specific formatting information. - A string that contains the value of either or . - An object that supplies culture-specific formatting information. This parameter is ignored. - - if equals , or if equals or . - - is not equal to or . - - - Converts the value of the specified 16-bit unsigned integer to an equivalent Boolean value. - The 16-bit unsigned integer to convert. - - if is not zero; otherwise, . - - - Converts the value of the specified 32-bit unsigned integer to an equivalent Boolean value. - The 32-bit unsigned integer to convert. - - if is not zero; otherwise, . - - - Converts the value of the specified 64-bit unsigned integer to an equivalent Boolean value. - The 64-bit unsigned integer to convert. - - if is not zero; otherwise, . - - - Converts the specified Boolean value to the equivalent 8-bit unsigned integer. - The Boolean value to convert. - The number 1 if is ; otherwise, 0. - - - Returns the specified 8-bit unsigned integer; no actual conversion is performed. - The 8-bit unsigned integer to return. - - is returned unchanged. - - - Converts the value of the specified Unicode character to the equivalent 8-bit unsigned integer. - The Unicode character to convert. - An 8-bit unsigned integer that is equivalent to . - - represents a number that is greater than . - - - Calling this method always throws . - The date and time value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the value of the specified decimal number to an equivalent 8-bit unsigned integer. - The number to convert. - - , rounded to the nearest 8-bit unsigned integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Converts the value of the specified double-precision floating-point number to an equivalent 8-bit unsigned integer. - The double-precision floating-point number to convert. - - , rounded to the nearest 8-bit unsigned integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Converts the value of the specified 16-bit signed integer to an equivalent 8-bit unsigned integer. - The 16-bit signed integer to convert. - An 8-bit unsigned integer that is equivalent to . - - is less than or greater than . - - - Converts the value of the specified 32-bit signed integer to an equivalent 8-bit unsigned integer. - The 32-bit signed integer to convert. - An 8-bit unsigned integer that is equivalent to . - - is less than or greater than . - - - Converts the value of the specified 64-bit signed integer to an equivalent 8-bit unsigned integer. - The 64-bit signed integer to convert. - An 8-bit unsigned integer that is equivalent to . - - is less than or greater than . - - - Converts the value of the specified object to an 8-bit unsigned integer. - An object that implements the interface, or . - An 8-bit unsigned integer that is equivalent to , or zero if is . - - is not in the property format for a value. - - does not implement . -or-Conversion from to the type is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified object to an 8-bit unsigned integer, using the specified culture-specific formatting information. - An object that implements the interface. - An object that supplies culture-specific formatting information. - An 8-bit unsigned integer that is equivalent to , or zero if is . - - is not in the property format for a value. - - does not implement . -or-Conversion from to the type is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified 8-bit signed integer to an equivalent 8-bit unsigned integer. - The 8-bit signed integer to be converted. - An 8-bit unsigned integer that is equivalent to . - - is less than . - - - Converts the value of the specified single-precision floating-point number to an equivalent 8-bit unsigned integer. - A single-precision floating-point number. - - , rounded to the nearest 8-bit unsigned integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Converts the specified string representation of a number to an equivalent 8-bit unsigned integer. - A string that contains the number to convert. - An 8-bit unsigned integer that is equivalent to , or zero if is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the specified string representation of a number to an equivalent 8-bit unsigned integer, using specified culture-specific formatting information. - A string that contains the number to convert. - An object that supplies culture-specific formatting information. - An 8-bit unsigned integer that is equivalent to , or zero if is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the string representation of a number in a specified base to an equivalent 8-bit unsigned integer. - A string that contains the number to convert. - The base of the number in , which must be 2, 8, 10, or 16. - An 8-bit unsigned integer that is equivalent to the number in , or 0 (zero) if is . - - is not 2, 8, 10, or 16. -or- - , which represents a non-base 10 unsigned number, is prefixed with a negative sign. - - is . - - contains a character that is not a valid digit in the base specified by . The exception message indicates that there are no digits to convert if the first character in is invalid; otherwise, the message indicates that contains invalid trailing characters. - - , which represents a base 10 unsigned number, is prefixed with a negative sign.-or- - represents a number that is less than or greater than . - - - Converts the value of the specified 16-bit unsigned integer to an equivalent 8-bit unsigned integer. - The 16-bit unsigned integer to convert. - An 8-bit unsigned integer that is equivalent to . - - is greater than . - - - Converts the value of the specified 32-bit unsigned integer to an equivalent 8-bit unsigned integer. - The 32-bit unsigned integer to convert. - An 8-bit unsigned integer that is equivalent to . - - is greater than . - - - Converts the value of the specified 64-bit unsigned integer to an equivalent 8-bit unsigned integer. - The 64-bit unsigned integer to convert. - An 8-bit unsigned integer that is equivalent to . - - is greater than . - - - Calling this method always throws . - The Boolean value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the value of the specified 8-bit unsigned integer to its equivalent Unicode character. - The 8-bit unsigned integer to convert. - A Unicode character that is equivalent to . - - - Returns the specified Unicode character value; no actual conversion is performed. - The Unicode character to return. - - is returned unchanged. - - - Calling this method always throws . - The date and time value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The decimal number to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The double-precision floating-point number to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the value of the specified 16-bit signed integer to its equivalent Unicode character. - The 16-bit signed integer to convert. - A Unicode character that is equivalent to . - - is less than . - - - Converts the value of the specified 32-bit signed integer to its equivalent Unicode character. - The 32-bit signed integer to convert. - A Unicode character that is equivalent to . - - is less than or greater than . - - - Converts the value of the specified 64-bit signed integer to its equivalent Unicode character. - The 64-bit signed integer to convert. - A Unicode character that is equivalent to . - - is less than or greater than . - - - Converts the value of the specified object to a Unicode character. - An object that implements the interface. - A Unicode character that is equivalent to value, or if is . - - is a null string. - - does not implement the interface.-or-The conversion of to a is not supported. - - is less than or greater than . - - - Converts the value of the specified object to its equivalent Unicode character, using the specified culture-specific formatting information. - An object that implements the interface. - An object that supplies culture-specific formatting information. - A Unicode character that is equivalent to , or if is . - - is a null string. - - does not implement the interface. -or-The conversion of to a is not supported. - - is less than or greater than . - - - Converts the value of the specified 8-bit signed integer to its equivalent Unicode character. - The 8-bit signed integer to convert. - A Unicode character that is equivalent to . - - is less than . - - - Calling this method always throws . - The single-precision floating-point number to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the first character of a specified string to a Unicode character. - A string of length 1. - A Unicode character that is equivalent to the first and only character in . - - is . - The length of is not 1. - - - Converts the first character of a specified string to a Unicode character, using specified culture-specific formatting information. - A string of length 1 or . - An object that supplies culture-specific formatting information. This parameter is ignored. - A Unicode character that is equivalent to the first and only character in . - - is . - The length of is not 1. - - - Converts the value of the specified 16-bit unsigned integer to its equivalent Unicode character. - The 16-bit unsigned integer to convert. - A Unicode character that is equivalent to . - - - Converts the value of the specified 32-bit unsigned integer to its equivalent Unicode character. - The 32-bit unsigned integer to convert. - A Unicode character that is equivalent to . - - is greater than . - - - Converts the value of the specified 64-bit unsigned integer to its equivalent Unicode character. - The 64-bit unsigned integer to convert. - A Unicode character that is equivalent to . - - is greater than . - - - Calling this method always throws . - The Boolean value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The 8-bit unsigned integer to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The Unicode character to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Returns the specified object; no actual conversion is performed. - A date and time value. - - is returned unchanged. - - - Calling this method always throws . - The number to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The double-precision floating-point value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The 16-bit signed integer to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The 32-bit signed integer to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The 64-bit signed integer to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the value of the specified object to a object. - An object that implements the interface, or . - The date and time equivalent of the value of , or a date and time equivalent of if is . - - is not a valid date and time value. - - does not implement the interface. -or-The conversion is not supported. - - - Converts the value of the specified object to a object, using the specified culture-specific formatting information. - An object that implements the interface. - An object that supplies culture-specific formatting information. - The date and time equivalent of the value of , or the date and time equivalent of if is . - - is not a valid date and time value. - - does not implement the interface. -or-The conversion is not supported. - - - Calling this method always throws . - The 8-bit signed integer to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The single-precision floating-point value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the specified string representation of a date and time to an equivalent date and time value. - The string representation of a date and time. - The date and time equivalent of the value of , or the date and time equivalent of if is . - - is not a properly formatted date and time string. - - - Converts the specified string representation of a number to an equivalent date and time, using the specified culture-specific formatting information. - A string that contains a date and time to convert. - An object that supplies culture-specific formatting information. - The date and time equivalent of the value of , or the date and time equivalent of if is . - - is not a properly formatted date and time string. - - - Calling this method always throws . - The 16-bit unsigned integer to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The 32-bit unsigned integer to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The 64-bit unsigned integer to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the specified Boolean value to the equivalent decimal number. - The Boolean value to convert. - The number 1 if is ; otherwise, 0. - - - Converts the value of the specified 8-bit unsigned integer to the equivalent decimal number. - The 8-bit unsigned integer to convert. - The decimal number that is equivalent to . - - - Calling this method always throws . - The Unicode character to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The date and time value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Returns the specified decimal number; no actual conversion is performed. - A decimal number. - - is returned unchanged. - - - Converts the value of the specified double-precision floating-point number to an equivalent decimal number. - The double-precision floating-point number to convert. - A decimal number that is equivalent to . - - is greater than or less than . - - - Converts the value of the specified 16-bit signed integer to an equivalent decimal number. - The 16-bit signed integer to convert. - A decimal number that is equivalent to . - - - Converts the value of the specified 32-bit signed integer to an equivalent decimal number. - The 32-bit signed integer to convert. - A decimal number that is equivalent to . - - - Converts the value of the specified 64-bit signed integer to an equivalent decimal number. - The 64-bit signed integer to convert. - A decimal number that is equivalent to . - - - Converts the value of the specified object to an equivalent decimal number. - An object that implements the interface, or . - A decimal number that is equivalent to , or 0 (zero) if is . - - is not in an appropriate format for a type. - - does not implement the interface. -or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified object to an equivalent decimal number, using the specified culture-specific formatting information. - An object that implements the interface. - An object that supplies culture-specific formatting information. - A decimal number that is equivalent to , or 0 (zero) if is . - - is not in an appropriate format for a type. - - does not implement the interface.-or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified 8-bit signed integer to the equivalent decimal number. - The 8-bit signed integer to convert. - A decimal number that is equivalent to . - - - Converts the value of the specified single-precision floating-point number to the equivalent decimal number. - The single-precision floating-point number to convert. - A decimal number that is equivalent to . - - is greater than or less than . - - - Converts the specified string representation of a number to an equivalent decimal number. - A string that contains a number to convert. - A decimal number that is equivalent to the number in , or 0 (zero) if is . - - is not a number in a valid format. - - represents a number that is less than or greater than . - - - Converts the specified string representation of a number to an equivalent decimal number, using the specified culture-specific formatting information. - A string that contains a number to convert. - An object that supplies culture-specific formatting information. - A decimal number that is equivalent to the number in , or 0 (zero) if is . - - is not a number in a valid format. - - represents a number that is less than or greater than . - - - Converts the value of the specified 16-bit unsigned integer to an equivalent decimal number. - The 16-bit unsigned integer to convert. - The decimal number that is equivalent to . - - - Converts the value of the specified 32-bit unsigned integer to an equivalent decimal number. - The 32-bit unsigned integer to convert. - A decimal number that is equivalent to . - - - Converts the value of the specified 64-bit unsigned integer to an equivalent decimal number. - The 64-bit unsigned integer to convert. - A decimal number that is equivalent to . - - - Converts the specified Boolean value to the equivalent double-precision floating-point number. - The Boolean value to convert. - The number 1 if is ; otherwise, 0. - - - Converts the value of the specified 8-bit unsigned integer to the equivalent double-precision floating-point number. - The 8-bit unsigned integer to convert. - The double-precision floating-point number that is equivalent to . - - - Calling this method always throws . - The Unicode character to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The date and time value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the value of the specified decimal number to an equivalent double-precision floating-point number. - The decimal number to convert. - A double-precision floating-point number that is equivalent to . - - - Returns the specified double-precision floating-point number; no actual conversion is performed. - The double-precision floating-point number to return. - - is returned unchanged. - - - Converts the value of the specified 16-bit signed integer to an equivalent double-precision floating-point number. - The 16-bit signed integer to convert. - A double-precision floating-point number equivalent to . - - - Converts the value of the specified 32-bit signed integer to an equivalent double-precision floating-point number. - The 32-bit signed integer to convert. - A double-precision floating-point number that is equivalent to . - - - Converts the value of the specified 64-bit signed integer to an equivalent double-precision floating-point number. - The 64-bit signed integer to convert. - A double-precision floating-point number that is equivalent to . - - - Converts the value of the specified object to a double-precision floating-point number. - An object that implements the interface, or . - A double-precision floating-point number that is equivalent to , or zero if is . - - is not in an appropriate format for a type. - - does not implement the interface. -or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified object to an double-precision floating-point number, using the specified culture-specific formatting information. - An object that implements the interface. - An object that supplies culture-specific formatting information. - A double-precision floating-point number that is equivalent to , or zero if is . - - is not in an appropriate format for a type. - - does not implement the interface. - - represents a number that is less than or greater than . - - - Converts the value of the specified 8-bit signed integer to the equivalent double-precision floating-point number. - The 8-bit signed integer to convert. - The 8-bit signed integer that is equivalent to . - - - Converts the value of the specified single-precision floating-point number to an equivalent double-precision floating-point number. - The single-precision floating-point number. - A double-precision floating-point number that is equivalent to . - - - Converts the specified string representation of a number to an equivalent double-precision floating-point number. - A string that contains the number to convert. - A double-precision floating-point number that is equivalent to the number in , or 0 (zero) if is . - - is not a number in a valid format. - - represents a number that is less than or greater than . - - - Converts the specified string representation of a number to an equivalent double-precision floating-point number, using the specified culture-specific formatting information. - A string that contains the number to convert. - An object that supplies culture-specific formatting information. - A double-precision floating-point number that is equivalent to the number in , or 0 (zero) if is . - - is not a number in a valid format. - - represents a number that is less than or greater than . - - - Converts the value of the specified 16-bit unsigned integer to the equivalent double-precision floating-point number. - The 16-bit unsigned integer to convert. - A double-precision floating-point number that is equivalent to . - - - Converts the value of the specified 32-bit unsigned integer to an equivalent double-precision floating-point number. - The 32-bit unsigned integer to convert. - A double-precision floating-point number that is equivalent to . - - - Converts the value of the specified 64-bit unsigned integer to an equivalent double-precision floating-point number. - The 64-bit unsigned integer to convert. - A double-precision floating-point number that is equivalent to . - - - Converts the specified Boolean value to the equivalent 16-bit signed integer. - The Boolean value to convert. - The number 1 if is ; otherwise, 0. - - - Converts the value of the specified 8-bit unsigned integer to the equivalent 16-bit signed integer. - The 8-bit unsigned integer to convert. - A 16-bit signed integer that is equivalent to . - - - Converts the value of the specified Unicode character to the equivalent 16-bit signed integer. - The Unicode character to convert. - A 16-bit signed integer that is equivalent to . - - is greater than . - - - Calling this method always throws . - The date and time value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the value of the specified decimal number to an equivalent 16-bit signed integer. - The decimal number to convert. - - , rounded to the nearest 16-bit signed integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Converts the value of the specified double-precision floating-point number to an equivalent 16-bit signed integer. - The double-precision floating-point number to convert. - - , rounded to the nearest 16-bit signed integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Returns the specified 16-bit signed integer; no actual conversion is performed. - The 16-bit signed integer to return. - - is returned unchanged. - - - Converts the value of the specified 32-bit signed integer to an equivalent 16-bit signed integer. - The 32-bit signed integer to convert. - The 16-bit signed integer equivalent of . - - is greater than or less than . - - - Converts the value of the specified 64-bit signed integer to an equivalent 16-bit signed integer. - The 64-bit signed integer to convert. - A 16-bit signed integer that is equivalent to . - - is greater than or less than . - - - Converts the value of the specified object to a 16-bit signed integer. - An object that implements the interface, or . - A 16-bit signed integer that is equivalent to , or zero if is . - - is not in an appropriate format for an type. - - does not implement the interface. -or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified object to a 16-bit signed integer, using the specified culture-specific formatting information. - An object that implements the interface. - An object that supplies culture-specific formatting information. - A 16-bit signed integer that is equivalent to , or zero if is . - - is not in an appropriate format for an type. - - does not implement . - - represents a number that is less than or greater than . - - - Converts the value of the specified 8-bit signed integer to the equivalent 16-bit signed integer. - The 8-bit signed integer to convert. - A 8-bit signed integer that is equivalent to . - - - Converts the value of the specified single-precision floating-point number to an equivalent 16-bit signed integer. - The single-precision floating-point number to convert. - - , rounded to the nearest 16-bit signed integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Converts the specified string representation of a number to an equivalent 16-bit signed integer. - A string that contains the number to convert. - A 16-bit signed integer that is equivalent to the number in , or 0 (zero) if is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the specified string representation of a number to an equivalent 16-bit signed integer, using the specified culture-specific formatting information. - A string that contains the number to convert. - An object that supplies culture-specific formatting information. - A 16-bit signed integer that is equivalent to the number in , or 0 (zero) if is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the string representation of a number in a specified base to an equivalent 16-bit signed integer. - A string that contains the number to convert. - The base of the number in , which must be 2, 8, 10, or 16. - A 16-bit signed integer that is equivalent to the number in , or 0 (zero) if is . - - is not 2, 8, 10, or 16. -or- - , which represents a non-base 10 signed number, is prefixed with a negative sign. - - is . - - contains a character that is not a valid digit in the base specified by . The exception message indicates that there are no digits to convert if the first character in is invalid; otherwise, the message indicates that contains invalid trailing characters. - - , which represents a non-base 10 signed number, is prefixed with a negative sign.-or- - represents a number that is less than or greater than . - - - Converts the value of the specified 16-bit unsigned integer to the equivalent 16-bit signed integer. - The 16-bit unsigned integer to convert. - A 16-bit signed integer that is equivalent to . - - is greater than . - - - Converts the value of the specified 32-bit unsigned integer to an equivalent 16-bit signed integer. - The 32-bit unsigned integer to convert. - A 16-bit signed integer that is equivalent to . - - is greater than . - - - Converts the value of the specified 64-bit unsigned integer to an equivalent 16-bit signed integer. - The 64-bit unsigned integer to convert. - A 16-bit signed integer that is equivalent to . - - is greater than . - - - Converts the specified Boolean value to the equivalent 32-bit signed integer. - The Boolean value to convert. - The number 1 if is ; otherwise, 0. - - - Converts the value of the specified 8-bit unsigned integer to the equivalent 32-bit signed integer. - The 8-bit unsigned integer to convert. - A 32-bit signed integer that is equivalent to . - - - Converts the value of the specified Unicode character to the equivalent 32-bit signed integer. - The Unicode character to convert. - A 32-bit signed integer that is equivalent to . - - - Calling this method always throws . - The date and time value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the value of the specified decimal number to an equivalent 32-bit signed integer. - The decimal number to convert. - - , rounded to the nearest 32-bit signed integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Converts the value of the specified double-precision floating-point number to an equivalent 32-bit signed integer. - The double-precision floating-point number to convert. - - , rounded to the nearest 32-bit signed integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Converts the value of the specified 16-bit signed integer to an equivalent 32-bit signed integer. - The 16-bit signed integer to convert. - A 32-bit signed integer that is equivalent to . - - - Returns the specified 32-bit signed integer; no actual conversion is performed. - The 32-bit signed integer to return. - - is returned unchanged. - - - Converts the value of the specified 64-bit signed integer to an equivalent 32-bit signed integer. - The 64-bit signed integer to convert. - A 32-bit signed integer that is equivalent to . - - is greater than or less than . - - - Converts the value of the specified object to a 32-bit signed integer. - An object that implements the interface, or . - A 32-bit signed integer equivalent to , or zero if is . - - is not in an appropriate format. - - does not implement the interface. -or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified object to a 32-bit signed integer, using the specified culture-specific formatting information. - An object that implements the interface. - An object that supplies culture-specific formatting information. - A 32-bit signed integer that is equivalent to , or zero if is . - - is not in an appropriate format. - - does not implement . - - represents a number that is less than or greater than . - - - Converts the value of the specified 8-bit signed integer to the equivalent 32-bit signed integer. - The 8-bit signed integer to convert. - A 8-bit signed integer that is equivalent to . - - - Converts the value of the specified single-precision floating-point number to an equivalent 32-bit signed integer. - The single-precision floating-point number to convert. - - , rounded to the nearest 32-bit signed integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Converts the specified string representation of a number to an equivalent 32-bit signed integer. - A string that contains the number to convert. - A 32-bit signed integer that is equivalent to the number in , or 0 (zero) if is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the specified string representation of a number to an equivalent 32-bit signed integer, using the specified culture-specific formatting information. - A string that contains the number to convert. - An object that supplies culture-specific formatting information. - A 32-bit signed integer that is equivalent to the number in , or 0 (zero) if is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the string representation of a number in a specified base to an equivalent 32-bit signed integer. - A string that contains the number to convert. - The base of the number in , which must be 2, 8, 10, or 16. - A 32-bit signed integer that is equivalent to the number in , or 0 (zero) if is . - - is not 2, 8, 10, or 16. -or- - , which represents a non-base 10 signed number, is prefixed with a negative sign. - - is . - - contains a character that is not a valid digit in the base specified by . The exception message indicates that there are no digits to convert if the first character in is invalid; otherwise, the message indicates that contains invalid trailing characters. - - , which represents a non-base 10 signed number, is prefixed with a negative sign.-or- - represents a number that is less than or greater than . - - - Converts the value of the specified 16-bit unsigned integer to the equivalent 32-bit signed integer. - The 16-bit unsigned integer to convert. - A 32-bit signed integer that is equivalent to . - - - Converts the value of the specified 32-bit unsigned integer to an equivalent 32-bit signed integer. - The 32-bit unsigned integer to convert. - A 32-bit signed integer that is equivalent to . - - is greater than . - - - Converts the value of the specified 64-bit unsigned integer to an equivalent 32-bit signed integer. - The 64-bit unsigned integer to convert. - A 32-bit signed integer that is equivalent to . - - is greater than . - - - Converts the specified Boolean value to the equivalent 64-bit signed integer. - The Boolean value to convert. - The number 1 if is ; otherwise, 0. - - - Converts the value of the specified 8-bit unsigned integer to the equivalent 64-bit signed integer. - The 8-bit unsigned integer to convert. - A 64-bit signed integer that is equivalent to . - - - Converts the value of the specified Unicode character to the equivalent 64-bit signed integer. - The Unicode character to convert. - A 64-bit signed integer that is equivalent to . - - - Calling this method always throws . - The date and time value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the value of the specified decimal number to an equivalent 64-bit signed integer. - The decimal number to convert. - - , rounded to the nearest 64-bit signed integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Converts the value of the specified double-precision floating-point number to an equivalent 64-bit signed integer. - The double-precision floating-point number to convert. - - , rounded to the nearest 64-bit signed integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Converts the value of the specified 16-bit signed integer to an equivalent 64-bit signed integer. - The 16-bit signed integer to convert. - A 64-bit signed integer that is equivalent to . - - - Converts the value of the specified 32-bit signed integer to an equivalent 64-bit signed integer. - The 32-bit signed integer to convert. - A 64-bit signed integer that is equivalent to . - - - Returns the specified 64-bit signed integer; no actual conversion is performed. - A 64-bit signed integer. - - is returned unchanged. - - - Converts the value of the specified object to a 64-bit signed integer. - An object that implements the interface, or . - A 64-bit signed integer that is equivalent to , or zero if is . - - is not in an appropriate format. - - does not implement the interface. -or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified object to a 64-bit signed integer, using the specified culture-specific formatting information. - An object that implements the interface. - An object that supplies culture-specific formatting information. - A 64-bit signed integer that is equivalent to , or zero if is . - - is not in an appropriate format. - - does not implement the interface.-or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified 8-bit signed integer to the equivalent 64-bit signed integer. - The 8-bit signed integer to convert. - A 64-bit signed integer that is equivalent to . - - - Converts the value of the specified single-precision floating-point number to an equivalent 64-bit signed integer. - The single-precision floating-point number to convert. - - , rounded to the nearest 64-bit signed integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Converts the specified string representation of a number to an equivalent 64-bit signed integer. - A string that contains a number to convert. - A 64-bit signed integer that is equivalent to the number in , or 0 (zero) if is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the specified string representation of a number to an equivalent 64-bit signed integer, using the specified culture-specific formatting information. - A string that contains the number to convert. - An object that supplies culture-specific formatting information. - A 64-bit signed integer that is equivalent to the number in , or 0 (zero) if is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the string representation of a number in a specified base to an equivalent 64-bit signed integer. - A string that contains the number to convert. - The base of the number in , which must be 2, 8, 10, or 16. - A 64-bit signed integer that is equivalent to the number in , or 0 (zero) if is . - - is not 2, 8, 10, or 16. -or- - , which represents a non-base 10 signed number, is prefixed with a negative sign. - - is . - - contains a character that is not a valid digit in the base specified by . The exception message indicates that there are no digits to convert if the first character in is invalid; otherwise, the message indicates that contains invalid trailing characters. - - , which represents a non-base 10 signed number, is prefixed with a negative sign.-or- - represents a number that is less than or greater than . - - - Converts the value of the specified 16-bit unsigned integer to the equivalent 64-bit signed integer. - The 16-bit unsigned integer to convert. - A 64-bit signed integer that is equivalent to . - - - Converts the value of the specified 32-bit unsigned integer to an equivalent 64-bit signed integer. - The 32-bit unsigned integer to convert. - A 64-bit signed integer that is equivalent to . - - - Converts the value of the specified 64-bit unsigned integer to an equivalent 64-bit signed integer. - The 64-bit unsigned integer to convert. - A 64-bit signed integer that is equivalent to . - - is greater than . - - - Converts the specified Boolean value to the equivalent 8-bit signed integer. - The Boolean value to convert. - The number 1 if is ; otherwise, 0. - - - Converts the value of the specified 8-bit unsigned integer to the equivalent 8-bit signed integer. - The 8-bit unsigned integer to convert. - An 8-bit signed integer that is equivalent to . - - is greater than . - - - Converts the value of the specified Unicode character to the equivalent 8-bit signed integer. - The Unicode character to convert. - An 8-bit signed integer that is equivalent to . - - is greater than . - - - Calling this method always throws . - The date and time value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the value of the specified decimal number to an equivalent 8-bit signed integer. - The decimal number to convert. - - , rounded to the nearest 8-bit signed integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Converts the value of the specified double-precision floating-point number to an equivalent 8-bit signed integer. - The double-precision floating-point number to convert. - - , rounded to the nearest 8-bit signed integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Converts the value of the specified 16-bit signed integer to the equivalent 8-bit signed integer. - The 16-bit signed integer to convert. - An 8-bit signed integer that is equivalent to . - - is greater than or less than . - - - Converts the value of the specified 32-bit signed integer to an equivalent 8-bit signed integer. - The 32-bit signed integer to convert. - An 8-bit signed integer that is equivalent to . - - is greater than or less than . - - - Converts the value of the specified 64-bit signed integer to an equivalent 8-bit signed integer. - The 64-bit signed integer to convert. - An 8-bit signed integer that is equivalent to . - - is greater than or less than . - - - Converts the value of the specified object to an 8-bit signed integer. - An object that implements the interface, or . - An 8-bit signed integer that is equivalent to , or zero if is . - - is not in an appropriate format. - - does not implement the interface. -or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified object to an 8-bit signed integer, using the specified culture-specific formatting information. - An object that implements the interface. - An object that supplies culture-specific formatting information. - An 8-bit signed integer that is equivalent to , or zero if is . - - is not in an appropriate format. - - does not implement the interface. -or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Returns the specified 8-bit signed integer; no actual conversion is performed. - The 8-bit signed integer to return. - - is returned unchanged. - - - Converts the value of the specified single-precision floating-point number to an equivalent 8-bit signed integer. - The single-precision floating-point number to convert. - - , rounded to the nearest 8-bit signed integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is greater than or less than . - - - Converts the specified string representation of a number to an equivalent 8-bit signed integer. - A string that contains the number to convert. - An 8-bit signed integer that is equivalent to the number in , or 0 (zero) if value is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the specified string representation of a number to an equivalent 8-bit signed integer, using the specified culture-specific formatting information. - A string that contains the number to convert. - An object that supplies culture-specific formatting information. - An 8-bit signed integer that is equivalent to . - - is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the string representation of a number in a specified base to an equivalent 8-bit signed integer. - A string that contains the number to convert. - The base of the number in , which must be 2, 8, 10, or 16. - An 8-bit signed integer that is equivalent to the number in , or 0 (zero) if is . - - is not 2, 8, 10, or 16. -or- - , which represents a non-base 10 signed number, is prefixed with a negative sign. - - is . - - contains a character that is not a valid digit in the base specified by . The exception message indicates that there are no digits to convert if the first character in is invalid; otherwise, the message indicates that contains invalid trailing characters. - - , which represents a non-base 10 signed number, is prefixed with a negative sign.-or- - represents a number that is less than or greater than . - - - Converts the value of the specified 16-bit unsigned integer to the equivalent 8-bit signed integer. - The 16-bit unsigned integer to convert. - An 8-bit signed integer that is equivalent to . - - is greater than . - - - Converts the value of the specified 32-bit unsigned integer to an equivalent 8-bit signed integer. - The 32-bit unsigned integer to convert. - An 8-bit signed integer that is equivalent to . - - is greater than or less than . - - - Converts the value of the specified 64-bit unsigned integer to an equivalent 8-bit signed integer. - The 64-bit unsigned integer to convert. - An 8-bit signed integer that is equivalent to . - - is greater than or less than . - - - Converts the specified Boolean value to the equivalent single-precision floating-point number. - The Boolean value to convert. - The number 1 if is ; otherwise, 0. - - - Converts the value of the specified 8-bit unsigned integer to the equivalent single-precision floating-point number. - The 8-bit unsigned integer to convert. - A single-precision floating-point number that is equivalent to . - - - Calling this method always throws . - The Unicode character to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Calling this method always throws . - The date and time value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the value of the specified decimal number to an equivalent single-precision floating-point number. - The decimal number to convert. - A single-precision floating-point number that is equivalent to . - is rounded using rounding to nearest. For example, when rounded to two decimals, the value 2.345 becomes 2.34 and the value 2.355 becomes 2.36. - - - Converts the value of the specified double-precision floating-point number to an equivalent single-precision floating-point number. - The double-precision floating-point number to convert. - A single-precision floating-point number that is equivalent to . - is rounded using rounding to nearest. For example, when rounded to two decimals, the value 2.345 becomes 2.34 and the value 2.355 becomes 2.36. - - - Converts the value of the specified 16-bit signed integer to an equivalent single-precision floating-point number. - The 16-bit signed integer to convert. - A single-precision floating-point number that is equivalent to . - - - Converts the value of the specified 32-bit signed integer to an equivalent single-precision floating-point number. - The 32-bit signed integer to convert. - A single-precision floating-point number that is equivalent to . - - - Converts the value of the specified 64-bit signed integer to an equivalent single-precision floating-point number. - The 64-bit signed integer to convert. - A single-precision floating-point number that is equivalent to . - - - Converts the value of the specified object to a single-precision floating-point number. - An object that implements the interface, or . - A single-precision floating-point number that is equivalent to , or zero if is . - - is not in an appropriate format. - - does not implement the interface. -or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified object to an single-precision floating-point number, using the specified culture-specific formatting information. - An object that implements the interface. - An object that supplies culture-specific formatting information. - A single-precision floating-point number that is equivalent to , or zero if is . - - is not in an appropriate format. - - does not implement . - - represents a number that is less than or greater than . - - - Converts the value of the specified 8-bit signed integer to the equivalent single-precision floating-point number. - The 8-bit signed integer to convert. - An 8-bit signed integer that is equivalent to . - - - Returns the specified single-precision floating-point number; no actual conversion is performed. - The single-precision floating-point number to return. - - is returned unchanged. - - - Converts the specified string representation of a number to an equivalent single-precision floating-point number. - A string that contains the number to convert. - A single-precision floating-point number that is equivalent to the number in , or 0 (zero) if is . - - is not a number in a valid format. - - represents a number that is less than or greater than . - - - Converts the specified string representation of a number to an equivalent single-precision floating-point number, using the specified culture-specific formatting information. - A string that contains the number to convert. - An object that supplies culture-specific formatting information. - A single-precision floating-point number that is equivalent to the number in , or 0 (zero) if is . - - is not a number in a valid format. - - represents a number that is less than or greater than . - - - Converts the value of the specified 16-bit unsigned integer to the equivalent single-precision floating-point number. - The 16-bit unsigned integer to convert. - A single-precision floating-point number that is equivalent to . - - - Converts the value of the specified 32-bit unsigned integer to an equivalent single-precision floating-point number. - The 32-bit unsigned integer to convert. - A single-precision floating-point number that is equivalent to . - - - Converts the value of the specified 64-bit unsigned integer to an equivalent single-precision floating-point number. - The 64-bit unsigned integer to convert. - A single-precision floating-point number that is equivalent to . - - - Converts the specified Boolean value to its equivalent string representation. - The Boolean value to convert. - The string representation of . - - - Converts the specified Boolean value to its equivalent string representation. - The Boolean value to convert. - An instance of an object. This parameter is ignored. - The string representation of . - - - Converts the value of the specified 8-bit unsigned integer to its equivalent string representation. - The 8-bit unsigned integer to convert. - The string representation of . - - - Converts the value of the specified 8-bit unsigned integer to its equivalent string representation, using the specified culture-specific formatting information. - The 8-bit unsigned integer to convert. - An object that supplies culture-specific formatting information. - The string representation of . - - - Converts the value of an 8-bit unsigned integer to its equivalent string representation in a specified base. - The 8-bit unsigned integer to convert. - The base of the return value, which must be 2, 8, 10, or 16. - The string representation of in base . - - is not 2, 8, 10, or 16. - - - Converts the value of the specified Unicode character to its equivalent string representation. - The Unicode character to convert. - The string representation of . - - - Converts the value of the specified Unicode character to its equivalent string representation, using the specified culture-specific formatting information. - The Unicode character to convert. - An object that supplies culture-specific formatting information. This parameter is ignored. - The string representation of . - - - Converts the value of the specified to its equivalent string representation. - The date and time value to convert. - The string representation of . - - - Converts the value of the specified to its equivalent string representation, using the specified culture-specific formatting information. - The date and time value to convert. - An object that supplies culture-specific formatting information. - The string representation of . - - - Converts the value of the specified decimal number to its equivalent string representation. - The decimal number to convert. - The string representation of . - - - Converts the value of the specified decimal number to its equivalent string representation, using the specified culture-specific formatting information. - The decimal number to convert. - An object that supplies culture-specific formatting information. - The string representation of . - - - Converts the value of the specified double-precision floating-point number to its equivalent string representation. - The double-precision floating-point number to convert. - The string representation of . - - - Converts the value of the specified double-precision floating-point number to its equivalent string representation. - The double-precision floating-point number to convert. - An object that supplies culture-specific formatting information. - The string representation of . - - - Converts the value of the specified 16-bit signed integer to its equivalent string representation. - The 16-bit signed integer to convert. - The string representation of . - - - Converts the value of the specified 16-bit signed integer to its equivalent string representation, using the specified culture-specific formatting information. - The 16-bit signed integer to convert. - An object that supplies culture-specific formatting information. - The string representation of . - - - Converts the value of a 16-bit signed integer to its equivalent string representation in a specified base. - The 16-bit signed integer to convert. - The base of the return value, which must be 2, 8, 10, or 16. - The string representation of in base . - - is not 2, 8, 10, or 16. - - - Converts the value of the specified 32-bit signed integer to its equivalent string representation. - The 32-bit signed integer to convert. - The string representation of . - - - Converts the value of the specified 32-bit signed integer to its equivalent string representation, using the specified culture-specific formatting information. - The 32-bit signed integer to convert. - An object that supplies culture-specific formatting information. - The string representation of . - - - Converts the value of a 32-bit signed integer to its equivalent string representation in a specified base. - The 32-bit signed integer to convert. - The base of the return value, which must be 2, 8, 10, or 16. - The string representation of in base . - - is not 2, 8, 10, or 16. - - - Converts the value of the specified 64-bit signed integer to its equivalent string representation. - The 64-bit signed integer to convert. - The string representation of . - - - Converts the value of the specified 64-bit signed integer to its equivalent string representation, using the specified culture-specific formatting information. - The 64-bit signed integer to convert. - An object that supplies culture-specific formatting information. - The string representation of . - - - Converts the value of a 64-bit signed integer to its equivalent string representation in a specified base. - The 64-bit signed integer to convert. - The base of the return value, which must be 2, 8, 10, or 16. - The string representation of in base . - - is not 2, 8, 10, or 16. - - - Converts the value of the specified object to its equivalent string representation. - An object that supplies the value to convert, or . - The string representation of , or if is . - - - Converts the value of the specified object to its equivalent string representation using the specified culture-specific formatting information. - An object that supplies the value to convert, or . - An object that supplies culture-specific formatting information. - The string representation of , or if is an object whose value is . If is , the method returns . - - - Converts the value of the specified 8-bit signed integer to its equivalent string representation. - The 8-bit signed integer to convert. - The string representation of . - - - Converts the value of the specified 8-bit signed integer to its equivalent string representation, using the specified culture-specific formatting information. - The 8-bit signed integer to convert. - An object that supplies culture-specific formatting information. - The string representation of . - - - Converts the value of the specified single-precision floating-point number to its equivalent string representation. - The single-precision floating-point number to convert. - The string representation of . - - - Converts the value of the specified single-precision floating-point number to its equivalent string representation, using the specified culture-specific formatting information. - The single-precision floating-point number to convert. - An object that supplies culture-specific formatting information. - The string representation of . - - - Returns the specified string instance; no actual conversion is performed. - The string to return. - - is returned unchanged. - - - Returns the specified string instance; no actual conversion is performed. - The string to return. - An object that supplies culture-specific formatting information. This parameter is ignored. - - is returned unchanged. - - - Converts the value of the specified 16-bit unsigned integer to its equivalent string representation. - The 16-bit unsigned integer to convert. - The string representation of . - - - Converts the value of the specified 16-bit unsigned integer to its equivalent string representation, using the specified culture-specific formatting information. - The 16-bit unsigned integer to convert. - An object that supplies culture-specific formatting information. - The string representation of . - - - Converts the value of the specified 32-bit unsigned integer to its equivalent string representation. - The 32-bit unsigned integer to convert. - The string representation of . - - - Converts the value of the specified 32-bit unsigned integer to its equivalent string representation, using the specified culture-specific formatting information. - The 32-bit unsigned integer to convert. - An object that supplies culture-specific formatting information. - The string representation of . - - - Converts the value of the specified 64-bit unsigned integer to its equivalent string representation. - The 64-bit unsigned integer to convert. - The string representation of . - - - Converts the value of the specified 64-bit unsigned integer to its equivalent string representation, using the specified culture-specific formatting information. - The 64-bit unsigned integer to convert. - An object that supplies culture-specific formatting information. - The string representation of . - - - Converts the specified Boolean value to the equivalent 16-bit unsigned integer. - The Boolean value to convert. - The number 1 if is ; otherwise, 0. - - - Converts the value of the specified 8-bit unsigned integer to the equivalent 16-bit unsigned integer. - The 8-bit unsigned integer to convert. - A 16-bit unsigned integer that is equivalent to . - - - Converts the value of the specified Unicode character to the equivalent 16-bit unsigned integer. - The Unicode character to convert. - The 16-bit unsigned integer equivalent to . - - - Calling this method always throws . - The date and time value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the value of the specified decimal number to an equivalent 16-bit unsigned integer. - The decimal number to convert. - - , rounded to the nearest 16-bit unsigned integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is less than zero or greater than . - - - Converts the value of the specified double-precision floating-point number to an equivalent 16-bit unsigned integer. - The double-precision floating-point number to convert. - - , rounded to the nearest 16-bit unsigned integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is less than zero or greater than . - - - Converts the value of the specified 16-bit signed integer to the equivalent 16-bit unsigned integer. - The 16-bit signed integer to convert. - A 16-bit unsigned integer that is equivalent to . - - is less than zero. - - - Converts the value of the specified 32-bit signed integer to an equivalent 16-bit unsigned integer. - The 32-bit signed integer to convert. - A 16-bit unsigned integer that is equivalent to . - - is less than zero or greater than . - - - Converts the value of the specified 64-bit signed integer to an equivalent 16-bit unsigned integer. - The 64-bit signed integer to convert. - A 16-bit unsigned integer that is equivalent to . - - is less than zero or greater than . - - - Converts the value of the specified object to a 16-bit unsigned integer. - An object that implements the interface, or . - A 16-bit unsigned integer that is equivalent to , or zero if is . - - is not in an appropriate format. - - does not implement the interface. -or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified object to a 16-bit unsigned integer, using the specified culture-specific formatting information. - An object that implements the interface. - An object that supplies culture-specific formatting information. - A 16-bit unsigned integer that is equivalent to , or zero if is . - - is not in an appropriate format. - - does not implement the interface. -or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified 8-bit signed integer to the equivalent 16-bit unsigned integer. - The 8-bit signed integer to convert. - A 16-bit unsigned integer that is equivalent to . - - is less than zero. - - - Converts the value of the specified single-precision floating-point number to an equivalent 16-bit unsigned integer. - The single-precision floating-point number to convert. - - , rounded to the nearest 16-bit unsigned integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is less than zero or greater than . - - - Converts the specified string representation of a number to an equivalent 16-bit unsigned integer. - A string that contains the number to convert. - A 16-bit unsigned integer that is equivalent to the number in , or 0 (zero) if is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the specified string representation of a number to an equivalent 16-bit unsigned integer, using the specified culture-specific formatting information. - A string that contains the number to convert. - An object that supplies culture-specific formatting information. - A 16-bit unsigned integer that is equivalent to the number in , or 0 (zero) if is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the string representation of a number in a specified base to an equivalent 16-bit unsigned integer. - A string that contains the number to convert. - The base of the number in , which must be 2, 8, 10, or 16. - A 16-bit unsigned integer that is equivalent to the number in , or 0 (zero) if is . - - is not 2, 8, 10, or 16. -or- - , which represents a non-base 10 unsigned number, is prefixed with a negative sign. - - is . - - contains a character that is not a valid digit in the base specified by . The exception message indicates that there are no digits to convert if the first character in is invalid; otherwise, the message indicates that contains invalid trailing characters. - - , which represents a non-base 10 unsigned number, is prefixed with a negative sign.-or- - represents a number that is less than or greater than . - - - Returns the specified 16-bit unsigned integer; no actual conversion is performed. - The 16-bit unsigned integer to return. - - is returned unchanged. - - - Converts the value of the specified 32-bit unsigned integer to an equivalent 16-bit unsigned integer. - The 32-bit unsigned integer to convert. - A 16-bit unsigned integer that is equivalent to . - - is greater than . - - - Converts the value of the specified 64-bit unsigned integer to an equivalent 16-bit unsigned integer. - The 64-bit unsigned integer to convert. - A 16-bit unsigned integer that is equivalent to . - - is greater than . - - - Converts the specified Boolean value to the equivalent 32-bit unsigned integer. - The Boolean value to convert. - The number 1 if is ; otherwise, 0. - - - Converts the value of the specified 8-bit unsigned integer to the equivalent 32-bit unsigned integer. - The 8-bit unsigned integer to convert. - A 32-bit unsigned integer that is equivalent to . - - - Converts the value of the specified Unicode character to the equivalent 32-bit unsigned integer. - The Unicode character to convert. - A 32-bit unsigned integer that is equivalent to . - - - Calling this method always throws . - The date and time value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the value of the specified decimal number to an equivalent 32-bit unsigned integer. - The decimal number to convert. - - , rounded to the nearest 32-bit unsigned integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is less than zero or greater than . - - - Converts the value of the specified double-precision floating-point number to an equivalent 32-bit unsigned integer. - The double-precision floating-point number to convert. - - , rounded to the nearest 32-bit unsigned integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is less than zero or greater than . - - - Converts the value of the specified 16-bit signed integer to the equivalent 32-bit unsigned integer. - The 16-bit signed integer to convert. - A 32-bit unsigned integer that is equivalent to . - - is less than zero. - - - Converts the value of the specified 32-bit signed integer to an equivalent 32-bit unsigned integer. - The 32-bit signed integer to convert. - A 32-bit unsigned integer that is equivalent to . - - is less than zero. - - - Converts the value of the specified 64-bit signed integer to an equivalent 32-bit unsigned integer. - The 64-bit signed integer to convert. - A 32-bit unsigned integer that is equivalent to . - - is less than zero or greater than . - - - Converts the value of the specified object to a 32-bit unsigned integer. - An object that implements the interface, or . - A 32-bit unsigned integer that is equivalent to , or 0 (zero) if is . - - is not in an appropriate format. - - does not implement the interface. -or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified object to a 32-bit unsigned integer, using the specified culture-specific formatting information. - An object that implements the interface. - An object that supplies culture-specific formatting information. - A 32-bit unsigned integer that is equivalent to , or zero if is . - - is not in an appropriate format. - - does not implement the interface. -or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified 8-bit signed integer to the equivalent 32-bit unsigned integer. - The 8-bit signed integer to convert. - A 32-bit unsigned integer that is equivalent to . - - is less than zero. - - - Converts the value of the specified single-precision floating-point number to an equivalent 32-bit unsigned integer. - The single-precision floating-point number to convert. - - , rounded to the nearest 32-bit unsigned integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is less than zero or greater than . - - - Converts the specified string representation of a number to an equivalent 32-bit unsigned integer. - A string that contains the number to convert. - A 32-bit unsigned integer that is equivalent to the number in , or 0 (zero) if is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the specified string representation of a number to an equivalent 32-bit unsigned integer, using the specified culture-specific formatting information. - A string that contains the number to convert. - An object that supplies culture-specific formatting information. - A 32-bit unsigned integer that is equivalent to the number in , or 0 (zero) if is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the string representation of a number in a specified base to an equivalent 32-bit unsigned integer. - A string that contains the number to convert. - The base of the number in , which must be 2, 8, 10, or 16. - A 32-bit unsigned integer that is equivalent to the number in , or 0 (zero) if is . - - is not 2, 8, 10, or 16. -or- - , which represents a non-base 10 unsigned number, is prefixed with a negative sign. - - is . - - contains a character that is not a valid digit in the base specified by . The exception message indicates that there are no digits to convert if the first character in is invalid; otherwise, the message indicates that contains invalid trailing characters. - - , which represents a non-base 10 unsigned number, is prefixed with a negative sign.-or- - represents a number that is less than or greater than . - - - Converts the value of the specified 16-bit unsigned integer to the equivalent 32-bit unsigned integer. - The 16-bit unsigned integer to convert. - A 32-bit unsigned integer that is equivalent to . - - - Returns the specified 32-bit unsigned integer; no actual conversion is performed. - The 32-bit unsigned integer to return. - - is returned unchanged. - - - Converts the value of the specified 64-bit unsigned integer to an equivalent 32-bit unsigned integer. - The 64-bit unsigned integer to convert. - A 32-bit unsigned integer that is equivalent to . - - is greater than . - - - Converts the specified Boolean value to the equivalent 64-bit unsigned integer. - The Boolean value to convert. - The number 1 if is ; otherwise, 0. - - - Converts the value of the specified 8-bit unsigned integer to the equivalent 64-bit unsigned integer. - The 8-bit unsigned integer to convert. - A 64-bit signed integer that is equivalent to . - - - Converts the value of the specified Unicode character to the equivalent 64-bit unsigned integer. - The Unicode character to convert. - A 64-bit unsigned integer that is equivalent to . - - - Calling this method always throws . - The date and time value to convert. - This conversion is not supported. No value is returned. - This conversion is not supported. - - - Converts the value of the specified decimal number to an equivalent 64-bit unsigned integer. - The decimal number to convert. - - , rounded to the nearest 64-bit unsigned integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is less than zero or greater than . - - - Converts the value of the specified double-precision floating-point number to an equivalent 64-bit unsigned integer. - The double-precision floating-point number to convert. - - , rounded to the nearest 64-bit unsigned integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is less than zero or greater than . - - - Converts the value of the specified 16-bit signed integer to the equivalent 64-bit unsigned integer. - The 16-bit signed integer to convert. - A 64-bit unsigned integer that is equivalent to . - - is less than zero. - - - Converts the value of the specified 32-bit signed integer to an equivalent 64-bit unsigned integer. - The 32-bit signed integer to convert. - A 64-bit unsigned integer that is equivalent to . - - is less than zero. - - - Converts the value of the specified 64-bit signed integer to an equivalent 64-bit unsigned integer. - The 64-bit signed integer to convert. - A 64-bit unsigned integer that is equivalent to . - - is less than zero. - - - Converts the value of the specified object to a 64-bit unsigned integer. - An object that implements the interface, or . - A 64-bit unsigned integer that is equivalent to , or zero if is . - - is not in an appropriate format. - - does not implement the interface. -or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified object to a 64-bit unsigned integer, using the specified culture-specific formatting information. - An object that implements the interface. - An object that supplies culture-specific formatting information. - A 64-bit unsigned integer that is equivalent to , or zero if is . - - is not in an appropriate format. - - does not implement the interface. -or-The conversion is not supported. - - represents a number that is less than or greater than . - - - Converts the value of the specified 8-bit signed integer to the equivalent 64-bit unsigned integer. - The 8-bit signed integer to convert. - A 64-bit unsigned integer that is equivalent to . - - is less than zero. - - - Converts the value of the specified single-precision floating-point number to an equivalent 64-bit unsigned integer. - The single-precision floating-point number to convert. - - , rounded to the nearest 64-bit unsigned integer. If is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6. - - is less than zero or greater than . - - - Converts the specified string representation of a number to an equivalent 64-bit unsigned integer. - A string that contains the number to convert. - A 64-bit signed integer that is equivalent to the number in , or 0 (zero) if is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the specified string representation of a number to an equivalent 64-bit unsigned integer, using the specified culture-specific formatting information. - A string that contains the number to convert. - An object that supplies culture-specific formatting information. - A 64-bit unsigned integer that is equivalent to the number in , or 0 (zero) if is . - - does not consist of an optional sign followed by a sequence of digits (0 through 9). - - represents a number that is less than or greater than . - - - Converts the string representation of a number in a specified base to an equivalent 64-bit unsigned integer. - A string that contains the number to convert. - The base of the number in , which must be 2, 8, 10, or 16. - A 64-bit unsigned integer that is equivalent to the number in , or 0 (zero) if is . - - is not 2, 8, 10, or 16. -or- - , which represents a non-base 10 unsigned number, is prefixed with a negative sign. - - is . - - contains a character that is not a valid digit in the base specified by . The exception message indicates that there are no digits to convert if the first character in is invalid; otherwise, the message indicates that contains invalid trailing characters. - - , which represents a non-base 10 unsigned number, is prefixed with a negative sign.-or- - represents a number that is less than or greater than . - - - Converts the value of the specified 16-bit unsigned integer to the equivalent 64-bit unsigned integer. - The 16-bit unsigned integer to convert. - A 64-bit unsigned integer that is equivalent to . - - - Converts the value of the specified 32-bit unsigned integer to an equivalent 64-bit unsigned integer. - The 32-bit unsigned integer to convert. - A 64-bit unsigned integer that is equivalent to . - - - Returns the specified 64-bit unsigned integer; no actual conversion is performed. - The 64-bit unsigned integer to return. - - is returned unchanged. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class using the specified error message. - A object that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class using the specified error message and underlying exception. - A object that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - The exception that is the cause of the current . If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the structure to the specified year, month, and day. - The year (1 through 9999). - The month (1 through 12). - The day (1 through the number of days in ). - - is less than 1 or greater than 9999.-or- - is less than 1 or greater than 12.-or- - is less than 1 or greater than the number of days in . - - - Initializes a new instance of the structure to the specified year, month, and day for the specified calendar. - The year (1 through the number of years in ). - The month (1 through the number of months in ). - The day (1 through the number of days in ). - The calendar that is used to interpret , , and . - - is . - - is not in the range supported by .-or- - is less than 1 or greater than the number of months in .-or- - is less than 1 or greater than the number of days in . - - - Initializes a new instance of the structure to the specified year, month, day, hour, minute, and second. - The year (1 through 9999). - The month (1 through 12). - The day (1 through the number of days in ). - The hours (0 through 23). - The minutes (0 through 59). - The seconds (0 through 59). - - is less than 1 or greater than 9999. -or- - is less than 1 or greater than 12. -or- - is less than 1 or greater than the number of days in .-or- - is less than 0 or greater than 23. -or- - is less than 0 or greater than 59. -or- - is less than 0 or greater than 59. - - - Initializes a new instance of the structure to the specified year, month, day, hour, minute, second, and Coordinated Universal Time (UTC) or local time. - The year (1 through 9999). - The month (1 through 12). - The day (1 through the number of days in ). - The hours (0 through 23). - The minutes (0 through 59). - The seconds (0 through 59). - One of the enumeration values that indicates whether , , , , and specify a local time, Coordinated Universal Time (UTC), or neither. - - is less than 1 or greater than 9999. -or- - is less than 1 or greater than 12. -or- - is less than 1 or greater than the number of days in .-or- - is less than 0 or greater than 23. -or- - is less than 0 or greater than 59. -or- - is less than 0 or greater than 59. - - is not one of the values. - - - Initializes a new instance of the structure to the specified year, month, day, hour, minute, and second for the specified calendar. - The year (1 through the number of years in ). - The month (1 through the number of months in ). - The day (1 through the number of days in ). - The hours (0 through 23). - The minutes (0 through 59). - The seconds (0 through 59). - The calendar that is used to interpret , , and . - - is . - - is not in the range supported by .-or- - is less than 1 or greater than the number of months in .-or- - is less than 1 or greater than the number of days in .-or- - is less than 0 or greater than 23 -or- - is less than 0 or greater than 59. -or- - is less than 0 or greater than 59. - - - Initializes a new instance of the structure to the specified year, month, day, hour, minute, second, and millisecond. - The year (1 through 9999). - The month (1 through 12). - The day (1 through the number of days in ). - The hours (0 through 23). - The minutes (0 through 59). - The seconds (0 through 59). - The milliseconds (0 through 999). - - is less than 1 or greater than 9999.-or- - is less than 1 or greater than 12.-or- - is less than 1 or greater than the number of days in .-or- - is less than 0 or greater than 23.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 999. - - - Initializes a new instance of the structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time. - The year (1 through 9999). - The month (1 through 12). - The day (1 through the number of days in ). - The hours (0 through 23). - The minutes (0 through 59). - The seconds (0 through 59). - The milliseconds (0 through 999). - One of the enumeration values that indicates whether , , , , , , and specify a local time, Coordinated Universal Time (UTC), or neither. - - is less than 1 or greater than 9999.-or- - is less than 1 or greater than 12.-or- - is less than 1 or greater than the number of days in .-or- - is less than 0 or greater than 23.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 999. - - is not one of the values. - - - Initializes a new instance of the structure to the specified year, month, day, hour, minute, second, and millisecond for the specified calendar. - The year (1 through the number of years in ). - The month (1 through the number of months in ). - The day (1 through the number of days in ). - The hours (0 through 23). - The minutes (0 through 59). - The seconds (0 through 59). - The milliseconds (0 through 999). - The calendar that is used to interpret , , and . - - is . - - is not in the range supported by .-or- - is less than 1 or greater than the number of months in .-or- - is less than 1 or greater than the number of days in .-or- - is less than 0 or greater than 23.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 999. - - - Initializes a new instance of the structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time for the specified calendar. - The year (1 through the number of years in ). - The month (1 through the number of months in ). - The day (1 through the number of days in ). - The hours (0 through 23). - The minutes (0 through 59). - The seconds (0 through 59). - The milliseconds (0 through 999). - The calendar that is used to interpret , , and . - One of the enumeration values that indicates whether , , , , , , and specify a local time, Coordinated Universal Time (UTC), or neither. - - is . - - is not in the range supported by .-or- - is less than 1 or greater than the number of months in .-or- - is less than 1 or greater than the number of days in .-or- - is less than 0 or greater than 23.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 999. - - is not one of the values. - - - Initializes a new instance of the structure to a specified number of ticks. - A date and time expressed in the number of 100-nanosecond intervals that have elapsed since January 1, 0001 at 00:00:00.000 in the Gregorian calendar. - - is less than or greater than . - - - Initializes a new instance of the structure to a specified number of ticks and to Coordinated Universal Time (UTC) or local time. - A date and time expressed in the number of 100-nanosecond intervals that have elapsed since January 1, 0001 at 00:00:00.000 in the Gregorian calendar. - One of the enumeration values that indicates whether specifies a local time, Coordinated Universal Time (UTC), or neither. - - is less than or greater than . - - is not one of the values. - - - Returns a new that adds the value of the specified to the value of this instance. - A positive or negative time interval. - An object whose value is the sum of the date and time represented by this instance and the time interval represented by . - The resulting is less than or greater than . - - - Returns a new that adds the specified number of days to the value of this instance. - A number of whole and fractional days. The parameter can be negative or positive. - An object whose value is the sum of the date and time represented by this instance and the number of days represented by . - The resulting is less than or greater than . - - - Returns a new that adds the specified number of hours to the value of this instance. - A number of whole and fractional hours. The parameter can be negative or positive. - An object whose value is the sum of the date and time represented by this instance and the number of hours represented by . - The resulting is less than or greater than . - - - Returns a new that adds the specified number of milliseconds to the value of this instance. - A number of whole and fractional milliseconds. The parameter can be negative or positive. Note that this value is rounded to the nearest integer. - An object whose value is the sum of the date and time represented by this instance and the number of milliseconds represented by . - The resulting is less than or greater than . - - - Returns a new that adds the specified number of minutes to the value of this instance. - A number of whole and fractional minutes. The parameter can be negative or positive. - An object whose value is the sum of the date and time represented by this instance and the number of minutes represented by . - The resulting is less than or greater than . - - - Returns a new that adds the specified number of months to the value of this instance. - A number of months. The parameter can be negative or positive. - An object whose value is the sum of the date and time represented by this instance and . - The resulting is less than or greater than .-or- - is less than -120,000 or greater than 120,000. - - - Returns a new that adds the specified number of seconds to the value of this instance. - A number of whole and fractional seconds. The parameter can be negative or positive. - An object whose value is the sum of the date and time represented by this instance and the number of seconds represented by . - The resulting is less than or greater than . - - - Returns a new that adds the specified number of ticks to the value of this instance. - A number of 100-nanosecond ticks. The parameter can be positive or negative. - An object whose value is the sum of the date and time represented by this instance and the time represented by . - The resulting is less than or greater than . - - - Returns a new that adds the specified number of years to the value of this instance. - A number of years. The parameter can be negative or positive. - An object whose value is the sum of the date and time represented by this instance and the number of years represented by . - - or the resulting is less than or greater than . - - - Compares two instances of and returns an integer that indicates whether the first instance is earlier than, the same as, or later than the second instance. - The first object to compare. - The second object to compare. - A signed number indicating the relative values of and .Value Type Condition Less than zero - is earlier than . Zero - is the same as . Greater than zero - is later than . - - - Compares the value of this instance to a specified value and returns an integer that indicates whether this instance is earlier than, the same as, or later than the specified value. - The object to compare to the current instance. - A signed number indicating the relative values of this instance and the parameter.Value Description Less than zero This instance is earlier than . Zero This instance is the same as . Greater than zero This instance is later than . - - - Compares the value of this instance to a specified object that contains a specified value, and returns an integer that indicates whether this instance is earlier than, the same as, or later than the specified value. - A boxed object to compare, or . - A signed number indicating the relative values of this instance and .Value Description Less than zero This instance is earlier than . Zero This instance is the same as . Greater than zero This instance is later than , or is . - - is not a . - - - Returns the number of days in the specified month and year. - The year. - The month (a number ranging from 1 to 12). - The number of days in for the specified .For example, if equals 2 for February, the return value is 28 or 29 depending upon whether is a leap year. - - is less than 1 or greater than 12.-or- - is less than 1 or greater than 9999. - - - - Returns a value indicating whether the value of this instance is equal to the value of the specified instance. - The object to compare to this instance. - - if the parameter equals the value of this instance; otherwise, . - - - - Returns a value indicating whether two instances have the same date and time value. - The first object to compare. - The second object to compare. - - if the two values are equal; otherwise, . - - - Returns a value indicating whether this instance is equal to a specified object. - The object to compare to this instance. - - if is an instance of and equals the value of this instance; otherwise, . - - - Deserializes a 64-bit binary value and recreates an original serialized object. - A 64-bit signed integer that encodes the property in a 2-bit field and the property in a 62-bit field. - An object that is equivalent to the object that was serialized by the method. - - is less than or greater than . - - - Converts the specified Windows file time to an equivalent local time. - A Windows file time expressed in ticks. - An object that represents the local time equivalent of the date and time represented by the parameter. - - is less than 0 or represents a time greater than . - - - Converts the specified Windows file time to an equivalent UTC time. - A Windows file time expressed in ticks. - An object that represents the UTC time equivalent of the date and time represented by the parameter. - - is less than 0 or represents a time greater than . - - - Returns a equivalent to the specified OLE Automation Date. - An OLE Automation Date value. - An object that represents the same date and time as . - The date is not a valid OLE Automation Date value. - - - Converts the value of this instance to all the string representations supported by the standard date and time format specifiers. - A string array where each element is the representation of the value of this instance formatted with one of the standard date and time format specifiers. - - - Converts the value of this instance to all the string representations supported by the specified standard date and time format specifier. - A standard date and time format string (see Remarks). - A string array where each element is the representation of the value of this instance formatted with the standard date and time format specifier. - - is not a valid standard date and time format specifier character. - - - Converts the value of this instance to all the string representations supported by the specified standard date and time format specifier and culture-specific formatting information. - A date and time format string (see Remarks). - An object that supplies culture-specific formatting information about this instance. - A string array where each element is the representation of the value of this instance formatted with one of the standard date and time format specifiers. - - is not a valid standard date and time format specifier character. - - - Converts the value of this instance to all the string representations supported by the standard date and time format specifiers and the specified culture-specific formatting information. - An object that supplies culture-specific formatting information about this instance. - A string array where each element is the representation of the value of this instance formatted with one of the standard date and time format specifiers. - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns the for value type . - The enumerated constant, . - - - Indicates whether this instance of is within the daylight saving time range for the current time zone. - - if the value of the property is or and the value of this instance of is within the daylight saving time range for the local time zone; if is . - - - Returns an indication whether the specified year is a leap year. - A 4-digit year. - - if is a leap year; otherwise, . - - is less than 1 or greater than 9999. - - - Adds a specified time interval to a specified date and time, yielding a new date and time. - The date and time value to add. - The time interval to add. - An object that is the sum of the values of and . - The resulting is less than or greater than . - - - Determines whether two specified instances of are equal. - The first object to compare. - The second object to compare. - - if and represent the same date and time; otherwise, . - - - Determines whether one specified is later than another specified . - The first object to compare. - The second object to compare. - - if is later than ; otherwise, . - - - Determines whether one specified represents a date and time that is the same as or later than another specified . - The first object to compare. - The second object to compare. - - if is the same as or later than ; otherwise, . - - - Determines whether two specified instances of are not equal. - The first object to compare. - The second object to compare. - - if and do not represent the same date and time; otherwise, . - - - Determines whether one specified is earlier than another specified . - The first object to compare. - The second object to compare. - - if is earlier than ; otherwise, . - - - Determines whether one specified represents a date and time that is the same as or earlier than another specified . - The first object to compare. - The second object to compare. - - if is the same as or earlier than ; otherwise, . - - - Subtracts a specified date and time from another specified date and time and returns a time interval. - The date and time value to subtract from (the minuend). - The date and time value to subtract (the subtrahend). - The time interval between and ; that is, minus . - - - Subtracts a specified time interval from a specified date and time and returns a new date and time. - The date and time value to subtract from. - The time interval to subtract. - An object whose value is the value of minus the value of . - The resulting is less than or greater than . - - - Converts the string representation of a date and time to its equivalent. - A string that contains a date and time to convert. - An object that is equivalent to the date and time contained in . - - is . - - does not contain a valid string representation of a date and time. - - - Converts the string representation of a date and time to its equivalent by using culture-specific format information. - A string that contains a date and time to convert. - An object that supplies culture-specific format information about . - An object that is equivalent to the date and time contained in as specified by . - - is . - - does not contain a valid string representation of a date and time. - - - Converts the string representation of a date and time to its equivalent by using culture-specific format information and formatting style. - A string that contains a date and time to convert. - An object that supplies culture-specific formatting information about . - A bitwise combination of the enumeration values that indicates the style elements that can be present in for the parse operation to succeed, and that defines how to interpret the parsed date in relation to the current time zone or the current date. A typical value to specify is . - An object that is equivalent to the date and time contained in , as specified by and . - - is . - - does not contain a valid string representation of a date and time. - - contains an invalid combination of values. For example, both and . - - - Converts the specified string representation of a date and time to its equivalent using the specified format and culture-specific format information. The format of the string representation must match the specified format exactly. - A string that contains a date and time to convert. - A format specifier that defines the required format of . For more information, see the Remarks section. - An object that supplies culture-specific format information about . - An object that is equivalent to the date and time contained in , as specified by and . - - or is . - - or is an empty string. -or- - does not contain a date and time that corresponds to the pattern specified in . -or- - The hour component and the AM/PM designator in do not agree. - - - Converts the specified string representation of a date and time to its equivalent using the specified format, culture-specific format information, and style. The format of the string representation must match the specified format exactly or an exception is thrown. - A string containing a date and time to convert. - A format specifier that defines the required format of . For more information, see the Remarks section. - An object that supplies culture-specific formatting information about . - A bitwise combination of the enumeration values that provides additional information about , about style elements that may be present in , or about the conversion from to a value. A typical value to specify is . - An object that is equivalent to the date and time contained in , as specified by , , and . - - or is . - - or is an empty string. -or- - does not contain a date and time that corresponds to the pattern specified in . -or- - The hour component and the AM/PM designator in do not agree. - - contains an invalid combination of values. For example, both and . - - - Converts the specified string representation of a date and time to its equivalent using the specified array of formats, culture-specific format information, and style. The format of the string representation must match at least one of the specified formats exactly or an exception is thrown. - A string that contains a date and time to convert. - An array of allowable formats of . For more information, see the Remarks section. - An object that supplies culture-specific format information about . - A bitwise combination of enumeration values that indicates the permitted format of . A typical value to specify is . - An object that is equivalent to the date and time contained in , as specified by , , and . - - or is . - - is an empty string. -or- an element of is an empty string. -or- - does not contain a date and time that corresponds to any element of . -or- - The hour component and the AM/PM designator in do not agree. - - contains an invalid combination of values. For example, both and . - - - Creates a new object that has the same number of ticks as the specified , but is designated as either local time, Coordinated Universal Time (UTC), or neither, as indicated by the specified value. - A date and time. - One of the enumeration values that indicates whether the new object represents local time, UTC, or neither. - A new object that has the same number of ticks as the object represented by the parameter and the value specified by the parameter. - - - Subtracts the specified date and time from this instance. - The date and time value to subtract. - A time interval that is equal to the date and time represented by this instance minus the date and time represented by . - The result is less than or greater than . - - - Subtracts the specified duration from this instance. - The time interval to subtract. - An object that is equal to the date and time represented by this instance minus the time interval represented by . - The result is less than or greater than . - - - This conversion is not supported. Attempting to use this method throws an . - An object that implements the interface. (This parameter is not used; specify .) - The return value for this member is not used. - In all cases. - - - This conversion is not supported. Attempting to use this method throws an . - An object that implements the interface. (This parameter is not used; specify .) - The return value for this member is not used. - In all cases. - - - This conversion is not supported. Attempting to use this method throws an . - An object that implements the interface. (This parameter is not used; specify .) - The return value for this member is not used. - In all cases. - - - Returns the current object. - An object that implements the interface. (This parameter is not used; specify .) - The current object. - - - This conversion is not supported. Attempting to use this method throws an . - An object that implements the interface. (This parameter is not used; specify .) - The return value for this member is not used. - In all cases. - - - This conversion is not supported. Attempting to use this method throws an . - An object that implements the interface. (This parameter is not used; specify .) - The return value for this member is not used. - In all cases. - - - This conversion is not supported. Attempting to use this method throws an . - An object that implements the interface. (This parameter is not used; specify .) - The return value for this member is not used. - In all cases. - - - This conversion is not supported. Attempting to use this method throws an . - An object that implements the interface. (This parameter is not used; specify .) - The return value for this member is not used. - In all cases. - - - This conversion is not supported. Attempting to use this method throws an . - An object that implements the interface. (This parameter is not used; specify .) - The return value for this member is not used. - In all cases. - - - This conversion is not supported. Attempting to use this method throws an . - An object that implements the interface. (This parameter is not used; specify .) - The return value for this member is not used. - In all cases. - - - This conversion is not supported. Attempting to use this method throws an . - An object that implements the interface. (This parameter is not used; specify .) - The return value for this member is not used. - In all cases. - - - Converts the current object to an object of a specified type. - The desired type. - An object that implements the interface. (This parameter is not used; specify .) - An object of the type specified by the parameter, with a value equivalent to the current object. - - is . - This conversion is not supported for the type. - - - This conversion is not supported. Attempting to use this method throws an . - An object that implements the interface. (This parameter is not used; specify .) - The return value for this member is not used. - In all cases. - - - This conversion is not supported. Attempting to use this method throws an . - An object that implements the interface. (This parameter is not used; specify .) - The return value for this member is not used. - In all cases. - - - This conversion is not supported. Attempting to use this method throws an . - An object that implements the interface. (This parameter is not used; specify .) - The return value for this member is not used. - In all cases. - - - Populates a object with the data needed to serialize the current object. - The object to populate with data. - The destination for this serialization. (This parameter is not used; specify .) - - is . - - - Serializes the current object to a 64-bit binary value that subsequently can be used to recreate the object. - A 64-bit signed integer that encodes the and properties. - - - Converts the value of the current object to a Windows file time. - The value of the current object expressed as a Windows file time. - The resulting file time would represent a date and time before 12:00 midnight January 1, 1601 C.E. UTC. - - - Converts the value of the current object to a Windows file time. - The value of the current object expressed as a Windows file time. - The resulting file time would represent a date and time before 12:00 midnight January 1, 1601 C.E. UTC. - - - Converts the value of the current object to local time. - An object whose property is , and whose value is the local time equivalent to the value of the current object, or if the converted value is too large to be represented by a object, or if the converted value is too small to be represented as a object. - - - Converts the value of the current object to its equivalent long date string representation. - A string that contains the long date string representation of the current object. - - - Converts the value of the current object to its equivalent long time string representation. - A string that contains the long time string representation of the current object. - - - Converts the value of this instance to the equivalent OLE Automation date. - A double-precision floating-point number that contains an OLE Automation date equivalent to the value of this instance. - The value of this instance cannot be represented as an OLE Automation Date. - - - Converts the value of the current object to its equivalent short date string representation. - A string that contains the short date string representation of the current object. - - - Converts the value of the current object to its equivalent short time string representation. - A string that contains the short time string representation of the current object. - - - Converts the value of the current object to its equivalent string representation using the formatting conventions of the current culture. - A string representation of the value of the current object. - The date and time is outside the range of dates supported by the calendar used by the current culture. - - - Converts the value of the current object to its equivalent string representation using the specified culture-specific format information. - An object that supplies culture-specific formatting information. - A string representation of value of the current object as specified by . - The date and time is outside the range of dates supported by the calendar used by . - - - Converts the value of the current object to its equivalent string representation using the specified format and the formatting conventions of the current culture. - A standard or custom date and time format string (see Remarks). - A string representation of value of the current object as specified by . - The length of is 1, and it is not one of the format specifier characters defined for .-or- - does not contain a valid custom format pattern. - The date and time is outside the range of dates supported by the calendar used by the current culture. - - - Converts the value of the current object to its equivalent string representation using the specified format and culture-specific format information. - A standard or custom date and time format string. - An object that supplies culture-specific formatting information. - A string representation of value of the current object as specified by and . - The length of is 1, and it is not one of the format specifier characters defined for .-or- - does not contain a valid custom format pattern. - The date and time is outside the range of dates supported by the calendar used by . - - - Converts the value of the current object to Coordinated Universal Time (UTC). - An object whose property is , and whose value is the UTC equivalent to the value of the current object, or if the converted value is too large to be represented by a object, or if the converted value is too small to be represented by a object. - - - Converts the specified string representation of a date and time to its equivalent and returns a value that indicates whether the conversion succeeded. - A string containing a date and time to convert. - When this method returns, contains the value equivalent to the date and time contained in , if the conversion succeeded, or if the conversion failed. The conversion fails if the parameter is , is an empty string (""), or does not contain a valid string representation of a date and time. This parameter is passed uninitialized. - - if the parameter was converted successfully; otherwise, . - - - Converts the specified string representation of a date and time to its equivalent using the specified culture-specific format information and formatting style, and returns a value that indicates whether the conversion succeeded. - A string containing a date and time to convert. - An object that supplies culture-specific formatting information about . - A bitwise combination of enumeration values that defines how to interpret the parsed date in relation to the current time zone or the current date. A typical value to specify is . - When this method returns, contains the value equivalent to the date and time contained in , if the conversion succeeded, or if the conversion failed. The conversion fails if the parameter is , is an empty string (""), or does not contain a valid string representation of a date and time. This parameter is passed uninitialized. - - if the parameter was converted successfully; otherwise, . - - is not a valid value.-or- - contains an invalid combination of values (for example, both and ). - - is a neutral culture and cannot be used in a parsing operation. - - - Converts the specified string representation of a date and time to its equivalent using the specified format, culture-specific format information, and style. The format of the string representation must match the specified format exactly. The method returns a value that indicates whether the conversion succeeded. - A string containing a date and time to convert. - The required format of . See the Remarks section for more information. - An object that supplies culture-specific formatting information about . - A bitwise combination of one or more enumeration values that indicate the permitted format of . - When this method returns, contains the value equivalent to the date and time contained in , if the conversion succeeded, or if the conversion failed. The conversion fails if either the or parameter is , is an empty string, or does not contain a date and time that correspond to the pattern specified in . This parameter is passed uninitialized. - - if was converted successfully; otherwise, . - - is not a valid value.-or- - contains an invalid combination of values (for example, both and ). - - - Converts the specified string representation of a date and time to its equivalent using the specified array of formats, culture-specific format information, and style. The format of the string representation must match at least one of the specified formats exactly. The method returns a value that indicates whether the conversion succeeded. - A string that contains a date and time to convert. - An array of allowable formats of . See the Remarks section for more information. - An object that supplies culture-specific format information about . - A bitwise combination of enumeration values that indicates the permitted format of . A typical value to specify is . - When this method returns, contains the value equivalent to the date and time contained in , if the conversion succeeded, or if the conversion failed. The conversion fails if or is , or an element of is an empty string, or the format of is not exactly as specified by at least one of the format patterns in . This parameter is passed uninitialized. - - if the parameter was converted successfully; otherwise, . - - is not a valid value.-or- - contains an invalid combination of values (for example, both and ). - - - Initializes a new instance of the structure using the specified value. - A date and time. - The Coordinated Universal Time (UTC) date and time that results from applying the offset is earlier than .-or-The UTC date and time that results from applying the offset is later than . - - - Initializes a new instance of the structure using the specified value and offset. - A date and time. - The time's offset from Coordinated Universal Time (UTC). - - equals and does not equal zero.-or- - equals and does not equal the offset of the system's local time zone.-or- - is not specified in whole minutes. - - is less than -14 hours or greater than 14 hours.-or- - is less than or greater than . - - - Initializes a new instance of the structure using the specified year, month, day, hour, minute, second, millisecond, and offset of a specified calendar. - The year. - The month (1 through 12). - The day (1 through the number of days in ). - The hours (0 through 23). - The minutes (0 through 59). - The seconds (0 through 59). - The milliseconds (0 through 999). - The calendar that is used to interpret , , and . - The time's offset from Coordinated Universal Time (UTC). - - does not represent whole minutes. - - cannot be . - - is less than the parameter's or greater than .-or- - is either less than or greater than the number of months in in the . -or- - is less than one or greater than the number of days in .-or- - is less than zero or greater than 23.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 999.-or- - is less than -14 hours or greater than 14 hours.-or-The , , and parameters cannot be represented as a date and time value.-or-The property is earlier than or later than . - - - Initializes a new instance of the structure using the specified year, month, day, hour, minute, second, millisecond, and offset. - The year (1 through 9999). - The month (1 through 12). - The day (1 through the number of days in ). - The hours (0 through 23). - The minutes (0 through 59). - The seconds (0 through 59). - The milliseconds (0 through 999). - The time's offset from Coordinated Universal Time (UTC). - - does not represent whole minutes. - - is less than one or greater than 9999.-or- - is less than one or greater than 12.-or- - is less than one or greater than the number of days in .-or- - is less than zero or greater than 23.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 999.-or- - is less than -14 or greater than 14.-or-The property is earlier than or later than . - - - Initializes a new instance of the structure using the specified year, month, day, hour, minute, second, and offset. - The year (1 through 9999). - The month (1 through 12). - The day (1 through the number of days in ). - The hours (0 through 23). - The minutes (0 through 59). - The seconds (0 through 59). - The time's offset from Coordinated Universal Time (UTC). - - does not represent whole minutes. - - is less than one or greater than 9999.-or- - is less than one or greater than 12.-or- - is less than one or greater than the number of days in .-or- - is less than zero or greater than 23.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 59.-or- - is less than -14 hours or greater than 14 hours.-or-The property is earlier than or later than . - - - Initializes a new instance of the structure using the specified number of ticks and offset. - A date and time expressed as the number of 100-nanosecond intervals that have elapsed since 12:00:00 midnight on January 1, 0001. - The time's offset from Coordinated Universal Time (UTC). - - is not specified in whole minutes. - The property is earlier than or later than .-or- - is less than or greater than .-or- - s less than -14 hours or greater than 14 hours. - - - Returns a new object that adds a specified time interval to the value of this instance. - A object that represents a positive or a negative time interval. - An object whose value is the sum of the date and time represented by the current object and the time interval represented by . - The resulting value is less than .-or- The resulting value is greater than . - - - Returns a new object that adds a specified number of whole and fractional days to the value of this instance. - A number of whole and fractional days. The number can be negative or positive. - An object whose value is the sum of the date and time represented by the current object and the number of days represented by . - The resulting value is less than .-or- The resulting value is greater than . - - - Returns a new object that adds a specified number of whole and fractional hours to the value of this instance. - A number of whole and fractional hours. The number can be negative or positive. - An object whose value is the sum of the date and time represented by the current object and the number of hours represented by . - The resulting value is less than .-or- The resulting value is greater than . - - - Returns a new object that adds a specified number of milliseconds to the value of this instance. - A number of whole and fractional milliseconds. The number can be negative or positive. - An object whose value is the sum of the date and time represented by the current object and the number of whole milliseconds represented by . - The resulting value is less than .-or- The resulting value is greater than . - - - Returns a new object that adds a specified number of whole and fractional minutes to the value of this instance. - A number of whole and fractional minutes. The number can be negative or positive. - An object whose value is the sum of the date and time represented by the current object and the number of minutes represented by . - The resulting value is less than .-or- The resulting value is greater than . - - - Returns a new object that adds a specified number of months to the value of this instance. - A number of whole months. The number can be negative or positive. - An object whose value is the sum of the date and time represented by the current object and the number of months represented by . - The resulting value is less than .-or- The resulting value is greater than . - - - Returns a new object that adds a specified number of whole and fractional seconds to the value of this instance. - A number of whole and fractional seconds. The number can be negative or positive. - An object whose value is the sum of the date and time represented by the current object and the number of seconds represented by . - The resulting value is less than .-or- The resulting value is greater than . - - - Returns a new object that adds a specified number of ticks to the value of this instance. - A number of 100-nanosecond ticks. The number can be negative or positive. - An object whose value is the sum of the date and time represented by the current object and the number of ticks represented by . - The resulting value is less than .-or- The resulting value is greater than . - - - Returns a new object that adds a specified number of years to the value of this instance. - A number of years. The number can be negative or positive. - An object whose value is the sum of the date and time represented by the current object and the number of years represented by . - The resulting value is less than .-or- The resulting value is greater than . - - - Compares two objects and indicates whether the first is earlier than the second, equal to the second, or later than the second. - The first object to compare. - The second object to compare. - A signed integer that indicates whether the value of the parameter is earlier than, later than, or the same time as the value of the parameter, as the following table shows.Return valueMeaningLess than zero - is earlier than .Zero - is equal to .Greater than zero - is later than . - - - Compares the current object to a specified object and indicates whether the current object is earlier than, the same as, or later than the second object. - An object to compare with the current object. - A signed integer that indicates the relationship between the current object and , as the following table shows.Return ValueDescriptionLess than zeroThe current object is earlier than .ZeroThe current object is the same as .Greater than zero.The current object is later than . - - - Determines whether the current object represents the same point in time as a specified object. - An object to compare to the current object. - - if both objects have the same value; otherwise, . - - - Determines whether two specified objects represent the same point in time. - The first object to compare. - The second object to compare. - - if the two objects have the same value; otherwise, . - - - Determines whether a object represents the same point in time as a specified object. - The object to compare to the current object. - - if the parameter is a object and represents the same point in time as the current object; otherwise, . - - - Determines whether the current object represents the same time and has the same offset as a specified object. - The object to compare to the current object. - - if the current object and have the same date and time value and the same value; otherwise, . - - - Converts the specified Windows file time to an equivalent local time. - A Windows file time, expressed in ticks. - An object that represents the date and time of with the offset set to the local time offset. - - is less than zero.-or- - is greater than . - - - Converts a Unix time expressed as the number of milliseconds that have elapsed since 1970-01-01T00:00:00Z to a value. - A Unix time, expressed as the number of milliseconds that have elapsed since 1970-01-01T00:00:00Z (January 1, 1970, at 12:00 AM UTC). For Unix times before this date, its value is negative. - A date and time value that represents the same moment in time as the Unix time. - - is less than -62,135,596,800,000. -or- - is greater than 253,402,300,799,999. - - - Converts a Unix time expressed as the number of seconds that have elapsed since 1970-01-01T00:00:00Z to a value. - A Unix time, expressed as the number of seconds that have elapsed since 1970-01-01T00:00:00Z (January 1, 1970, at 12:00 AM UTC). For Unix times before this date, its value is negative. - A date and time value that represents the same moment in time as the Unix time. - - is less than -62,135,596,800. -or- - is greater than 253,402,300,799. - - - Returns the hash code for the current object. - A 32-bit signed integer hash code. - - - Adds a specified time interval to a object that has a specified date and time, and yields a object that has new a date and time. - The object to add the time interval to. - The time interval to add. - An object whose value is the sum of the values of and . - The resulting value is less than .-or- The resulting value is greater than . - - - Determines whether two specified objects represent the same point in time. - The first object to compare. - The second object to compare. - - if both objects have the same value; otherwise, . - - - Determines whether one specified object is greater than (or later than) a second specified object. - The first object to compare. - The second object to compare. - - if the value of is later than the value of ; otherwise, . - - - Determines whether one specified object is greater than or equal to a second specified object. - The first object to compare. - The second object to compare. - - if the value of is the same as or later than the value of ; otherwise, . - - - Defines an implicit conversion of a object to a object. - The object to convert. - The converted object. - The Coordinated Universal Time (UTC) date and time that results from applying the offset is earlier than .-or-The UTC date and time that results from applying the offset is later than . - - - Determines whether two specified objects refer to different points in time. - The first object to compare. - The second object to compare. - - if and do not have the same value; otherwise, . - - - Determines whether one specified object is less than a second specified object. - The first object to compare. - The second object to compare. - - if the value of is earlier than the value of ; otherwise, . - - - Determines whether one specified object is less than a second specified object. - The first object to compare. - The second object to compare. - - if the value of is earlier than the value of ; otherwise, . - - - Subtracts one object from another and yields a time interval. - The minuend. - The subtrahend. - An object that represents the difference between and . - - - Subtracts a specified time interval from a specified date and time, and yields a new date and time. - The date and time object to subtract from. - The time interval to subtract. - An object that is equal to the value of minus . - The resulting value is less than or greater than . - - - Converts the specified string representation of a date, time, and offset to its equivalent. - A string that contains a date and time to convert. - An object that is equivalent to the date and time that is contained in . - The offset is greater than 14 hours or less than -14 hours. - - is . - - does not contain a valid string representation of a date and time.-or- - contains the string representation of an offset value without a date or time. - - - Converts the specified string representation of a date and time to its equivalent using the specified culture-specific format information. - A string that contains a date and time to convert. - An object that provides culture-specific format information about . - An object that is equivalent to the date and time that is contained in , as specified by . - The offset is greater than 14 hours or less than -14 hours. - - is . - - does not contain a valid string representation of a date and time.-or- - contains the string representation of an offset value without a date or time. - - - Converts the specified string representation of a date and time to its equivalent using the specified culture-specific format information and formatting style. - A string that contains a date and time to convert. - An object that provides culture-specific format information about . - A bitwise combination of enumeration values that indicates the permitted format of . A typical value to specify is . - An object that is equivalent to the date and time that is contained in as specified by and . - The offset is greater than 14 hours or less than -14 hours.-or- - is not a valid value.-or- - includes an unsupported value.-or- - includes values that cannot be used together. - - is . - - does not contain a valid string representation of a date and time.-or- - contains the string representation of an offset value without a date or time. - - - Converts the specified string representation of a date and time to its equivalent using the specified format and culture-specific format information. The format of the string representation must match the specified format exactly. - A string that contains a date and time to convert. - A format specifier that defines the expected format of . - An object that supplies culture-specific formatting information about . - An object that is equivalent to the date and time that is contained in as specified by and . - The offset is greater than 14 hours or less than -14 hours. - - is .-or- - is . - - is an empty string ("").-or- - does not contain a valid string representation of a date and time.-or- - is an empty string.-or- - The hour component and the AM/PM designator in do not agree. - - - Converts the specified string representation of a date and time to its equivalent using the specified format, culture-specific format information, and style. The format of the string representation must match the specified format exactly. - A string that contains a date and time to convert. - A format specifier that defines the expected format of . - An object that supplies culture-specific formatting information about . - A bitwise combination of enumeration values that indicates the permitted format of . - An object that is equivalent to the date and time that is contained in the parameter, as specified by the , , and parameters. - The offset is greater than 14 hours or less than -14 hours.-or-The parameter includes an unsupported value.-or-The parameter contains values that cannot be used together. - - is .-or- - is . - - is an empty string ("").-or- - does not contain a valid string representation of a date and time.-or- - is an empty string.-or- - The hour component and the AM/PM designator in do not agree. - - - Converts the specified string representation of a date and time to its equivalent using the specified formats, culture-specific format information, and style. The format of the string representation must match one of the specified formats exactly. - A string that contains a date and time to convert. - An array of format specifiers that define the expected formats of . - An object that supplies culture-specific formatting information about . - A bitwise combination of enumeration values that indicates the permitted format of . - An object that is equivalent to the date and time that is contained in the parameter, as specified by the , , and parameters. - The offset is greater than 14 hours or less than -14 hours.-or- - includes an unsupported value.-or-The parameter contains values that cannot be used together. - - is . - - is an empty string ("").-or- - does not contain a valid string representation of a date and time.-or-No element of contains a valid format specifier.-or- - The hour component and the AM/PM designator in do not agree. - - - Subtracts a value that represents a specific date and time from the current object. - An object that represents the value to subtract. - An object that specifies the interval between the two objects. - - - Subtracts a specified time interval from the current object. - The time interval to subtract. - An object that is equal to the date and time represented by the current object, minus the time interval represented by . - The resulting value is less than .-or- The resulting value is greater than . - - - Compares the value of the current object with another object of the same type. - The object to compare with the current object. - A 32-bit signed integer that indicates whether the current object is less than, equal to, or greater than . The return values of the method are interpreted as follows:Return ValueDescriptionLess than zeroThe current object is less than (earlier than) .ZeroThe current object is equal to (the same point in time as) .Greater than zeroThe current object is greater than (later than) . - - - Runs when the deserialization of an object has been completed. - The object that initiated the callback. The functionality for this parameter is not currently implemented. - - - Populates a object with the data required to serialize the current object. - The object to populate with data. - The destination for this serialization (see ). - The parameter is . - - - Converts the value of the current object to a Windows file time. - The value of the current object, expressed as a Windows file time. - The resulting file time would represent a date and time before midnight on January 1, 1601 C.E. Coordinated Universal Time (UTC). - - - Converts the current object to a object that represents the local time. - An object that represents the date and time of the current object converted to local time. - - - Converts the value of the current object to the date and time specified by an offset value. - The offset to convert the value to. - An object that is equal to the original object (that is, their methods return identical points in time) but whose property is set to . - The resulting object has a value earlier than .-or-The resulting object has a value later than . - - is less than -14 hours.-or- - is greater than 14 hours. - - - Converts the value of the current object to its equivalent string representation. - A string representation of a object that includes the offset appended at the end of the string. - The date and time is outside the range of dates supported by the calendar used by the current culture. - - - Converts the value of the current object to its equivalent string representation using the specified culture-specific formatting information. - An object that supplies culture-specific formatting information. - A string representation of the value of the current object, as specified by . - The date and time is outside the range of dates supported by the calendar used by . - - - Converts the value of the current object to its equivalent string representation using the specified format. - A format string. - A string representation of the value of the current object, as specified by . - The length of is one, and it is not one of the standard format specifier characters defined for . -or- - does not contain a valid custom format pattern. - The date and time is outside the range of dates supported by the calendar used by the current culture. - - - Converts the value of the current object to its equivalent string representation using the specified format and culture-specific format information. - A format string. - An object that supplies culture-specific formatting information. - A string representation of the value of the current object, as specified by and . - The length of is one, and it is not one of the standard format specifier characters defined for .-or- - does not contain a valid custom format pattern. - The date and time is outside the range of dates supported by the calendar used by . - - - Converts the current object to a value that represents the Coordinated Universal Time (UTC). - An object that represents the date and time of the current object converted to Coordinated Universal Time (UTC). - - - Returns the number of milliseconds that have elapsed since 1970-01-01T00:00:00.000Z. - The number of milliseconds that have elapsed since 1970-01-01T00:00:00.000Z. - - - Returns the number of seconds that have elapsed since 1970-01-01T00:00:00Z. - The number of seconds that have elapsed since 1970-01-01T00:00:00Z. - - - Tries to converts a specified string representation of a date and time to its equivalent, and returns a value that indicates whether the conversion succeeded. - A string that contains a date and time to convert. - When the method returns, contains the equivalent to the date and time of , if the conversion succeeded, or , if the conversion failed. The conversion fails if the parameter is or does not contain a valid string representation of a date and time. This parameter is passed uninitialized. - - if the parameter is successfully converted; otherwise, . - - - Tries to convert a specified string representation of a date and time to its equivalent, and returns a value that indicates whether the conversion succeeded. - A string that contains a date and time to convert. - An object that provides culture-specific formatting information about . - A bitwise combination of enumeration values that indicates the permitted format of . - When the method returns, contains the value equivalent to the date and time of , if the conversion succeeded, or , if the conversion failed. The conversion fails if the parameter is or does not contain a valid string representation of a date and time. This parameter is passed uninitialized. - - if the parameter is successfully converted; otherwise, . - - includes an undefined value.-or- - is not supported.-or- - includes mutually exclusive values. - - - Converts the specified string representation of a date and time to its equivalent using the specified format, culture-specific format information, and style. The format of the string representation must match the specified format exactly. - A string that contains a date and time to convert. - A format specifier that defines the required format of . - An object that supplies culture-specific formatting information about . - A bitwise combination of enumeration values that indicates the permitted format of input. A typical value to specify is . - When the method returns, contains the equivalent to the date and time of , if the conversion succeeded, or , if the conversion failed. The conversion fails if the parameter is , or does not contain a valid string representation of a date and time in the expected format defined by and . This parameter is passed uninitialized. - - if the parameter is successfully converted; otherwise, . - - includes an undefined value.-or- - is not supported.-or- - includes mutually exclusive values. - - - Converts the specified string representation of a date and time to its equivalent using the specified array of formats, culture-specific format information, and style. The format of the string representation must match one of the specified formats exactly. - A string that contains a date and time to convert. - An array that defines the expected formats of . - An object that supplies culture-specific formatting information about . - A bitwise combination of enumeration values that indicates the permitted format of input. A typical value to specify is . - When the method returns, contains the equivalent to the date and time of , if the conversion succeeded, or , if the conversion failed. The conversion fails if the does not contain a valid string representation of a date and time, or does not contain the date and time in the expected format defined by , or if is . This parameter is passed uninitialized. - - if the parameter is successfully converted; otherwise, . - - includes an undefined value.-or- - is not supported.-or- - includes mutually exclusive values. - - - Implements the interface and returns the data needed to serialize the object. - A object containing information required to serialize the object. - A object containing the source and destination of the serialized stream associated with the object. - - is . - - - Gets the value for . - The value for , which is . - - - This conversion is not supported. Attempting to make this conversion throws an . - An object that implements the interface. (This parameter is not used; specify .) - None. The return value for this member is not used. - This conversion is not supported for the type. - - - This conversion is not supported. Attempting to make this conversion throws an . - An object that implements the interface. (This parameter is not used; specify .) - None. The return value for this member is not used. - This conversion is not supported for the type. - - - This conversion is not supported. Attempting to make this conversion throws an . - An object that implements the interface. (This parameter is not used; specify .) - None. The return value for this member is not used. - This conversion is not supported for the type. - - - This conversion is not supported. Attempting to make this conversion throws an . - An object that implements the interface. (This parameter is not used; specify .) - None. The return value for this member is not used. - This conversion is not supported for the type. - - - This conversion is not supported. Attempting to make this conversion throws an . - An object that implements the interface. (This parameter is not used; specify .) - None. The return value for this member is not used. - This conversion is not supported for the type. - - - This conversion is not supported. Attempting to make this conversion throws an . - An object that implements the interface. (This parameter is not used; specify .) - None. The return value for this member is not used. - This conversion is not supported for the type. - - - This conversion is not supported. Attempting to make this conversion throws an . - An object that implements the interface. (This parameter is not used; specify .) - None. The return value for this member is not used. - This conversion is not supported for the type. - - - This conversion is not supported. Attempting to make this conversion throws an . - An object that implements the interface. (This parameter is not used; specify .) - None. The return value for this member is not used. - This conversion is not supported for the type. - - - This conversion is not supported. Attempting to make this conversion throws an . - An object that implements the interface. (This parameter is not used; specify .) - None. The return value for this member is not used. - This conversion is not supported for the type. - - - This conversion is not supported. Attempting to make this conversion throws an . - An object that implements the interface. (This parameter is not used; specify .) - None. The return value for this member is not used. - This conversion is not supported for the type. - - - This conversion is not supported. Attempting to make this conversion throws an . - An object that implements the interface. (This parameter is not used; specify .) - None. The return value for this member is not used. - This conversion is not supported for the type. - - - Converts the current object to the specified type. - The type to convert the current object to. - An object that implements the interface and is used to augment the conversion. If is specified, format information is obtained from the current culture. - The boxed equivalent of the current object, if that conversion is supported; otherwise, an exception is thrown and no value is returned. - This conversion is not supported for the type. - - is . - - - This conversion is not supported. Attempting to make this conversion throws an . - An object that implements the interface. (This parameter is not used; specify .) - None. The return value for this member is not used. - This conversion is not supported for the type. - - - This conversion is not supported. Attempting to make this conversion throws an . - An object that implements the interface. (This parameter is not used; specify .) - None. The return value for this member is not used. - This conversion is not supported for the type. - - - This conversion is not supported. Attempting to make this conversion throws an . - An object that implements the interface. (This parameter is not used; specify .) - None. The return value for this member is not used. - This conversion is not supported for the type. - - - Returns an empty string (). - An empty string (). - - - Returns an empty string using the specified . - The to be used to format the return value.-or- - to obtain the format information from the current locale setting of the operating system. - An empty string (). - - - Initializes a new instance of to the value of the specified double-precision floating-point number. - The value to represent as a . - - is greater than or less than .-or- - is , , or . - - - Initializes a new instance of to the value of the specified 32-bit signed integer. - The value to represent as a . - - - Initializes a new instance of from parameters specifying the instance's constituent parts. - The low 32 bits of a 96-bit integer. - The middle 32 bits of a 96-bit integer. - The high 32 bits of a 96-bit integer. - - to indicate a negative number; to indicate a positive number. - A power of 10 ranging from 0 to 28. - - is greater than 28. - - - Initializes a new instance of to a decimal value represented in binary and contained in a specified array. - An array of 32-bit signed integers containing a representation of a decimal value. - - is . - The length of the is not 4.-or- The representation of the decimal value in is not valid. - - - Initializes a new instance of to the value of the specified 64-bit signed integer. - The value to represent as a . - - - Initializes a new instance of to the value of the specified single-precision floating-point number. - The value to represent as a . - - is greater than or less than .-or- - is , , or . - - - Initializes a new instance of to the value of the specified 32-bit unsigned integer. - The value to represent as a . - - - Initializes a new instance of to the value of the specified 64-bit unsigned integer. - The value to represent as a . - - - Adds two specified values. - The first value to add. - The second value to add. - The sum of and . - The sum of and is less than or greater than . - - - Returns the smallest integral value that is greater than or equal to the specified decimal number. - A decimal number. - The smallest integral value that is greater than or equal to the parameter. Note that this method returns a instead of an integral type. - - - Compares two specified values. - The first value to compare. - The second value to compare. - A signed number indicating the relative values of and .Return value Meaning Less than zero - is less than . Zero - and are equal. Greater than zero - is greater than . - - - Compares this instance to a specified object and returns a comparison of their relative values. - The object to compare with this instance. - A signed number indicating the relative values of this instance and .Return value Meaning Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . - - - Compares this instance to a specified object and returns a comparison of their relative values. - The object to compare with this instance, or . - A signed number indicating the relative values of this instance and .Return value Meaning Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than .-or- - is . - - is not a . - - - Divides two specified values. - The dividend. - The divisor. - The result of dividing by . - - is zero. - The return value (that is, the quotient) is less than or greater than . - - - Returns a value indicating whether this instance and a specified object represent the same value. - An object to compare to this instance. - - if is equal to this instance; otherwise, . - - - Returns a value indicating whether two specified instances of represent the same value. - The first value to compare. - The second value to compare. - - if and are equal; otherwise, . - - - Returns a value indicating whether this instance and a specified represent the same type and value. - The object to compare with this instance. - - if is a and equal to this instance; otherwise, . - - - Rounds a specified number to the closest integer toward negative infinity. - The value to round. - If has a fractional part, the next whole number toward negative infinity that is less than .-or- If doesn't have a fractional part, is returned unchanged. Note that the method returns an integral value of type . - - - Converts the specified 64-bit signed integer, which contains an OLE Automation Currency value, to the equivalent value. - An OLE Automation Currency value. - A that contains the equivalent of . - - - Converts the value of a specified instance of to its equivalent binary representation. - The value to convert. - A 32-bit signed integer array with four elements that contain the binary representation of . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns the for value type . - The enumerated constant . - - - Multiplies two specified values. - The multiplicand. - The multiplier. - The result of multiplying and . - The return value is less than or greater than . - - - Returns the result of multiplying the specified value by negative one. - The value to negate. - A decimal number with the value of , but the opposite sign.-or- Zero, if is zero. - - - Adds two specified values. - The first value to add. - The second value to add. - The result of adding and . - The return value is less than or greater than . - - - Decrements the operand by one. - The value to decrement. - The value of decremented by 1. - The return value is less than or greater than . - - - Divides two specified values. - The dividend. - The divisor. - The result of dividing by . - - is zero. - The return value is less than or greater than . - - - Returns a value that indicates whether two values are equal. - The first value to compare. - The second value to compare. - - if and are equal; otherwise, . - - - Defines an explicit conversion of a to an 8-bit unsigned integer. - The value to convert. - An 8-bit unsigned integer that represents the converted . - - is less than or greater than . - - - Defines an explicit conversion of a to a Unicode character. - The value to convert. - A Unicode character that represents the converted . - - is less than or greater than . - - - Defines an explicit conversion of a to a double-precision floating-point number. - The value to convert. - A double-precision floating-point number that represents the converted . - - - Defines an explicit conversion of a to a 16-bit signed integer. - The value to convert. - A 16-bit signed integer that represents the converted . - - is less than or greater than . - - - Defines an explicit conversion of a to a 32-bit signed integer. - The value to convert. - A 32-bit signed integer that represents the converted . - - is less than or greater than . - - - Defines an explicit conversion of a to a 64-bit signed integer. - The value to convert. - A 64-bit signed integer that represents the converted . - - is less than or greater than . - - - Defines an explicit conversion of a to an 8-bit signed integer. - The value to convert. - An 8-bit signed integer that represents the converted . - - is less than or greater than . - - - Defines an explicit conversion of a to a single-precision floating-point number. - The value to convert. - A single-precision floating-point number that represents the converted . - - - Defines an explicit conversion of a to a 16-bit unsigned integer. - The value to convert. - A 16-bit unsigned integer that represents the converted . - - is greater than or less than . - - - Defines an explicit conversion of a to a 32-bit unsigned integer. - The value to convert. - A 32-bit unsigned integer that represents the converted . - - is negative or greater than . - - - Defines an explicit conversion of a to a 64-bit unsigned integer. - The value to convert. - A 64-bit unsigned integer that represents the converted . - - is negative or greater than . - - - Defines an explicit conversion of a double-precision floating-point number to a . - The double-precision floating-point number to convert. - The converted double-precision floating point number. - - is less than or greater than .-or- - is , , or . - - - Defines an explicit conversion of a single-precision floating-point number to a . - The single-precision floating-point number to convert. - The converted single-precision floating point number. - - is less than or greater than .-or- - is , , or . - - - Returns a value indicating whether a specified is greater than another specified . - The first value to compare. - The second value to compare. - - if is greater than ; otherwise, . - - - Returns a value indicating whether a specified is greater than or equal to another specified . - The first value to compare. - The second value to compare. - - if is greater than or equal to ; otherwise, . - - - Defines an implicit conversion of an 8-bit unsigned integer to a . - The 8-bit unsigned integer to convert. - The converted 8-bit unsigned integer. - - - Defines an implicit conversion of a Unicode character to a . - The Unicode character to convert. - The converted Unicode character. - - - Defines an implicit conversion of a 16-bit signed integer to a . - The16-bit signed integer to convert. - The converted 16-bit signed integer. - - - Defines an implicit conversion of a 32-bit signed integer to a . - The 32-bit signed integer to convert. - The converted 32-bit signed integer. - - - Defines an implicit conversion of a 64-bit signed integer to a . - The 64-bit signed integer to convert. - The converted 64-bit signed integer. - - - Defines an implicit conversion of an 8-bit signed integer to a . - The 8-bit signed integer to convert. - The converted 8-bit signed integer. - - - Defines an implicit conversion of a 16-bit unsigned integer to a . - The 16-bit unsigned integer to convert. - The converted 16-bit unsigned integer. - - - Defines an implicit conversion of a 32-bit unsigned integer to a . - The 32-bit unsigned integer to convert. - The converted 32-bit unsigned integer. - - - Defines an implicit conversion of a 64-bit unsigned integer to a . - The 64-bit unsigned integer to convert. - The converted 64-bit unsigned integer. - - - Increments the operand by 1. - The value to increment. - The value of incremented by 1. - The return value is less than or greater than . - - - Returns a value that indicates whether two objects have different values. - The first value to compare. - The second value to compare. - - if and are not equal; otherwise, . - - - Returns a value indicating whether a specified is less than another specified . - The first value to compare. - The second value to compare. - - if is less than ; otherwise, . - - - Returns a value indicating whether a specified is less than or equal to another specified . - The first value to compare. - The second value to compare. - - if is less than or equal to ; otherwise, . - - - Returns the remainder resulting from dividing two specified values. - The dividend. - The divisor. - The remainder resulting from dividing by . - - is . - The return value is less than or greater than . - - - Multiplies two specified values. - The first value to multiply. - The second value to multiply. - The result of multiplying by . - The return value is less than or greater than . - - - Subtracts two specified values. - The minuend. - The subtrahend. - The result of subtracting from . - The return value is less than or greater than . - - - Negates the value of the specified operand. - The value to negate. - The result of multiplied by negative one (-1). - - - Returns the value of the operand (the sign of the operand is unchanged). - The operand to return. - The value of the operand, . - - - Converts the string representation of a number to its equivalent. - The string representation of the number to convert. - The equivalent to the number contained in . - - is . - - is not in the correct format. - - represents a number less than or greater than . - - - Converts the string representation of a number in a specified style to its equivalent. - The string representation of the number to convert. - A bitwise combination of values that indicates the style elements that can be present in . A typical value to specify is . - The number equivalent to the number contained in as specified by . - - is . - - is not a value. -or- - is the value. - - is not in the correct format. - - represents a number less than or greater than - - - Converts the string representation of a number to its equivalent using the specified style and culture-specific format. - The string representation of the number to convert. - A bitwise combination of values that indicates the style elements that can be present in . A typical value to specify is . - An object that supplies culture-specific information about the format of . - The number equivalent to the number contained in as specified by and . - - is not in the correct format. - - represents a number less than or greater than . - - is . - - is not a value. -or- - is the value. - - - Converts the string representation of a number to its equivalent using the specified culture-specific format information. - The string representation of the number to convert. - An that supplies culture-specific parsing information about . - The number equivalent to the number contained in as specified by . - - is . - - is not of the correct format - - represents a number less than or greater than - - - Computes the remainder after dividing two values. - The dividend. - The divisor. - The remainder after dividing by . - - is zero. - The return value is less than or greater than . - - - Rounds a decimal value to the nearest integer. - A decimal number to round. - The integer that is nearest to the parameter. If is halfway between two integers, one of which is even and the other odd, the even number is returned. - The result is outside the range of a value. - - - Rounds a value to a specified number of decimal places. - A decimal number to round. - A value from 0 to 28 that specifies the number of decimal places to round to. - The decimal number equivalent to rounded to number of decimal places. - - is not a value from 0 to 28. - - - Rounds a decimal value to a specified precision. A parameter specifies how to round the value if it is midway between two other numbers. - A decimal number to round. - The number of significant decimal places (precision) in the return value. - A value that specifies how to round if it is midway between two other numbers. - The number that is nearest to the parameter with a precision equal to the parameter. If is halfway between two numbers, one of which is even and the other odd, the parameter determines which of the two numbers is returned. If the precision of is less than , is returned unchanged. - - is less than 0 or greater than 28. - - is not a value. - The result is outside the range of a object. - - - Rounds a decimal value to the nearest integer. A parameter specifies how to round the value if it is midway between two other numbers. - A decimal number to round. - A value that specifies how to round if it is midway between two other numbers. - The integer that is nearest to the parameter. If is halfway between two numbers, one of which is even and the other odd, the parameter determines which of the two numbers is returned. - - is not a value. - The result is outside the range of a object. - - - Subtracts one specified value from another. - The minuend. - The subtrahend. - The result of subtracting from . - The return value is less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - - if the value of the current instance is not zero; otherwise, . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - The resulting integer value is less than or greater than . - - - This conversion is not supported. Attempting to use this method throws an . - This parameter is ignored. - None. This conversion is not supported. - In all cases. - - - This conversion is not supported. Attempting to use this method throws an . - This parameter is ignored. - None. This conversion is not supported. - In all cases. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, unchanged. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - The resulting integer value is less than or greater than . - - - For a description of this member, see . - The parameter is ignored. - The value of the current instance, converted to a . - The resulting integer value is less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - The resulting integer value is less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - The resulting integer value is less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - The type to which to convert the value of this instance. - An implementation that supplies culture-specific information about the format of the returned value. - The value of the current instance, converted to a . - - is . - The requested type conversion is not supported. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - The resulting integer value is less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - The resulting integer value is less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - The resulting integer value is less than or greater than . - - - Runs when the deserialization of an object has been completed. - The object that initiated the callback. The functionality for this parameter is not currently implemented. - The object contains invalid or corrupted data. - - - Converts the value of the specified to the equivalent 8-bit unsigned integer. - The decimal number to convert. - An 8-bit unsigned integer equivalent to . - - is less than or greater than . - - - Converts the value of the specified to the equivalent double-precision floating-point number. - The decimal number to convert. - A double-precision floating-point number equivalent to . - - - Converts the value of the specified to the equivalent 16-bit signed integer. - The decimal number to convert. - A 16-bit signed integer equivalent to . - - is less than or greater than . - - - Converts the value of the specified to the equivalent 32-bit signed integer. - The decimal number to convert. - A 32-bit signed integer equivalent to the value of . - - is less than or greater than . - - - Converts the value of the specified to the equivalent 64-bit signed integer. - The decimal number to convert. - A 64-bit signed integer equivalent to the value of . - - is less than or greater than . - - - Converts the specified value to the equivalent OLE Automation Currency value, which is contained in a 64-bit signed integer. - The decimal number to convert. - A 64-bit signed integer that contains the OLE Automation equivalent of . - - - Converts the value of the specified to the equivalent 8-bit signed integer. - The decimal number to convert. - An 8-bit signed integer equivalent to . - - is less than or greater than . - - - Converts the value of the specified to the equivalent single-precision floating-point number. - The decimal number to convert. - A single-precision floating-point number equivalent to the value of . - - - Converts the numeric value of this instance to its equivalent string representation. - A string that represents the value of this instance. - - - Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information. - An object that supplies culture-specific formatting information. - The string representation of the value of this instance as specified by . - - - Converts the numeric value of this instance to its equivalent string representation, using the specified format. - A standard or custom numeric format string (see Remarks). - The string representation of the value of this instance as specified by . - - is invalid. - - - Converts the numeric value of this instance to its equivalent string representation using the specified format and culture-specific format information. - A numeric format string (see Remarks). - An object that supplies culture-specific formatting information. - The string representation of the value of this instance as specified by and . - - is invalid. - - - Converts the value of the specified to the equivalent 16-bit unsigned integer. - The decimal number to convert. - A 16-bit unsigned integer equivalent to the value of . - - is greater than or less than . - - - Converts the value of the specified to the equivalent 32-bit unsigned integer. - The decimal number to convert. - A 32-bit unsigned integer equivalent to the value of . - - is negative or greater than . - - - Converts the value of the specified to the equivalent 64-bit unsigned integer. - The decimal number to convert. - A 64-bit unsigned integer equivalent to the value of . - - is negative or greater than . - - - Returns the integral digits of the specified ; any fractional digits are discarded. - The decimal number to truncate. - The result of rounded toward zero, to the nearest whole number. - - - Converts the string representation of a number to its equivalent. A return value indicates whether the conversion succeeded or failed. - The string representation of the number to convert. - When this method returns, contains the number that is equivalent to the numeric value contained in , if the conversion succeeded, or is zero if the conversion failed. The conversion fails if the parameter is or , is not a number in a valid format, or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - - Converts the string representation of a number to its equivalent using the specified style and culture-specific format. A return value indicates whether the conversion succeeded or failed. - The string representation of the number to convert. - A bitwise combination of enumeration values that indicates the permitted format of . A typical value to specify is . - An object that supplies culture-specific parsing information about . - When this method returns, contains the number that is equivalent to the numeric value contained in , if the conversion succeeded, or is zero if the conversion failed. The conversion fails if the parameter is or , is not in a format compliant with , or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - is not a value. -or- - is the value. - - - Initializes a delegate that invokes the specified instance method on the specified class instance. - The class instance on which the delegate invokes . - The name of the instance method that the delegate represents. - - is .-or- - is . - There was an error binding to the target method. - - - Initializes a delegate that invokes the specified static method from the specified class. - The representing the class that defines . - The name of the static method that the delegate represents. - - is .-or- - is . - - is not a . See Runtime Types in Reflection.-or- - represents an open generic type. - - - Creates a shallow copy of the delegate. - A shallow copy of the delegate. - - - Concatenates the invocation lists of two delegates. - The delegate whose invocation list comes first. - The delegate whose invocation list comes last. - A new delegate with an invocation list that concatenates the invocation lists of and in that order. Returns if is , returns if is a null reference, and returns a null reference if both and are null references. - Both and are not , and and are not instances of the same delegate type. - - - Concatenates the invocation lists of an array of delegates. - The array of delegates to combine. - A new delegate with an invocation list that concatenates the invocation lists of the delegates in the array. Returns if is , if contains zero elements, or if every entry in is . - Not all the non-null entries in are instances of the same delegate type. - - - Concatenates the invocation lists of the specified multicast (combinable) delegate and the current multicast (combinable) delegate. - The multicast (combinable) delegate whose invocation list to append to the end of the invocation list of the current multicast (combinable) delegate. - A new multicast (combinable) delegate with an invocation list that concatenates the invocation list of the current multicast (combinable) delegate and the invocation list of , or the current multicast (combinable) delegate if is . - Always thrown. - - - Creates a delegate of the specified type that represents the specified static or instance method, with the specified first argument. - The of delegate to create. - The object to which the delegate is bound, or to treat as ( in Visual Basic). - The describing the static or instance method the delegate is to represent. - A delegate of the specified type that represents the specified static or instance method. - - is .-or- - is . - - does not inherit .-or- - is not a . See Runtime Types in Reflection. -or- - cannot be bound.-or- - is not a . See Runtime Types in Reflection. - The method of is not found. - The caller does not have the permissions necessary to access . - - - Creates a delegate of the specified type that represents the specified static or instance method, with the specified first argument and the specified behavior on failure to bind. - A representing the type of delegate to create. - An that is the first argument of the method the delegate represents. For instance methods, it must be compatible with the instance type. - The describing the static or instance method the delegate is to represent. - - to throw an exception if cannot be bound; otherwise, . - A delegate of the specified type that represents the specified static or instance method, or if is and the delegate cannot be bound to . - - is .-or- - is . - - does not inherit .-or- - is not a . See Runtime Types in Reflection. -or- - cannot be bound, and is .-or- - is not a . See Runtime Types in Reflection. - The method of is not found. - The caller does not have the permissions necessary to access . - - - Creates a delegate of the specified type that represents the specified instance method to invoke on the specified class instance. - The of delegate to create. - The class instance on which is invoked. - The name of the instance method that the delegate is to represent. - A delegate of the specified type that represents the specified instance method to invoke on the specified class instance. - - is .-or- - is .-or- - is . - - does not inherit . -or- - is not a . See Runtime Types in Reflection.-or- - is not an instance method. -or- - cannot be bound, for example because it cannot be found. - The method of is not found. - The caller does not have the permissions necessary to access . - - - Creates a delegate of the specified type that represents the specified instance method to invoke on the specified class instance with the specified case-sensitivity. - The of delegate to create. - The class instance on which is invoked. - The name of the instance method that the delegate is to represent. - A Boolean indicating whether to ignore the case when comparing the name of the method. - A delegate of the specified type that represents the specified instance method to invoke on the specified class instance. - - is .-or- - is .-or- - is . - - does not inherit .-or- - is not a . See Runtime Types in Reflection.-or- - is not an instance method. -or- - cannot be bound, for example because it cannot be found. - The method of is not found. - The caller does not have the permissions necessary to access . - - - Creates a delegate of the specified type that represents the specified instance method to invoke on the specified class instance, with the specified case-sensitivity and the specified behavior on failure to bind. - The of delegate to create. - The class instance on which is invoked. - The name of the instance method that the delegate is to represent. - A Boolean indicating whether to ignore the case when comparing the name of the method. - - to throw an exception if cannot be bound; otherwise, . - A delegate of the specified type that represents the specified instance method to invoke on the specified class instance. - - is .-or- - is .-or- - is . - - does not inherit .-or- - is not a . See Runtime Types in Reflection. -or- - is not an instance method. -or- - cannot be bound, for example because it cannot be found, and is . - The method of is not found. - The caller does not have the permissions necessary to access . - - - Creates a delegate of the specified type to represent the specified static method. - The of delegate to create. - The describing the static or instance method the delegate is to represent. Only static methods are supported in the .NET Framework version 1.0 and 1.1. - A delegate of the specified type to represent the specified static method. - - is .-or- - is . - - does not inherit .-or- - is not a . See Runtime Types in Reflection. -or- - is not a static method, and the .NET Framework version is 1.0 or 1.1. -or- - cannot be bound.-or- - is not a . See Runtime Types in Reflection. - The method of is not found. - The caller does not have the permissions necessary to access . - - - Creates a delegate of the specified type to represent the specified static method, with the specified behavior on failure to bind. - The of delegate to create. - The describing the static or instance method the delegate is to represent. - - to throw an exception if cannot be bound; otherwise, . - A delegate of the specified type to represent the specified static method. - - is .-or- - is . - - does not inherit .-or- - is not a . See Runtime Types in Reflection. -or- - cannot be bound, and is .-or- - is not a . See Runtime Types in Reflection. - The method of is not found. - The caller does not have the permissions necessary to access . - - - Creates a delegate of the specified type that represents the specified static method of the specified class. - The of delegate to create. - The representing the class that implements . - The name of the static method that the delegate is to represent. - A delegate of the specified type that represents the specified static method of the specified class. - - is .-or- - is .-or- - is . - - does not inherit .-or- - is not a . See Runtime Types in Reflection. -or- - is not a .-or- - is an open generic type. That is, its property is .-or- - is not a method ( method in Visual Basic). -or- - cannot be bound, for example because it cannot be found, and is . - The method of is not found. - The caller does not have the permissions necessary to access . - - - Creates a delegate of the specified type that represents the specified static method of the specified class, with the specified case-sensitivity. - The of delegate to create. - The representing the class that implements . - The name of the static method that the delegate is to represent. - A Boolean indicating whether to ignore the case when comparing the name of the method. - A delegate of the specified type that represents the specified static method of the specified class. - - is .-or- - is .-or- - is . - - does not inherit .-or- - is not a . See Runtime Types in Reflection. -or- - is not a .-or- - is an open generic type. That is, its property is .-or- - is not a method ( method in Visual Basic). -or- - cannot be bound, for example because it cannot be found. - The method of is not found. - The caller does not have the permissions necessary to access . - - - Creates a delegate of the specified type that represents the specified static method of the specified class, with the specified case-sensitivity and the specified behavior on failure to bind. - The of delegate to create. - The representing the class that implements . - The name of the static method that the delegate is to represent. - A Boolean indicating whether to ignore the case when comparing the name of the method. - - to throw an exception if cannot be bound; otherwise, . - A delegate of the specified type that represents the specified static method of the specified class. - - is .-or- - is .-or- - is . - - does not inherit .-or- - is not a . See Runtime Types in Reflection. -or- - is not a .-or- - is an open generic type. That is, its property is .-or- - is not a method ( method in Visual Basic). -or- - cannot be bound, for example because it cannot be found, and is . - The method of is not found. - The caller does not have the permissions necessary to access . - - - Dynamically invokes (late-bound) the method represented by the current delegate. - An array of objects that are the arguments to pass to the method represented by the current delegate.-or- - , if the method represented by the current delegate does not require arguments. - The object returned by the method represented by the delegate. - The caller does not have access to the method represented by the delegate (for example, if the method is private).-or- The number, order, or type of parameters listed in is invalid. - The method represented by the delegate is invoked on an object or a class that does not support it. - The method represented by the delegate is an instance method and the target object is .-or- One of the encapsulated methods throws an exception. - - - Dynamically invokes (late-bound) the method represented by the current delegate. - An array of objects that are the arguments to pass to the method represented by the current delegate.-or- - , if the method represented by the current delegate does not require arguments. - The object returned by the method represented by the delegate. - The caller does not have access to the method represented by the delegate (for example, if the method is private).-or- The number, order, or type of parameters listed in is invalid. - The method represented by the delegate is invoked on an object or a class that does not support it. - The method represented by the delegate is an instance method and the target object is .-or- One of the encapsulated methods throws an exception. - - - Determines whether the specified object and the current delegate are of the same type and share the same targets, methods, and invocation list. - The object to compare with the current delegate. - - if and the current delegate have the same targets, methods, and invocation list; otherwise, . - The caller does not have access to the method represented by the delegate (for example, if the method is private). - - - Returns a hash code for the delegate. - A hash code for the delegate. - - - Returns the invocation list of the delegate. - An array of delegates representing the invocation list of the current delegate. - - - Gets the static method represented by the current delegate. - A describing the static method represented by the current delegate. - The caller does not have access to the method represented by the delegate (for example, if the method is private). - - - Not supported. - Not supported. - Not supported. - This method is not supported. - - - Determines whether the specified delegates are equal. - The first delegate to compare. - The second delegate to compare. - - if is equal to ; otherwise, . - - - Determines whether the specified delegates are not equal. - The first delegate to compare. - The second delegate to compare. - - if is not equal to ; otherwise, . - - - Removes the last occurrence of the invocation list of a delegate from the invocation list of another delegate. - The delegate from which to remove the invocation list of . - The delegate that supplies the invocation list to remove from the invocation list of . - A new delegate with an invocation list formed by taking the invocation list of and removing the last occurrence of the invocation list of , if the invocation list of is found within the invocation list of . Returns if is or if the invocation list of is not found within the invocation list of . Returns a null reference if the invocation list of is equal to the invocation list of or if is a null reference. - The caller does not have access to the method represented by the delegate (for example, if the method is private). - The delegate types do not match. - - - Removes all occurrences of the invocation list of a delegate from the invocation list of another delegate. - The delegate from which to remove the invocation list of . - The delegate that supplies the invocation list to remove from the invocation list of . - A new delegate with an invocation list formed by taking the invocation list of and removing all occurrences of the invocation list of , if the invocation list of is found within the invocation list of . Returns if is or if the invocation list of is not found within the invocation list of . Returns a null reference if the invocation list of is equal to the invocation list of , if contains only a series of invocation lists that are equal to the invocation list of , or if is a null reference. - The caller does not have access to the method represented by the delegate (for example, if the method is private). - The delegate types do not match. - - - Removes the invocation list of a delegate from the invocation list of another delegate. - The delegate that supplies the invocation list to remove from the invocation list of the current delegate. - A new delegate with an invocation list formed by taking the invocation list of the current delegate and removing the invocation list of , if the invocation list of is found within the current delegate's invocation list. Returns the current delegate if is or if the invocation list of is not found within the current delegate's invocation list. Returns if the invocation list of is equal to the current delegate's invocation list. - The caller does not have access to the method represented by the delegate (for example, if the method is private). - - - Gets the contents of the application manifest from an object. - The object containing the manifest. - The application manifest that is contained by the object. - - - Gets the manifest of the last deployment component in an object. - The object containing the manifest. - The manifest of the last deployment component in the object. - - - Gets a byte array containing the raw content of the application manifest.. - The object to get bytes from. - An array containing the application manifest as raw data. - - - Gets the manifest of the first deployment component in an object. - The object containing the manifest. - The manifest of the first deployment component in the object. - - - Gets a byte array containing the raw content of the deployment manifest. - The object to get bytes from. - An array containing the deployment manifest as raw data. - - - Gets a value indicating whether this is the first time this object has been run. - The object to examine. - - if the indicates it is running for the first time; otherwise, . - - - Informs an to get ready to be run. - The object to inform. - - - Gets an IDefinitionAppId Interface representing the unique identifier of an object. - The object from which to extract the identifier. - The unique identifier held by the object. - - - Initializes a new instance of the class, specifying the category of the static analysis tool and the identifier for an analysis rule. - The category for the attribute. - The identifier of the analysis tool rule the attribute applies to. - - - Initializes a new instance of the class. - A string that specifies the case-sensitive conditional compilation symbol that is associated with the attribute. - - - Checks for a condition; if the condition is , follows the escalation policy set for the analyzer. - The conditional expression to test. - - - Checks for a condition; if the condition is , follows the escalation policy set by the analyzer and displays the specified message. - The conditional expression to test. - A message to display if the condition is not met. - - - Instructs code analysis tools to assume that the specified condition is , even if it cannot be statically proven to always be . - The conditional expression to assume . - - - Instructs code analysis tools to assume that a condition is , even if it cannot be statically proven to always be , and displays a message if the assumption fails. - The conditional expression to assume . - The message to post if the assumption fails. - - - Marks the end of the contract section when a method's contracts contain only preconditions in the -- form. - - - Specifies a postcondition contract for the enclosing method or property. - The conditional expression to test. The expression may include , , and values. - - - Specifies a postcondition contract for a provided exit condition and a message to display if the condition is . - The conditional expression to test. The expression may include and values. - The message to display if the expression is not . - - - Specifies a postcondition contract for the enclosing method or property, based on the provided exception and condition. - The conditional expression to test. - The type of exception that invokes the postcondition check. - - - Specifies a postcondition contract and a message to display if the condition is for the enclosing method or property, based on the provided exception and condition. - The conditional expression to test. - The message to display if the expression is . - The type of exception that invokes the postcondition check. - - - Determines whether a specified test is true for any integer within a range of integers. - The first integer to pass to . - One more than the last integer to pass to . - The function to evaluate for any value of the integer in the specified range. - - if returns for any integer starting from to - 1. - - is . - - is less than . - - - Determines whether an element within a collection of elements exists within a function. - The collection from which elements of type will be drawn to pass to . - The function to evaluate for an element in . - The type that is contained in . - - if and only if returns for any element of type in . - - or is . - - - Determines whether a particular condition is valid for all integers in a specified range. - The first integer to pass to . - One more than the last integer to pass to . - The function to evaluate for the existence of the integers in the specified range. - - if returns for all integers starting from to - 1. - - is . - - is less than . - - - Determines whether all the elements in a collection exist within a function. - The collection from which elements of type will be drawn to pass to . - The function to evaluate for the existence of all the elements in . - The type that is contained in . - - if and only if returns for all elements of type in . - - or is . - - - Specifies an invariant contract for the enclosing method or property. - The conditional expression to test. - - - Specifies an invariant contract for the enclosing method or property, and displays a message if the condition for the contract fails. - The conditional expression to test. - The message to display if the condition is . - - - Represents values as they were at the start of a method or property. - The value to represent (field or parameter). - The type of value. - The value of the parameter or field at the start of a method or property. - - - Specifies a precondition contract for the enclosing method or property. - The conditional expression to test. - - - Specifies a precondition contract for the enclosing method or property, and displays a message if the condition for the contract fails. - The conditional expression to test. - The message to display if the condition is . - - - Specifies a precondition contract for the enclosing method or property, and throws an exception if the condition for the contract fails. - The conditional expression to test. - The exception to throw if the condition is . - - - Specifies a precondition contract for the enclosing method or property, and throws an exception with the provided message if the condition for the contract fails. - The conditional expression to test. - The message to display if the condition is . - The exception to throw if the condition is . - - - Represents the return value of a method or property. - Type of return value of the enclosing method or property. - Return value of the enclosing method or property. - - - Represents the final (output) value of an parameter when returning from a method. - The parameter. - The type of the parameter. - The output value of the parameter. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - The type that contains the code contracts for this type. - - - Initializes a new instance of the class, specifying the type the current class is a contract for. - The type the current class is a contract for. - - - Provides data for the event. - One of the enumeration values that specifies the contract that failed. - The message for the event. - The condition for the event. - The exception that caused the event. - - - Sets the property to . - - - Sets the property to . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class by using the provided category, setting, and enable/disable value. - The category for the option to be set. - The option setting. - - to enable the option; to disable the option. - - - Initializes a new instance of the class by using the provided category, setting, and value. - The category of the option to be set. - The option setting. - The value for the setting. - - - Initializes a new instance of the class. - The property name to apply to the field. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - to require verification; otherwise, . - - - Used by the binary rewriter to activate the default failure behavior. - The type of failure. - Additional user information. - The description of the condition that caused the failure. - The inner exception that caused the current exception. - A null reference ( in Visual Basic) if the event was handled and should not trigger a failure; otherwise, returns the localized failure message. - - is not a valid value. - - - Triggers the default failure behavior. - The type of failure. - The message to display. - Additional user information. - The description of the condition that caused the failure. - The inner exception that caused the current exception. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class, using the specified tracking and optimization options for the just-in-time (JIT) compiler. - - to enable debugging; otherwise, . - - to disable the optimizer for execution; otherwise, . - - - Initializes a new instance of the class, using the specified debugging modes for the just-in-time (JIT) compiler. - A bitwise combination of the values specifying the debugging mode for the JIT compiler. - - - Initializes a new instance of the class. - - - Signals a breakpoint to an attached debugger. - The is not set to break into the debugger. - - - Checks to see if logging is enabled by an attached debugger. - - if a debugger is attached and logging is enabled; otherwise, . The attached debugger is the registered managed debugger in the registry key. For more information on this key, see Enabling JIT-Attach Debugging. - - - Launches and attaches a debugger to the process. - - if the startup is successful or if the debugger is already attached; otherwise, . - The is not set to start the debugger. - - - Posts a message for the attached debugger. - A description of the importance of the message. - The category of the message. - The message to show. - - - Notifies a debugger that execution is about to enter a path that involves a cross-thread dependency. - - - Initializes a new instance of the class. - One of the values that specifies how to display the member. - - is not one of the values. - - - Initializes a new instance of the class. - The string to be displayed in the value column for instances of the type; an empty string ("") causes the value column to be hidden. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class using the type name of the proxy. - The type name of the proxy type. - - - Initializes a new instance of the class using the type of the proxy. - The proxy type. - - is . - - - Initializes a new instance of the class, specifying the type name of the visualizer. - The fully qualified type name of the visualizer. - - - Initializes a new instance of the class, specifying the type name of the visualizer and the type name of the visualizer object source. - The fully qualified type name of the visualizer. - The fully qualified type name of the visualizer object source. - - - Initializes a new instance of the class, specifying the type name of the visualizer and the type of the visualizer object source. - The fully qualified type name of the visualizer. - The type of the visualizer object source. - - is . - - - Initializes a new instance of the class, specifying the type of the visualizer. - The type of the visualizer. - v is . - - - Initializes a new instance of the class, specifying the type of the visualizer and the type name of the visualizer object source. - The type of the visualizer. - The fully qualified type name of the visualizer object source. - v is . - - - Initializes a new instance of the class, specifying the type of the visualizer and the type of the visualizer object source. - The type of the visualizer. - The type of the visualizer object source. - v is . - - is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class, optionally capturing source information. - - to capture the file name, line number, and column number of the stack frame; otherwise, . - - - Initializes a new instance of the class that corresponds to a frame above the current stack frame. - The number of frames up the stack to skip. - - - Initializes a new instance of the class that corresponds to a frame above the current stack frame, optionally capturing source information. - The number of frames up the stack to skip. - - to capture the file name, line number, and column number of the stack frame; otherwise, . - - - Initializes a new instance of the class that contains only the given file name and line number. - The file name. - The line number in the specified file. - - - Initializes a new instance of the class that contains only the given file name, line number, and column number. - The file name. - The line number in the specified file. - The column number in the specified file. - - - Gets the column number in the file that contains the code that is executing. This information is typically extracted from the debugging symbols for the executable. - The file column number, or 0 (zero) if the file column number cannot be determined. - - - Gets the line number in the file that contains the code that is executing. This information is typically extracted from the debugging symbols for the executable. - The file line number, or 0 (zero) if the file line number cannot be determined. - - - Gets the file name that contains the code that is executing. This information is typically extracted from the debugging symbols for the executable. - The file name, or if the file name cannot be determined. - - - Gets the offset from the start of the Microsoft intermediate language (MSIL) code for the method that is executing. This offset might be an approximation depending on whether or not the just-in-time (JIT) compiler is generating debugging code. The generation of this debugging information is controlled by the . - The offset from the start of the MSIL code for the method that is executing. - - - Gets the method in which the frame is executing. - The method in which the frame is executing. - - - Gets the offset from the start of the native just-in-time (JIT)-compiled code for the method that is being executed. The generation of this debugging information is controlled by the class. - The offset from the start of the JIT-compiled code for the method that is being executed. - - - Builds a readable representation of the stack trace. - A readable representation of the stack trace. - - - Initializes a new instance of the class from the caller's frame. - - - Initializes a new instance of the class from the caller's frame, optionally capturing source information. - - to capture the file name, line number, and column number; otherwise, . - - - Initializes a new instance of the class that contains a single frame. - The frame that the object should contain. - - - Initializes a new instance of the class using the provided exception object. - The exception object from which to construct the stack trace. - The parameter is . - - - Initializes a new instance of the class, using the provided exception object and optionally capturing source information. - The exception object from which to construct the stack trace. - - to capture the file name, line number, and column number; otherwise, . - The parameter is . - - - Initializes a new instance of the class using the provided exception object and skipping the specified number of frames. - The exception object from which to construct the stack trace. - The number of frames up the stack from which to start the trace. - The parameter is . - The parameter is negative. - - - Initializes a new instance of the class using the provided exception object, skipping the specified number of frames and optionally capturing source information. - The exception object from which to construct the stack trace. - The number of frames up the stack from which to start the trace. - - to capture the file name, line number, and column number; otherwise, . - The parameter is . - The parameter is negative. - - - Initializes a new instance of the class from the caller's frame, skipping the specified number of frames. - The number of frames up the stack from which to start the trace. - The parameter is negative. - - - Initializes a new instance of the class from the caller's frame, skipping the specified number of frames and optionally capturing source information. - The number of frames up the stack from which to start the trace. - - to capture the file name, line number, and column number; otherwise, . - The parameter is negative. - - - Initializes a new instance of the class for a specific thread, optionally capturing source information. Do not use this constructor overload. - The thread whose stack trace is requested. - - to capture the file name, line number, and column number; otherwise, . - The thread is not suspended. - - - Gets the specified stack frame. - The index of the stack frame requested. - The specified stack frame. - - - Returns a copy of all stack frames in the current stack trace. - An array of type representing the function calls in the stack trace. - - - Builds a readable representation of the stack trace. - A readable representation of the stack trace. - - - Gets the interface of the symbol reader for the current file. - The metadata import interface. - The name of the file for which the reader interface is required. - The search path used to locate the symbol file. - The interface that reads the debugging symbols. - - - Gets the interface of the symbol reader for the current file. - An that refers to the metadata import interface. - The name of the file for which the reader interface is required. - The search path used to locate the symbol file. - The interface that reads the debugging symbols. - - - Returns the closest line that is a sequence point, given a line in the current document that might or might not be a sequence point. - The specified line in the document. - The closest line that is a sequence point. - - - Gets the checksum. - The checksum. - - - Gets the embedded document source for the specified range. - The starting line in the current document. - The starting column in the current document. - The ending line in the current document. - The ending column in the current document. - The document source for the specified range. - - - Sets checksum information. - The GUID representing the algorithm ID. - The checksum. - - - Stores the raw source for a document in the symbol store. - The document source represented as unsigned bytes. - - - Gets the namespace that the current method is defined within. - The namespace that the current method is defined within. - - - Gets the Microsoft intermediate language (MSIL) offset within the method that corresponds to the specified position. - The document for which the offset is requested. - The document line corresponding to the offset. - The document column corresponding to the offset. - The offset within the specified document. - - - Gets the parameters for the current method. - The array of parameters for the current method. - - - Gets an array of start and end offset pairs that correspond to the ranges of Microsoft intermediate language (MSIL) that a given position covers within this method. - The document for which the offset is requested. - The document line corresponding to the ranges. - The document column corresponding to the ranges. - An array of start and end offset pairs. - - - Returns the most enclosing lexical scope when given an offset within a method. - The byte offset within the method of the lexical scope. - The most enclosing lexical scope for the given byte offset within the method. - - - Gets the sequence points for the current method. - The array of byte offsets from the beginning of the method for the sequence points. - The array of documents in which the sequence points are located. - The array of lines in the documents at which the sequence points are located. - The array of columns in the documents at which the sequence points are located. - The array of lines in the documents at which the sequence points end. - The array of columns in the documents at which the sequence points end. - - - Gets the start and end positions for the source of the current method. - The starting and ending source documents. - The starting and ending lines in the corresponding source documents. - The starting and ending columns in the corresponding source documents. - - if the positions were defined; otherwise, . - - - Gets the child members of the current namespace. - The child members of the current namespace. - - - Gets all the variables defined at global scope within the current namespace. - The variables defined at global scope within the current namespace. - - - Gets a document specified by the language, vendor, and type. - The URL that identifies the document. - The document language. You can specify this parameter as . - The identity of the vendor for the document language. You can specify this parameter as . - The type of the document. You can specify this parameter as . - The specified document. - - - Gets an array of all documents defined in the symbol store. - An array of all documents defined in the symbol store. - - - Gets all global variables in the module. - An array of all variables in the module. - - - Gets a symbol reader method object when given the identifier of a method. - The metadata token of the method. - The symbol reader method object for the specified method identifier. - - - Gets a symbol reader method object when given the identifier of a method and its edit and continue version. - The metadata token of the method. - The edit and continue version of the method. - The symbol reader method object for the specified method identifier. - - - Gets a symbol reader method object that contains a specified position in a document. - The document in which the method is located. - The position of the line within the document. The lines are numbered, beginning with 1. - The position of column within the document. The columns are numbered, beginning with 1. - The reader method object for the specified position in the document. - - - Gets the namespaces that are defined in the global scope within the current symbol store. - The namespaces defined in the global scope within the current symbol store. - - - Gets an attribute value when given the attribute name. - The metadata token for the object for which the attribute is requested. - The attribute name. - The value of the attribute. - - - Gets the variables that are not local when given the parent. - The metadata token for the type for which the variables are requested. - An array of variables for the parent. - - - Gets the child lexical scopes of the current lexical scope. - The child lexical scopes that of the current lexical scope. - - - Gets the local variables within the current lexical scope. - The local variables within the current lexical scope. - - - Gets the namespaces that are used within the current scope. - The namespaces that are used within the current scope. - - - Gets the variable signature. - The variable signature as an opaque blob. - - - Closes and commits the symbols to the symbol store. - - - Closes the current method. - - - Closes the most recent namespace. - - - Closes the current lexical scope. - The points past the last instruction in the scope. - - - Defines a source document. - The URL that identifies the document. - The document language. This parameter can be . - The identity of the vendor for the document language. This parameter can be . - The type of the document. This parameter can be . - The object that represents the document. - - - Defines a field in a type or a global field. - The metadata type or method token. - The field name. - A bitwise combination of the field attributes. - The field signature. - The address types for and . - The first address for the field specification. - The second address for the field specification. - The third address for the field specification. - - - Defines a single global variable. - The global variable name. - A bitwise combination of the global variable attributes. - The global variable signature. - The address types for , , and . - The first address for the global variable specification. - The second address for the global variable specification. - The third address for the global variable specification. - - - Defines a single variable in the current lexical scope. - The local variable name. - A bitwise combination of the local variable attributes. - The local variable signature. - The address types for , , and . - The first address for the local variable specification. - The second address for the local variable specification. - The third address for the local variable specification. - The start offset for the variable. If this parameter is zero, it is ignored and the variable is defined throughout the entire scope. If the parameter is nonzero, the variable falls within the offsets of the current scope. - The end offset for the variable. If this parameter is zero, it is ignored and the variable is defined throughout the entire scope. If the parameter is nonzero, the variable falls within the offsets of the current scope. - - - Defines a single parameter in the current method. The type of each parameter is taken from its position within the signature of the method. - The parameter name. - A bitwise combination of the parameter attributes. - The parameter signature. - The address types for , , and . - The first address for the parameter specification. - The second address for the parameter specification. - The third address for the parameter specification. - - - Defines a group of sequence points within the current method. - The document object for which the sequence points are being defined. - The sequence point offsets measured from the beginning of methods. - The document lines for the sequence points. - The document positions for the sequence points. - The document end lines for the sequence points. - The document end positions for the sequence points. - - - Sets the metadata emitter interface to associate with a writer. - The metadata emitter interface. - The file name for which the debugging symbols are written. Some writers require a file name, and others do not. If a file name is specified for a writer that does not use file names, this parameter is ignored. - - indicates that this is a full rebuild; indicates that this is an incremental compilation. - - - Opens a method to place symbol information into. - The metadata token for the method to be opened. - - - Opens a new namespace. - The name of the new namespace. - - - Opens a new lexical scope in the current method. - The offset, in bytes, from the beginning of the method to the first instruction in the lexical scope. - An opaque scope identifier that can be used with to define the start and end offsets of a scope at a later time. In this case, the offsets passed to and are ignored. A scope identifier is valid only in the current method. - - - Specifies the true start and end of a method within a source file. Use to specify the extent of a method, independent of the sequence points that exist within the method. - The document that contains the starting position. - The starting line number. - The starting column. - The document that contains the ending position. - The ending line number. - The ending column number. - - - Defines the offset range for the specified lexical scope. - The identifier of the lexical scope. - The byte offset of the beginning of the lexical scope. - The byte offset of the end of the lexical scope. - - - Defines an attribute when given the attribute name and the attribute value. - The metadata token for which the attribute is being defined. - The attribute name. - The attribute value. - - - Sets the underlying (the corresponding unmanaged interface) that a managed uses to emit symbols. - A pointer to code that represents the underlying writer. - - - Identifies the user-defined method as the entry point for the current module. - The metadata token for the method that is the user entry point. - - - Specifies that the given, fully qualified namespace name is used within the open lexical scope. - The fully qualified name of the namespace. - - - Initializes a new instance of the structure when given a value. - The value to be used for the token. - - - Determines whether is equal to this instance. - The to check. - - if is equal to this instance; otherwise, . - - - Determines whether is an instance of and is equal to this instance. - The object to check. - - if is an instance of and is equal to this instance; otherwise, . - - - Generates the hash code for the current token. - The hash code for the current token. - - - Gets the value of the current token. - The value of the current token. - - - Returns a value indicating whether two objects are equal. - A structure. - A structure. - - if and are equal; otherwise, . - - - Returns a value indicating whether two objects are not equal. - A structure. - A structure. - - if and are not equal; otherwise, . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified event identifier. - The event identifier for the event. - - - Disables the event that have the specified identifier. - The identifier of the event to disable. - - if is in range; otherwise, . - - - Enables the event that has the specified identifier. - The identifier of the event to enable. - - if is in range; otherwise, . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Creates a new instance of the class. - - - Disables all events for the specified event source. - The event source to disable events for. - - - Releases the resources used by the current instance of the class. - - - Enables events for the specified event source that has the specified verbosity level or lower. - The event source to enable events for. - The level of events to enable. - - - Enables events for the specified event source that has the specified verbosity level or lower, and matching keyword flags. - The event source to enable events for. - The level of events to enable. - The keyword flags necessary to enable the events. - - - Enables events for the specified event source that has the specified verbosity level or lower, matching event keyword flag, and matching arguments. - The event source to enable events for. - The level of events to enable. - The keyword flags necessary to enable the events. - The arguments to be matched to enable the events. - - - Gets a small non-negative number that represents the specified event source. - The event source to find the index for. - A small non-negative number that represents the specified event source. - - - Called for all existing event sources when the event listener is created and when a new event source is attached to the listener. - The event source. - - - Called whenever an event has been written by an event source for which the event listener has enabled events. - The event arguments that describe the event. - - - Creates a new instance of the class. - - - Creates a new instance of the class and specifies whether to throw an exception when an error occurs in the underlying Windows code. - - to throw an exception when an error occurs in the underlying Windows code; otherwise, . - - - Creates a new instance of the class with the specified configuration settings. - A bitwise combination of the enumeration values that specify the configuration settings to apply to the event source. - - - Initializes a new instance of the to be used with non-contract events that contains the specified settings and traits. - A bitwise combination of the enumeration values that specify the configuration settings to apply to the event source. - The key-value pairs that specify traits for the event source. - - is not specified in key-value pairs. - - - Creates a new instance of the class with the specified name. - The name to apply to the event source. Must not be . - - is . - - - Creates a new instance of the class with the specified name and settings. - The name to apply to the event source. Must not be . - A bitwise combination of the enumeration values that specify the configuration settings to apply to the event source. - - is . - - is . - - - Creates a new instance of the class with the specified configuration settings. - The name to apply to the event source. Must not be . - A bitwise combination of the enumeration values that specify the configuration settings to apply to the event source. - The key-value pairs that specify traits for the event source. - - is . - - is not specified in key-value pairs. - - - Releases all resources used by the current instance of the class. - - - Releases the unmanaged resources used by the class and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Allows the object to attempt to free resources and perform other cleanup operations before the object is reclaimed by garbage collection. - - - Returns a string of the XML manifest that is associated with the current event source. - The type of the event source. - The path to the assembly file (.dll) to include in the provider element of the manifest. - The XML data string. - - - Returns a string of the XML manifest that is associated with the current event source. - The type of the event source. - The path to the assembly file (.dll) file to include in the provider element of the manifest. - A bitwise combination of the enumeration values that specify how the manifest is generated. - The XML data string or (see remarks). - - - Gets the unique identifier for this implementation of the event source. - The type of the event source. - A unique identifier for this event source type. - - - Gets the friendly name of the event source. - The type of the event source. - The friendly name of the event source. The default is the simple name of the class. - - - Gets a snapshot of all the event sources for the application domain. - An enumeration of all the event sources in the application domain. - - - Gets the trait value associated with the specified key. - The key of the trait to get. - The trait value associated with the specified key. If the key is not found, returns . - - - Determines whether the current event source is enabled. - - if the current event source is enabled; otherwise, . - - - Determines whether the current event source that has the specified level and keyword is enabled. - The level of the event source. - The keyword of the event source. - - if the event source is enabled; otherwise, . - - - Determines whether the current event source is enabled for events with the specified level, keywords and channel. - The event level to check. An event source will be considered enabled when its level is greater than or equal to . - The event keywords to check. - The event channel to check. - - if the event source is enabled for the specified event level, keywords and channel; otherwise, .The result of this method is only an approximation of whether a particular event is active. Use it to avoid expensive computation for logging when logging is disabled. Event sources may have additional filtering that determines their activity.. - - - Called when the current event source is updated by the controller. - The arguments for the event. - - - Sends a command to a specified event source. - The event source to send the command to. - The event command to send. - The arguments for the event command. - - - [Supported in the .NET Framework 4.5.1 and later versions] Sets the activity ID on the current thread. - The current thread's new activity ID, or to indicate that work on the current thread is not associated with any activity. - - - [Supported in the .NET Framework 4.5.1 and later versions] Sets the activity ID on the current thread, and returns the previous activity ID. - The current thread's new activity ID, or to indicate that work on the current thread is not associated with any activity. - When this method returns, contains the previous activity ID on the current thread. - - - Obtains a string representation of the current event source instance. - The name and unique identifier that identify the current event source. - - - Writes an event without fields, but with the specified name and default options. - The name of the event to write. - - is . - - - Writes an event without fields, but with the specified name and options. - The name of the event to write. - The options such as level, keywords and operation code for the event. - - is . - - - Writes an event with the specified name and data. - The name of the event. - The event data. This type must be an anonymous type or marked with the attribute. - The type that defines the event and its associated data. This type must be an anonymous type or marked with the attribute. - - - Writes an event with the specified name, event data and options. - The name of the event. - The event options. - The event data. This type must be an anonymous type or marked with the attribute. - The type that defines the event and its associated data. This type must be an anonymous type or marked with the attribute. - - - Writes an event with the specified name, options and event data. - The name of the event. - The event options. - The event data. This type must be an anonymous type or marked with the attribute. - The type that defines the event and its associated data. This type must be an anonymous type or marked with the attribute. - - - Writes an event with the specified name, options, related activity and event data. - The name of the event. - The event options. - The ID of the activity associated with the event. - The ID of an associated activity, or if there is no associated activity. - The event data. This type must be an anonymous type or marked with the attribute. - The type that defines the event and its associated data. This type must be an anonymous type or marked with the attribute. - - - Writes an event by using the provided event identifier. - The event identifier. This value should be between 0 and 65535. - - - Writes an event by using the provided event identifier and byte array argument. - The event identifier. This value should be between 0 and 65535. - A byte array argument. - - - Writes an event by using the provided event identifier and 32-bit integer argument. - The event identifier. This value should be between 0 and 65535. - - An integer argument. - - - Writes an event by using the provided event identifier and 32-bit integer arguments. - The event identifier. This value should be between 0 and 65535. - An integer argument. - An integer argument. - - - Writes an event by using the provided event identifier and 32-bit integer arguments. - The event identifier. This value should be between 0 and 65535. - An integer argument. - An integer argument. - An integer argument. - - - Writes an event by using the provided event identifier and 32-bit integer and string arguments. - The event identifier. This value should be between 0 and 65535. - A 32-bit integer argument. - A string argument. - - - Writes an event by using the provided event identifier and 64-bit integer argument. - The event identifier. This value should be between 0 and 65535. - A 64 bit integer argument. - - - Writes the event data using the specified indentifier and 64-bit integer and byte array arguments. - The event identifier. This value should be between 0 and 65535. - A 64-bit integer argument. - A byte array argument. - - - Writes an event by using the provided event identifier and 64-bit arguments. - The event identifier. This value should be between 0 and 65535. - A 64 bit integer argument. - A 64 bit integer argument. - - - Writes an event by using the provided event identifier and 64-bit arguments. - The event identifier. This value should be between 0 and 65535. - A 64 bit integer argument. - A 64 bit integer argument. - A 64 bit integer argument. - - - Writes an event by using the provided event identifier and 64-bit integer, and string arguments. - The event identifier. This value should be between 0 and 65535. - A 64-bit integer argument. - A string argument. - - - Writes an event by using the provided event identifier and array of arguments. - The event identifier. This value should be between 0 and 65535. - An array of objects. - - - Writes an event by using the provided event identifier and string argument. - The event identifier. This value should be between 0 and 65535. - A string argument. - - - Writes an event by using the provided event identifier and arguments. - The event identifier. This value should be between 0 and 65535. - A string argument. - A 32 bit integer argument. - - - Writes an event by using the provided event identifier and arguments. - The event identifier. This value should be between 0 and 65535. - A string argument. - A 32 bit integer argument. - A 32 bit integer argument. - - - Writes an event by using the provided event identifier and arguments. - The event identifier. This value should be between 0 and 65535. - A string argument. - A 64 bit integer argument. - - - Writes an event by using the provided event identifier and string arguments. - The event identifier. This value should be between 0 and 65535. - A string argument. - A string argument. - - - Writes an event by using the provided event identifier and string arguments. - The event identifier. This value should be between 0 and 65535. - A string argument. - A string argument. - A string argument. - - - Creates a new overload by using the provided event identifier and event data. - The event identifier. - The number of event data items. - The structure that contains the event data. - - - [Supported in the .NET Framework 4.5.1 and later versions] Writes an event that indicates that the current activity is related to another activity. - An identifier that uniquely identifies this event within the . - The related activity identifier. - An array of objects that contain data about the event. - - - [Supported in the .NET Framework 4.5.1 and later versions] Writes an event that indicates that the current activity is related to another activity. - An identifier that uniquely identifies this event within the . - A pointer to the GUID of the related activity ID. - The number of items in the field. - A pointer to the first item in the event data field. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or if no inner exception is specified. - - - Creates a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - A that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Compares this instance to a specified double-precision floating-point number and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the specified double-precision floating-point number. - A double-precision floating-point number to compare. - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than .-or- This instance is not a number () and is a number. Zero This instance is equal to .-or- Both this instance and are not a number (), , or . Greater than zero This instance is greater than .-or- This instance is a number and is not a number (). - - - Compares this instance to a specified object and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the specified object. - An object to compare, or . - A signed number indicating the relative values of this instance and .Value Description A negative integer This instance is less than .-or- This instance is not a number () and is a number. Zero This instance is equal to .-or- This instance and are both , , or A positive integer This instance is greater than .-or- This instance is a number and is not a number ().-or- - is . - - is not a . - - - Returns a value indicating whether this instance and a specified object represent the same value. - A object to compare to this instance. - - if is equal to this instance; otherwise, . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare with this instance. - - if is an instance of and equals the value of this instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns the for value type . - The enumerated constant, . - - - Returns a value indicating whether the specified number evaluates to negative or positive infinity - A double-precision floating-point number. - - if evaluates to or ; otherwise, . - - - Returns a value that indicates whether the specified value is not a number (). - A double-precision floating-point number. - - if evaluates to ; otherwise, . - - - Returns a value indicating whether the specified number evaluates to negative infinity. - A double-precision floating-point number. - - if evaluates to ; otherwise, . - - - Returns a value indicating whether the specified number evaluates to positive infinity. - A double-precision floating-point number. - - if evaluates to ; otherwise, . - - - Returns a value that indicates whether two specified values are equal. - The first value to compare. - The second value to compare. - - if and are equal; otherwise, . - - - Returns a value that indicates whether a specified value is greater than another specified value. - The first value to compare. - The second value to compare. - - if is greater than ; otherwise, . - - - Returns a value that indicates whether a specified value is greater than or equal to another specified value. - The first value to compare. - The second value to compare. - - if is greater than or equal to ; otherwise, . - - - Returns a value that indicates whether two specified values are not equal. - The first value to compare. - The second value to compare. - - if and are not equal; otherwise, . - - - Returns a value that indicates whether a specified value is less than another specified value. - The first value to compare. - The second value to compare. - - if is less than ; otherwise, . - - - Returns a value that indicates whether a specified value is less than or equal to another specified value. - The first value to compare. - The second value to compare. - - if is less than or equal to ; otherwise, . - - - Converts the string representation of a number to its double-precision floating-point number equivalent. - A string that contains a number to convert. - A double-precision floating-point number that is equivalent to the numeric value or symbol specified in . - - is . - - does not represent a number in a valid format. - - represents a number that is less than or greater than . - - - Converts the string representation of a number in a specified style to its double-precision floating-point number equivalent. - A string that contains a number to convert. - A bitwise combination of enumeration values that indicate the style elements that can be present in . A typical value to specify is a combination of combined with . - A double-precision floating-point number that is equivalent to the numeric value or symbol specified in . - - is . - - does not represent a number in a valid format. - - represents a number that is less than or greater than . - - is not a value. -or- - includes the value. - - - Converts the string representation of a number in a specified style and culture-specific format to its double-precision floating-point number equivalent. - A string that contains a number to convert. - A bitwise combination of enumeration values that indicate the style elements that can be present in . A typical value to specify is combined with . - An object that supplies culture-specific formatting information about . - A double-precision floating-point number that is equivalent to the numeric value or symbol specified in . - - is . - - does not represent a numeric value. - - is not a value. -or- - is the value. - - represents a number that is less than or greater than . - - - Converts the string representation of a number in a specified culture-specific format to its double-precision floating-point number equivalent. - A string that contains a number to convert. - An object that supplies culture-specific formatting information about . - A double-precision floating-point number that is equivalent to the numeric value or symbol specified in . - - is . - - does not represent a number in a valid format. - - represents a number that is less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - - if the value of the current instance is not zero; otherwise, . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - This conversion is not supported. Attempting to use this method throws an . - This parameter is ignored. - This conversion is not supported. No value is returned. - In all cases. - - - This conversion is not supported. Attempting to use this method throws an - This parameter is ignored. - This conversion is not supported. No value is returned. - In all cases. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, unchanged. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - The type to which to convert this value. - An implementation that supplies culture-specific information about the format of the returned value. - The value of the current instance, converted to . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - Converts the numeric value of this instance to its equivalent string representation. - The string representation of the value of this instance. - - - Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information. - An object that supplies culture-specific formatting information. - The string representation of the value of this instance as specified by . - - - Converts the numeric value of this instance to its equivalent string representation, using the specified format. - A numeric format string. - The string representation of the value of this instance as specified by . - - is invalid. - - - Converts the numeric value of this instance to its equivalent string representation using the specified format and culture-specific format information. - A numeric format string. - An object that supplies culture-specific formatting information. - The string representation of the value of this instance as specified by and . - - - Converts the string representation of a number to its double-precision floating-point number equivalent. A return value indicates whether the conversion succeeded or failed. - A string containing a number to convert. - When this method returns, contains the double-precision floating-point number equivalent of the parameter, if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not a number in a valid format, or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - - Converts the string representation of a number in a specified style and culture-specific format to its double-precision floating-point number equivalent. A return value indicates whether the conversion succeeded or failed. - A string containing a number to convert. - A bitwise combination of values that indicates the permitted format of . A typical value to specify is combined with . - An that supplies culture-specific formatting information about . - When this method returns, contains a double-precision floating-point number equivalent of the numeric value or symbol contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not in a format compliant with , represents a number less than or greater than , or if is not a valid combination of enumerated constants. This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - is not a value. -or- - includes the value. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with the name of the parameter that causes this exception. - The name of the parameter that caused the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message and the name of the parameter that causes this exception. - The name of the parameter that caused the exception. - The message that describes the error. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Compares this instance to a specified object and returns an indication of their relative values. - An object to compare, or . - A signed number that indicates the relative values of this instance and .Value Meaning Less than zero The value of this instance is less than the value of . Zero The value of this instance is equal to the value of . Greater than zero The value of this instance is greater than the value of .-or- - is . - - and this instance are not the same type. - This instance is not type , , , , , , , or . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare with this instance, or . - - if is an enumeration value of the same type and with the same underlying value as this instance; otherwise, . - - - Converts the specified value of a specified enumerated type to its equivalent string representation according to the specified format. - The enumeration type of the value to convert. - The value to convert. - The output format to use. - A string representation of . - The , , or parameter is . - The parameter is not an type.-or- The is from an enumeration that differs in type from .-or- The type of is not an underlying type of . - The parameter contains an invalid value. - - equals "X", but the enumeration type is unknown. - - - Returns the hash code for the value of this instance. - A 32-bit signed integer hash code. - - - Retrieves the name of the constant in the specified enumeration that has the specified value. - An enumeration type. - The value of a particular enumerated constant in terms of its underlying type. - A string containing the name of the enumerated constant in whose value is ; or if no such constant is found. - - or is . - - is not an .-or- - is neither of type nor does it have the same underlying type as . - - - Retrieves an array of the names of the constants in a specified enumeration. - An enumeration type. - A string array of the names of the constants in . - - is . - - parameter is not an . - - - Returns the type code of the underlying type of this enumeration member. - The type code of the underlying type of this instance. - The enumeration type is unknown. - - - Returns the underlying type of the specified enumeration. - The enumeration whose underlying type will be retrieved. - The underlying type of . - - is . - - is not an . - - - Retrieves an array of the values of the constants in a specified enumeration. - An enumeration type. - An array that contains the values of the constants in . - - is . - - is not an . - The method is invoked by reflection in a reflection-only context, -or- - - is a type from an assembly loaded in a reflection-only context. - - - Determines whether one or more bit fields are set in the current instance. - An enumeration value. - - if the bit field or bit fields that are set in are also set in the current instance; otherwise, . - - is a different type than the current instance. - - - Returns an indication whether a constant with a specified value exists in a specified enumeration. - An enumeration type. - The value or name of a constant in . - - if a constant in has a value equal to ; otherwise, . - - or is . - - is not an .-or- - The type of is an enumeration, but it is not an enumeration of type .-or- The type of is not an underlying type of . - - is not type , , , , , , , or , or . - - - Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. - An enumeration type. - A string containing the name or value to convert. - An object of type whose value is represented by . - - or is . - - is not an .-or- - is either an empty string or only contains white space.-or- - is a name, but not one of the named constants defined for the enumeration. - - is outside the range of the underlying type of . - - - Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-insensitive. - An enumeration type. - A string containing the name or value to convert. - - to ignore case; to regard case. - An object of type whose value is represented by . - - or is . - - is not an .-or- - is either an empty string ("") or only contains white space.-or- - is a name, but not one of the named constants defined for the enumeration. - - is outside the range of the underlying type of . - - - Converts the current value to a Boolean value based on the underlying type. - An object that supplies culture-specific formatting information. - This member always throws an exception. - In all cases. - - - Converts the current value to an 8-bit unsigned integer based on the underlying type. - An object that supplies culture-specific formatting information. - The converted value. - - - Converts the current value to a Unicode character based on the underlying type. - An object that supplies culture-specific formatting information. - This member always throws an exception. - In all cases. - - - Converts the current value to a based on the underlying type. - An object that supplies culture-specific formatting information. - This member always throws an exception. - In all cases. - - - Converts the current value to a based on the underlying type. - An object that supplies culture-specific formatting information. - This member always throws an exception. - In all cases. - - - Converts the current value to a double-precision floating point number based on the underlying type. - An object that supplies culture-specific formatting information. - This member always throws an exception. - In all cases. - - - Converts the current value to a 16-bit signed integer based on the underlying type. - An object that supplies culture-specific formatting information. - The converted value. - - - Converts the current value to a 32-bit signed integer based on the underlying type. - An object that supplies culture-specific formatting information. - The converted value. - - - Converts the current value to a 64-bit signed integer based on the underlying type. - An object that supplies culture-specific formatting information. - The converted value. - - - Converts the current value to an 8-bit signed integer based on the underlying type. - An object that supplies culture-specific formatting information. - The converted value. - - - Converts the current value to a single-precision floating-point number based on the underlying type. - An object that supplies culture-specific formatting information. - This member always throws an exception. - In all cases. - - - Converts the current value to a specified type based on the underlying type. - The type to convert to. - An object that supplies culture-specific formatting information. - The converted value. - - - Converts the current value to a 16-bit unsigned integer based on the underlying type. - An object that supplies culture-specific formatting information. - The converted value. - - - Converts the current value to a 32-bit unsigned integer based on the underlying type. - An object that supplies culture-specific formatting information. - The converted value. - - - Converts the current value to a 64-bit unsigned integer based on the underlying type. - An object that supplies culture-specific formatting information. - The converted value. - - - Converts the specified 8-bit unsigned integer to an enumeration member. - The enumeration type to return. - The value to convert to an enumeration member. - An instance of the enumeration set to . - - is . - - is not an . - - - Converts the specified 16-bit signed integer to an enumeration member. - The enumeration type to return. - The value to convert to an enumeration member. - An instance of the enumeration set to . - - is . - - is not an . - - - Converts the specified 32-bit signed integer to an enumeration member. - The enumeration type to return. - The value to convert to an enumeration member. - An instance of the enumeration set to . - - is . - - is not an . - - - Converts the specified 64-bit signed integer to an enumeration member. - The enumeration type to return. - The value to convert to an enumeration member. - An instance of the enumeration set to . - - is . - - is not an . - - - Converts the specified object with an integer value to an enumeration member. - The enumeration type to return. - The value convert to an enumeration member. - An enumeration object whose value is . - - or is . - - is not an .-or- - is not type , , , , , , , or . - - - Converts the specified 8-bit signed integer value to an enumeration member. - The enumeration type to return. - The value to convert to an enumeration member. - An instance of the enumeration set to . - - is . - - is not an . - - - Converts the specified 16-bit unsigned integer value to an enumeration member. - The enumeration type to return. - The value to convert to an enumeration member. - An instance of the enumeration set to . - - is . - - is not an . - - - Converts the specified 32-bit unsigned integer value to an enumeration member. - The enumeration type to return. - The value to convert to an enumeration member. - An instance of the enumeration set to . - - is . - - is not an . - - - Converts the specified 64-bit unsigned integer value to an enumeration member. - The enumeration type to return. - The value to convert to an enumeration member. - An instance of the enumeration set to . - - is . - - is not an . - - - Converts the value of this instance to its equivalent string representation. - The string representation of the value of this instance. - - - This method overload is obsolete; use . - (obsolete) - The string representation of the value of this instance. - - - Converts the value of this instance to its equivalent string representation using the specified format. - A format string. - The string representation of the value of this instance as specified by . - - contains an invalid specification. - - equals "X", but the enumeration type is unknown. - - - This method overload is obsolete; use . - A format specification. - (Obsolete.) - The string representation of the value of this instance as specified by . - - does not contain a valid format specification. - - equals "X", but the enumeration type is unknown. - - - Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. The return value indicates whether the conversion succeeded. - The string representation of the enumeration name or underlying value to convert. - When this method returns, contains an object of type whose value is represented by if the parse operation succeeds. If the parse operation fails, contains the default value of the underlying type of . Note that this value need not be a member of the enumeration. This parameter is passed uninitialized. - The enumeration type to which to convert . - - if the parameter was converted successfully; otherwise, . - - is not an enumeration type. - - - Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. - The string representation of the enumeration name or underlying value to convert. - - to ignore case; to consider case. - When this method returns, contains an object of type whose value is represented by if the parse operation succeeds. If the parse operation fails, contains the default value of the underlying type of . Note that this value need not be a member of the enumeration. This parameter is passed uninitialized. - The enumeration type to which to convert . - - if the parameter was converted successfully; otherwise, . - - is not an enumeration type. - - - Terminates this process and returns an exit code to the operating system. - The exit code to return to the operating system. Use 0 (zero) to indicate that the process completed successfully. - The caller does not have sufficient security permission to perform this function. - - - Replaces the name of each environment variable embedded in the specified string with the string equivalent of the value of the variable, then returns the resulting string. - A string containing the names of zero or more environment variables. Each environment variable is quoted with the percent sign character (%). - A string with each environment variable replaced by its value. - - is . - - - Immediately terminates a process after writing a message to the Windows Application event log, and then includes the message in error reporting to Microsoft. - A message that explains why the process was terminated, or if no explanation is provided. - - - Immediately terminates a process after writing a message to the Windows Application event log, and then includes the message and exception information in error reporting to Microsoft. - A message that explains why the process was terminated, or if no explanation is provided. - An exception that represents the error that caused the termination. This is typically the exception in a block. - - - Returns a string array containing the command-line arguments for the current process. - An array of string where each element contains a command-line argument. The first element is the executable file name, and the following zero or more elements contain the remaining command-line arguments. - The system does not support command-line arguments. - - - Retrieves the value of an environment variable from the current process. - The name of the environment variable. - The value of the environment variable specified by , or if the environment variable is not found. - - is . - The caller does not have the required permission to perform this operation. - - - Retrieves the value of an environment variable from the current process or from the Windows operating system registry key for the current user or local machine. - The name of an environment variable. - One of the values. - The value of the environment variable specified by the and parameters, or if the environment variable is not found. - - is . - - is not a valid value. - The caller does not have the required permission to perform this operation. - - - Retrieves all environment variable names and their values from the current process. - A dictionary that contains all environment variable names and their values; otherwise, an empty dictionary if no environment variables are found. - The caller does not have the required permission to perform this operation. - The buffer is out of memory. - - - Retrieves all environment variable names and their values from the current process, or from the Windows operating system registry key for the current user or local machine. - One of the values. - A dictionary that contains all environment variable names and their values from the source specified by the parameter; otherwise, an empty dictionary if no environment variables are found. - The caller does not have the required permission to perform this operation for the specified value of . - - contains an illegal value. - - - Gets the path to the system special folder that is identified by the specified enumeration. - An enumerated constant that identifies a system special folder. - The path to the specified system special folder, if that folder physically exists on your computer; otherwise, an empty string ("").A folder will not physically exist if the operating system did not create it, the existing folder was deleted, or the folder is a virtual directory, such as My Computer, which does not correspond to a physical path. - - is not a member of . - The current platform is not supported. - - - Gets the path to the system special folder that is identified by the specified enumeration, and uses a specified option for accessing special folders. - An enumerated constant that identifies a system special folder. - Specifies options to use for accessing a special folder. - The path to the specified system special folder, if that folder physically exists on your computer; otherwise, an empty string ("").A folder will not physically exist if the operating system did not create it, the existing folder was deleted, or the folder is a virtual directory, such as My Computer, which does not correspond to a physical path. - - is not a member of - - - - - - Returns an array of string containing the names of the logical drives on the current computer. - An array of strings where each element contains the name of a logical drive. For example, if the computer's hard drive is the first logical drive, the first element returned is "C:\". - An I/O error occurs. - The caller does not have the required permissions. - - - Creates, modifies, or deletes an environment variable stored in the current process. - The name of an environment variable. - A value to assign to . - - is . - - contains a zero-length string, an initial hexadecimal zero character (0x00), or an equal sign ("="). -or-The length of or is greater than or equal to 32,767 characters.-or-An error occurred during the execution of this operation. - The caller does not have the required permission to perform this operation. - - - Creates, modifies, or deletes an environment variable stored in the current process or in the Windows operating system registry key reserved for the current user or local machine. - The name of an environment variable. - A value to assign to . - One of the enumeration values that specifies the location of the environment variable. - - is . - - contains a zero-length string, an initial hexadecimal zero character (0x00), or an equal sign ("="). -or-The length of is greater than or equal to 32,767 characters.-or- - is not a member of the enumeration. -or- - is or , and the length of is greater than or equal to 255.-or- - is and the length of is greater than or equal to 32,767 characters. -or-An error occurred during the execution of this operation. - The caller does not have the required permission to perform this operation. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is . - The class name is or is zero (0). - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference ( in Visual Basic) if no inner exception is specified. - - - When overridden in a derived class, returns the that is the root cause of one or more subsequent exceptions. - The first exception thrown in a chain of exceptions. If the property of the current exception is a null reference ( in Visual Basic), this property returns the current exception. - - - When overridden in a derived class, sets the with information about the exception. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is a null reference ( in Visual Basic). - - - Gets the runtime type of the current instance. - A object that represents the exact runtime type of the current instance. - - - Creates and returns a string representation of the current exception. - A string representation of the current exception. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Instantiates a new instance of the class. - - - Returns the argument at the specified index position. - The index of the argument. Its value can range from zero to one less than the value of . - The argument. - - - Returns an object array that contains one or more objects to format. - An object array that contains one or more objects to format. - - - Returns a result string in which arguments are formatted by using the conventions of the invariant culture. - The object to convert to a result string. - The string that results from formatting the current instance by using the conventions of the invariant culture. - - is . - - - Returns the string that results from formatting the format string along with its arguments by using the formatting conventions of a specified culture. - A string. This argument is ignored. - An object that provides culture-specific formatting information. - A string formatted using the conventions of the parameter. - - - Returns the string that results from formatting the composite format string along with its arguments by using the formatting conventions of the current culture. - A result string formatted by using the conventions of the current culture. - - - Returns the string that results from formatting the composite format string along with its arguments by using the formatting conventions of a specified culture. - An object that provides culture-specific formatting information. - A result string formatted by using the conventions of . - - - Informs the runtime of a large allocation of unmanaged memory that should be taken into account when scheduling garbage collection. - The incremental amount of unmanaged memory that has been allocated. - - is less than or equal to 0.-or-On a 32-bit computer, is larger than . - - - Cancels the registration of a garbage collection notification. - This member is not available when concurrent garbage collection is enabled. See the <gcConcurrent> runtime setting for information about how to disable concurrent garbage collection. - - - Forces an immediate garbage collection of all generations. - - - Forces an immediate garbage collection from generation 0 through a specified generation. - The number of the oldest generation to be garbage collected. - - is not valid. - - - Forces a garbage collection from generation 0 through a specified generation, at a time specified by a value. - The number of the oldest generation to be garbage collected. - An enumeration value that specifies whether the garbage collection is forced ( or ) or optimized (). - - is not valid.-or- - is not one of the values. - - - Forces a garbage collection from generation 0 through a specified generation, at a time specified by a value, with a value specifying whether the collection should be blocking. - The number of the oldest generation to be garbage collected. - An enumeration value that specifies whether the garbage collection is forced ( or ) or optimized (). - - to perform a blocking garbage collection; to perform a background garbage collection where possible. - - is not valid.-or- - is not one of the values. - - - Forces a garbage collection from generation 0 through a specified generation, at a time specified by a value, with values that specify whether the collection should be blocking and compacting. - The number of the oldest generation to be garbage collected. - An enumeration value that specifies whether the garbage collection is forced ( or ) or optimized (). - - to perform a blocking garbage collection; to perform a background garbage collection where possible. See the Remarks section for more information. - - to compact the small object heap; to sweep only. See the Remarks section for more information. - - - Returns the number of times garbage collection has occurred for the specified generation of objects. - The generation of objects for which the garbage collection count is to be determined. - The number of times garbage collection has occurred for the specified generation since the process was started. - - is less than 0. - - - Ends the no GC region latency mode. - The garbage collector is not in no GC region latency mode. See the Remarks section for more information. -or-The no GC region latency mode was ended previously because a garbage collection was induced. -or-A memory allocation exceeded the amount specified in the call to the method. - - - Returns the current generation number of the specified object. - The object that generation information is retrieved for. - The current generation number of . - - - Returns the current generation number of the target of a specified weak reference. - A that refers to the target object whose generation number is to be determined. - The current generation number of the target of . - Garbage collection has already been performed on . - - - Retrieves the number of bytes currently thought to be allocated. A parameter indicates whether this method can wait a short interval before returning, to allow the system to collect garbage and finalize objects. - - to indicate that this method can wait for garbage collection to occur before returning; otherwise, . - A number that is the best available approximation of the number of bytes currently allocated in managed memory. - - - References the specified object, which makes it ineligible for garbage collection from the start of the current routine to the point where this method is called. - The object to reference. - - - Specifies that a garbage collection notification should be raised when conditions favor full garbage collection and when the collection has been completed. - A number between 1 and 99 that specifies when the notification should be raised based on the objects allocated in generation 2. - A number between 1 and 99 that specifies when the notification should be raised based on objects allocated in the large object heap. - - or is not between 1 and 99. - - - Informs the runtime that unmanaged memory has been released and no longer needs to be taken into account when scheduling garbage collection. - The amount of unmanaged memory that has been released. - - is less than or equal to 0. -or- On a 32-bit computer, is larger than . - - - Requests that the system call the finalizer for the specified object for which has previously been called. - The object that a finalizer must be called for. - - is . - - - Requests that the common language runtime not call the finalizer for the specified object. - The object whose finalizer must not be executed. - - is . - - - Attempts to disallow garbage collection during the execution of a critical path if a specified amount of memory is available. - The amount of memory in bytes to allocate without triggering a garbage collection. It must be less than or equal to the size of an ephemeral segment. For information on the size of an ephemeral segement, see the "Ephemeral generations and segments" section in the Fundamentals of Garbage Collection article. - - if the runtime was able to commit the required amount of memory and the garbage collector is able to enter no GC region latency mode; otherwise, . - - exceeds the ephemeral segment size. - The process is already in no GC region latency mode. - - - Attempts to disallow garbage collection during the execution of a critical path if a specified amount of memory is available, and controls whether the garbage collector does a full blocking garbage collection if not enough memory is initially available. - The amount of memory in bytes to allocate without triggering a garbage collection. It must be less than or equal to the size of an ephemeral segment. For information on the size of an ephemeral segement, see the "Ephemeral generations and segments" section in the Fundamentals of Garbage Collection article. - - to omit a full blocking garbage collection if the garbage collector is initially unable to allocate bytes; otherwise, . - - if the runtime was able to commit the required amount of memory and the garbage collector is able to enter no GC region latency mode; otherwise, . - - exceeds the ephemeral segment size. - The process is already in no GC region latency mode. - - - Attempts to disallow garbage collection during the execution of a critical path if a specified amount of memory is available for the large object heap and the small object heap. - The amount of memory in bytes to allocate without triggering a garbage collection. must be less than or equal to the size of an ephemeral segment. For information on the size of an ephemeral segement, see the "Ephemeral generations and segments" section in the Fundamentals of Garbage Collection article. - The number of bytes in to use for large object heap (LOH) allocations. - - if the runtime was able to commit the required amount of memory and the garbage collector is able to enter no GC region latency mode; otherwise, . - - exceeds the ephemeral segment size. - The process is already in no GC region latency mode. - - - Attempts to disallow garbage collection during the execution of a critical path if a specified amount of memory is available for the large object heap and the small object heap, and controls whether the garbage collector does a full blocking garbage collection if not enough memory is initially available. - The amount of memory in bytes to allocate without triggering a garbage collection. must be less than or equal to the size of an ephemeral segment. For information on the size of an ephemeral segement, see the "Ephemeral generations and segments" section in the Fundamentals of Garbage Collection article. - The number of bytes in to use for large object heap (LOH) allocations. - - to omit a full blocking garbage collection if the garbage collector is initially unable to allocate the specified memory on the small object heap (SOH) and LOH; otherwise, . - - if the runtime was able to commit the required amount of memory and the garbage collector is able to enter no GC region latency mode; otherwise, . - - exceeds the ephemeral segment size. - The process is already in no GC region latency mode. - - - Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime is imminent. - The status of the registered garbage collection notification. - - - Returns, in a specified time-out period, the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime is imminent. - The length of time to wait before a notification status can be obtained. Specify -1 to wait indefinitely. - The status of the registered garbage collection notification. - - must be either non-negative or less than or equal to or -1. - - - Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime has completed. - The status of the registered garbage collection notification. - - - Returns, in a specified time-out period, the status of a registered notification for determining whether a full, blocking garbage collection by common language the runtime has completed. - The length of time to wait before a notification status can be obtained. Specify -1 to wait indefinitely. - The status of the registered garbage collection notification. - - must be either non-negative or less than or equal to or -1. - - - Suspends the current thread until the thread that is processing the queue of finalizers has emptied that queue. - - - Initializes a new instance of the class. - - - Returns a that is the specified number of days away from the specified . - The to which to add days. - The number of days to add. - The that results from adding the specified number of days to the specified . - The resulting is outside the supported range of this calendar. - - is outside the supported range of the return value. - - - Returns a that is the specified number of hours away from the specified . - The to which to add hours. - The number of hours to add. - The that results from adding the specified number of hours to the specified . - The resulting is outside the supported range of this calendar. - - is outside the supported range of the return value. - - - Returns a that is the specified number of milliseconds away from the specified . - The to add milliseconds to. - The number of milliseconds to add. - The that results from adding the specified number of milliseconds to the specified . - The resulting is outside the supported range of this calendar. - - is outside the supported range of the return value. - - - Returns a that is the specified number of minutes away from the specified . - The to which to add minutes. - The number of minutes to add. - The that results from adding the specified number of minutes to the specified . - The resulting is outside the supported range of this calendar. - - is outside the supported range of the return value. - - - When overridden in a derived class, returns a that is the specified number of months away from the specified . - The to which to add months. - The number of months to add. - The that results from adding the specified number of months to the specified . - The resulting is outside the supported range of this calendar. - - is outside the supported range of the return value. - - - Returns a that is the specified number of seconds away from the specified . - The to which to add seconds. - The number of seconds to add. - The that results from adding the specified number of seconds to the specified . - The resulting is outside the supported range of this calendar. - - is outside the supported range of the return value. - - - Returns a that is the specified number of weeks away from the specified . - The to which to add weeks. - The number of weeks to add. - The that results from adding the specified number of weeks to the specified . - The resulting is outside the supported range of this calendar. - - is outside the supported range of the return value. - - - When overridden in a derived class, returns a that is the specified number of years away from the specified . - The to which to add years. - The number of years to add. - The that results from adding the specified number of years to the specified . - The resulting is outside the supported range of this calendar. - - is outside the supported range of the return value. - - - Creates a new object that is a copy of the current object. - A new instance of that is the memberwise clone of the current object. - - - When overridden in a derived class, returns the day of the month in the specified . - The to read. - A positive integer that represents the day of the month in the parameter. - - - When overridden in a derived class, returns the day of the week in the specified . - The to read. - A value that represents the day of the week in the parameter. - - - When overridden in a derived class, returns the day of the year in the specified . - The to read. - A positive integer that represents the day of the year in the parameter. - - - Returns the number of days in the specified month and year of the current era. - An integer that represents the year. - A positive integer that represents the month. - The number of days in the specified month in the specified year in the current era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - When overridden in a derived class, returns the number of days in the specified month, year, and era. - An integer that represents the year. - A positive integer that represents the month. - An integer that represents the era. - The number of days in the specified month in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the number of days in the specified year of the current era. - An integer that represents the year. - The number of days in the specified year in the current era. - - is outside the range supported by the calendar. - - - When overridden in a derived class, returns the number of days in the specified year and era. - An integer that represents the year. - An integer that represents the era. - The number of days in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - When overridden in a derived class, returns the era in the specified . - The to read. - An integer that represents the era in . - - - Returns the hours value in the specified . - The to read. - An integer from 0 to 23 that represents the hour in . - - - Calculates the leap month for a specified year. - A year. - A positive integer that indicates the leap month in the specified year.-or-Zero if this calendar does not support a leap month or if the parameter does not represent a leap year. - - - Calculates the leap month for a specified year and era. - A year. - An era. - A positive integer that indicates the leap month in the specified year and era.-or-Zero if this calendar does not support a leap month or if the and parameters do not specify a leap year. - - - Returns the milliseconds value in the specified . - The to read. - A double-precision floating-point number from 0 to 999 that represents the milliseconds in the parameter. - - - Returns the minutes value in the specified . - The to read. - An integer from 0 to 59 that represents the minutes in . - - - When overridden in a derived class, returns the month in the specified . - The to read. - A positive integer that represents the month in . - - - Returns the number of months in the specified year in the current era. - An integer that represents the year. - The number of months in the specified year in the current era. - - is outside the range supported by the calendar. - - - When overridden in a derived class, returns the number of months in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. - The number of months in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the seconds value in the specified . - The to read. - An integer from 0 to 59 that represents the seconds in . - - - Returns the week of the year that includes the date in the specified value. - A date and time value. - An enumeration value that defines a calendar week. - An enumeration value that represents the first day of the week. - A positive integer that represents the week of the year that includes the date in the parameter. - - is earlier than or later than .-or- - is not a valid value.-or- - is not a valid value. - - - When overridden in a derived class, returns the year in the specified . - The to read. - An integer that represents the year in . - - - Determines whether the specified date in the current era is a leap day. - An integer that represents the year. - A positive integer that represents the month. - A positive integer that represents the day. - - if the specified day is a leap day; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - When overridden in a derived class, determines whether the specified date in the specified era is a leap day. - An integer that represents the year. - A positive integer that represents the month. - A positive integer that represents the day. - An integer that represents the era. - - if the specified day is a leap day; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Determines whether the specified month in the specified year in the current era is a leap month. - An integer that represents the year. - A positive integer that represents the month. - - if the specified month is a leap month; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - When overridden in a derived class, determines whether the specified month in the specified year in the specified era is a leap month. - An integer that represents the year. - A positive integer that represents the month. - An integer that represents the era. - - if the specified month is a leap month; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Determines whether the specified year in the current era is a leap year. - An integer that represents the year. - - if the specified year is a leap year; otherwise, . - - is outside the range supported by the calendar. - - - When overridden in a derived class, determines whether the specified year in the specified era is a leap year. - An integer that represents the year. - An integer that represents the era. - - if the specified year is a leap year; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns a read-only version of the specified object. - A object. - The object specified by the parameter, if is read-only.-or-A read-only memberwise clone of the object specified by , if is not read-only. - - is . - - - Returns a that is set to the specified date and time in the current era. - An integer that represents the year. - A positive integer that represents the month. - A positive integer that represents the day. - An integer from 0 to 23 that represents the hour. - An integer from 0 to 59 that represents the minute. - An integer from 0 to 59 that represents the second. - An integer from 0 to 999 that represents the millisecond. - The that is set to the specified date and time in the current era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is less than zero or greater than 23.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 999. - - - When overridden in a derived class, returns a that is set to the specified date and time in the specified era. - An integer that represents the year. - A positive integer that represents the month. - A positive integer that represents the day. - An integer from 0 to 23 that represents the hour. - An integer from 0 to 59 that represents the minute. - An integer from 0 to 59 that represents the second. - An integer from 0 to 999 that represents the millisecond. - An integer that represents the era. - The that is set to the specified date and time in the current era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is less than zero or greater than 23.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 999.-or- - is outside the range supported by the calendar. - - - Converts the specified year to a four-digit year by using the property to determine the appropriate century. - A two-digit or four-digit integer that represents the year to convert. - An integer that contains the four-digit representation of . - - is outside the range supported by the calendar. - - - Gets the decimal digit value of the specified numeric character. - The Unicode character for which to get the decimal digit value. - The decimal digit value of the specified numeric character.-or- -1, if the specified character is not a decimal digit. - - - Gets the decimal digit value of the numeric character at the specified index of the specified string. - The containing the Unicode character for which to get the decimal digit value. - The index of the Unicode character for which to get the decimal digit value. - The decimal digit value of the numeric character at the specified index of the specified string.-or- -1, if the character at the specified index of the specified string is not a decimal digit. - - is . - - is outside the range of valid indexes in . - - - Gets the digit value of the specified numeric character. - The Unicode character for which to get the digit value. - The digit value of the specified numeric character.-or- -1, if the specified character is not a digit. - - - Gets the digit value of the numeric character at the specified index of the specified string. - The containing the Unicode character for which to get the digit value. - The index of the Unicode character for which to get the digit value. - The digit value of the numeric character at the specified index of the specified string.-or- -1, if the character at the specified index of the specified string is not a digit. - - is . - - is outside the range of valid indexes in . - - - Gets the numeric value associated with the specified character. - The Unicode character for which to get the numeric value. - The numeric value associated with the specified character.-or- -1, if the specified character is not a numeric character. - - - Gets the numeric value associated with the character at the specified index of the specified string. - The containing the Unicode character for which to get the numeric value. - The index of the Unicode character for which to get the numeric value. - The numeric value associated with the character at the specified index of the specified string.-or- -1, if the character at the specified index of the specified string is not a numeric character. - - is . - - is outside the range of valid indexes in . - - - Gets the Unicode category of the specified character. - The Unicode character for which to get the Unicode category. - A value indicating the category of the specified character. - - - Gets the Unicode category of the character at the specified index of the specified string. - The containing the Unicode character for which to get the Unicode category. - The index of the Unicode character for which to get the Unicode category. - A value indicating the category of the character at the specified index of the specified string. - - is . - - is outside the range of valid indexes in . - - - Initializes a new instance of the class. - - - Retrieves the era that corresponds to the specified type. - The type to read. - An integer that represents the era in the parameter. - - is less than or greater than . - - - Compares a section of one string with a section of another string. - The first string to compare. - The zero-based index of the character in at which to start comparing. - The number of consecutive characters in to compare. - The second string to compare. - The zero-based index of the character in at which to start comparing. - The number of consecutive characters in to compare. - A 32-bit signed integer indicating the lexical relationship between the two comparands.Value Condition zero The two strings are equal. less than zero The specified section of is less than the specified section of . greater than zero The specified section of is greater than the specified section of . - - or or or is less than zero.-or- - is greater than or equal to the number of characters in .-or- - is greater than or equal to the number of characters in .-or- - is greater than the number of characters from to the end of .-or- - is greater than the number of characters from to the end of . - - - Compares a section of one string with a section of another string using the specified value. - The first string to compare. - The zero-based index of the character in at which to start comparing. - The number of consecutive characters in to compare. - The second string to compare. - The zero-based index of the character in at which to start comparing. - The number of consecutive characters in to compare. - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , , and . - A 32-bit signed integer indicating the lexical relationship between the two comparands.Value Condition zero The two strings are equal. less than zero The specified section of is less than the specified section of . greater than zero The specified section of is greater than the specified section of . - - or or or is less than zero.-or- - is greater than or equal to the number of characters in .-or- - is greater than or equal to the number of characters in .-or- - is greater than the number of characters from to the end of .-or- - is greater than the number of characters from to the end of . - - contains an invalid value. - - - Compares the end section of a string with the end section of another string. - The first string to compare. - The zero-based index of the character in at which to start comparing. - The second string to compare. - The zero-based index of the character in at which to start comparing. - A 32-bit signed integer indicating the lexical relationship between the two comparands.Value Condition zero The two strings are equal. less than zero The specified section of is less than the specified section of . greater than zero The specified section of is greater than the specified section of . - - or is less than zero.-or- - is greater than or equal to the number of characters in .-or- - is greater than or equal to the number of characters in . - - - Compares the end section of a string with the end section of another string using the specified value. - The first string to compare. - The zero-based index of the character in at which to start comparing. - The second string to compare. - The zero-based index of the character in at which to start comparing. - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , , and . - A 32-bit signed integer indicating the lexical relationship between the two comparands.Value Condition zero The two strings are equal. less than zero The specified section of is less than the specified section of . greater than zero The specified section of is greater than the specified section of . - - or is less than zero.-or- - is greater than or equal to the number of characters in .-or- - is greater than or equal to the number of characters in . - - contains an invalid value. - - - Compares two strings. - The first string to compare. - The second string to compare. - A 32-bit signed integer indicating the lexical relationship between the two comparands.Value Condition zero The two strings are equal. less than zero - is less than . greater than zero - is greater than . - - - Compares two strings using the specified value. - The first string to compare. - The second string to compare. - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , , and . - A 32-bit signed integer indicating the lexical relationship between the two comparands.Value Condition zero The two strings are equal. less than zero - is less than . greater than zero - is greater than . - - contains an invalid value. - - - Determines whether the specified object is equal to the current object. - The object to compare with the current . - - if the specified object is equal to the current ; otherwise, . - - - Initializes a new object that is associated with the culture with the specified identifier. - An integer representing the culture identifier. - A new object associated with the culture with the specified identifier and using string comparison methods in the current . - - - Initializes a new object that is associated with the specified culture and that uses string comparison methods in the specified . - An integer representing the culture identifier. - An that contains the string comparison methods to use. - A new object associated with the culture with the specified identifier and using string comparison methods in the current . - - is . - - is of an invalid type. - - - Initializes a new object that is associated with the culture with the specified name. - A string representing the culture name. - A new object associated with the culture with the specified identifier and using string comparison methods in the current . - - is . - - is an invalid culture name. - - - Initializes a new object that is associated with the specified culture and that uses string comparison methods in the specified . - A string representing the culture name. - An that contains the string comparison methods to use. - A new object associated with the culture with the specified identifier and using string comparison methods in the current . - - is .-or- - is . - - is an invalid culture name.-or- - is of an invalid type. - - - Serves as a hash function for the current for hashing algorithms and data structures, such as a hash table. - A hash code for the current . - - - Gets the hash code for a string based on specified comparison options. - The string whose hash code is to be returned. - A value that determines how strings are compared. - A 32-bit signed integer hash code. - - is . - - - Gets the sort key for the specified string. - The string for which a object is obtained. - The object that contains the sort key for the specified string. - - - Gets a object for the specified string using the specified value. - The string for which a object is obtained. - A bitwise combination of one or more of the following enumeration values that define how the sort key is calculated: , , , , , and . - The object that contains the sort key for the specified string. - - contains an invalid value. - - - Searches for the specified character and returns the zero-based index of the first occurrence within the entire source string. - The string to search. - The character to locate within . - The zero-based index of the first occurrence of , if found, within ; otherwise, -1. Returns 0 (zero) if is an ignorable character. - - is . - - - Searches for the specified character and returns the zero-based index of the first occurrence within the entire source string using the specified value. - The string to search. - The character to locate within . - A value that defines how the strings should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , and . - The zero-based index of the first occurrence of , if found, within , using the specified comparison options; otherwise, -1. Returns 0 (zero) if is an ignorable character. - - is . - - contains an invalid value. - - - Searches for the specified character and returns the zero-based index of the first occurrence within the section of the source string that extends from the specified index to the end of the string. - The string to search. - The character to locate within . - The zero-based starting index of the search. - The zero-based index of the first occurrence of , if found, within the section of that extends from to the end of ; otherwise, -1. Returns if is an ignorable character. - - is . - - is outside the range of valid indexes for . - - - Searches for the specified character and returns the zero-based index of the first occurrence within the section of the source string that extends from the specified index to the end of the string using the specified value. - The string to search. - The character to locate within . - The zero-based starting index of the search. - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , and . - The zero-based index of the first occurrence of , if found, within the section of that extends from to the end of , using the specified comparison options; otherwise, -1. Returns if is an ignorable character. - - is . - - is outside the range of valid indexes for . - - contains an invalid value. - - - Searches for the specified character and returns the zero-based index of the first occurrence within the section of the source string that starts at the specified index and contains the specified number of elements. - The string to search. - The character to locate within . - The zero-based starting index of the search. - The number of elements in the section to search. - The zero-based index of the first occurrence of , if found, within the section of that starts at and contains the number of elements specified by ; otherwise, -1. Returns if is an ignorable character. - - is . - - is outside the range of valid indexes for .-or- - is less than zero.-or- - and do not specify a valid section in . - - - Searches for the specified character and returns the zero-based index of the first occurrence within the section of the source string that starts at the specified index and contains the specified number of elements using the specified value. - The string to search. - The character to locate within . - The zero-based starting index of the search. - The number of elements in the section to search. - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , and . - The zero-based index of the first occurrence of , if found, within the section of that starts at and contains the number of elements specified by , using the specified comparison options; otherwise, -1. Returns if is an ignorable character. - - is . - - is outside the range of valid indexes for .-or- - is less than zero.-or- - and do not specify a valid section in . - - contains an invalid value. - - - Searches for the specified substring and returns the zero-based index of the first occurrence within the entire source string. - The string to search. - The string to locate within . - The zero-based index of the first occurrence of , if found, within ; otherwise, -1. Returns 0 (zero) if is an ignorable character. - - is .-or- - is . - - - Searches for the specified substring and returns the zero-based index of the first occurrence within the entire source string using the specified value. - The string to search. - The string to locate within . - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , and . - The zero-based index of the first occurrence of , if found, within , using the specified comparison options; otherwise, -1. Returns 0 (zero) if is an ignorable character. - - is .-or- - is . - - contains an invalid value. - - - Searches for the specified substring and returns the zero-based index of the first occurrence within the section of the source string that extends from the specified index to the end of the string. - The string to search. - The string to locate within . - The zero-based starting index of the search. - The zero-based index of the first occurrence of , if found, within the section of that extends from to the end of ; otherwise, -1. Returns if is an ignorable character. - - is .-or- - is . - - is outside the range of valid indexes for . - - - Searches for the specified substring and returns the zero-based index of the first occurrence within the section of the source string that extends from the specified index to the end of the string using the specified value. - The string to search. - The string to locate within . - The zero-based starting index of the search. - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , and . - The zero-based index of the first occurrence of , if found, within the section of that extends from to the end of , using the specified comparison options; otherwise, -1. Returns if is an ignorable character. - - is .-or- - is . - - is outside the range of valid indexes for . - - contains an invalid value. - - - Searches for the specified substring and returns the zero-based index of the first occurrence within the section of the source string that starts at the specified index and contains the specified number of elements. - The string to search. - The string to locate within . - The zero-based starting index of the search. - The number of elements in the section to search. - The zero-based index of the first occurrence of , if found, within the section of that starts at and contains the number of elements specified by ; otherwise, -1. Returns if is an ignorable character. - - is .-or- - is . - - is outside the range of valid indexes for .-or- - is less than zero.-or- - and do not specify a valid section in . - - - Searches for the specified substring and returns the zero-based index of the first occurrence within the section of the source string that starts at the specified index and contains the specified number of elements using the specified value. - The string to search. - The string to locate within . - The zero-based starting index of the search. - The number of elements in the section to search. - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , and . - The zero-based index of the first occurrence of , if found, within the section of that starts at and contains the number of elements specified by , using the specified comparison options; otherwise, -1. Returns if is an ignorable character. - - is .-or- - is . - - is outside the range of valid indexes for .-or- - is less than zero.-or- - and do not specify a valid section in . - - contains an invalid value. - - - Determines whether the specified source string starts with the specified prefix. - The string to search in. - The string to compare with the beginning of . - - if the length of is less than or equal to the length of and starts with ; otherwise, . - - is .-or- - is . - - - Determines whether the specified source string starts with the specified prefix using the specified value. - The string to search in. - The string to compare with the beginning of . - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , and . - - if the length of is less than or equal to the length of and starts with ; otherwise, . - - is .-or- - is . - - contains an invalid value. - - - Indicates whether a specified Unicode character is sortable. - A Unicode character. - - if the parameter is sortable; otherwise, . - - - Indicates whether a specified Unicode string is sortable. - A string of zero or more Unicode characters. - - if the parameter is not an empty string ("") and all the Unicode characters in are sortable; otherwise, . - - is . - - - Determines whether the specified source string ends with the specified suffix. - The string to search in. - The string to compare with the end of . - - if the length of is less than or equal to the length of and ends with ; otherwise, . - - is .-or- - is . - - - Determines whether the specified source string ends with the specified suffix using the specified value. - The string to search in. - The string to compare with the end of . - A value that defines how and should be compared. is either the enumeration value used by itself, or the bitwise combination of one or more of the following values: , , , , and . - - if the length of is less than or equal to the length of and ends with ; otherwise, . - - is .-or- - is . - - contains an invalid value. - - - Searches for the specified character and returns the zero-based index of the last occurrence within the entire source string. - The string to search. - The character to locate within . - The zero-based index of the last occurrence of , if found, within ; otherwise, -1. - - is . - - - Searches for the specified character and returns the zero-based index of the last occurrence within the entire source string using the specified value. - The string to search. - The character to locate within . - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , and . - The zero-based index of the last occurrence of , if found, within , using the specified comparison options; otherwise, -1. - - is . - - contains an invalid value. - - - Searches for the specified character and returns the zero-based index of the last occurrence within the section of the source string that extends from the beginning of the string to the specified index. - The string to search. - The character to locate within . - The zero-based starting index of the backward search. - The zero-based index of the last occurrence of , if found, within the section of that extends from the beginning of to ; otherwise, -1. Returns if is an ignorable character. - - is . - - is outside the range of valid indexes for . - - - Searches for the specified character and returns the zero-based index of the last occurrence within the section of the source string that extends from the beginning of the string to the specified index using the specified value. - The string to search. - The character to locate within . - The zero-based starting index of the backward search. - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , and . - The zero-based index of the last occurrence of , if found, within the section of that extends from the beginning of to , using the specified comparison options; otherwise, -1. Returns if is an ignorable character. - - is . - - is outside the range of valid indexes for . - - contains an invalid value. - - - Searches for the specified character and returns the zero-based index of the last occurrence within the section of the source string that contains the specified number of elements and ends at the specified index. - The string to search. - The character to locate within . - The zero-based starting index of the backward search. - The number of elements in the section to search. - The zero-based index of the last occurrence of , if found, within the section of that contains the number of elements specified by and that ends at ; otherwise, -1. Returns if is an ignorable character. - - is . - - is outside the range of valid indexes for .-or- - is less than zero.-or- - and do not specify a valid section in . - - - Searches for the specified character and returns the zero-based index of the last occurrence within the section of the source string that contains the specified number of elements and ends at the specified index using the specified value. - The string to search. - The character to locate within . - The zero-based starting index of the backward search. - The number of elements in the section to search. - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , and . - The zero-based index of the last occurrence of , if found, within the section of that contains the number of elements specified by and that ends at , using the specified comparison options; otherwise, -1. Returns if is an ignorable character. - - is . - - is outside the range of valid indexes for .-or- - is less than zero.-or- - and do not specify a valid section in . - - contains an invalid value. - - - Searches for the specified substring and returns the zero-based index of the last occurrence within the entire source string. - The string to search. - The string to locate within . - The zero-based index of the last occurrence of , if found, within ; otherwise, -1. - - is .-or- - is . - - - Searches for the specified substring and returns the zero-based index of the last occurrence within the entire source string using the specified value. - The string to search. - The string to locate within . - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , and . - The zero-based index of the last occurrence of , if found, within , using the specified comparison options; otherwise, -1. - - is .-or- - is . - - contains an invalid value. - - - Searches for the specified substring and returns the zero-based index of the last occurrence within the section of the source string that extends from the beginning of the string to the specified index. - The string to search. - The string to locate within . - The zero-based starting index of the backward search. - The zero-based index of the last occurrence of , if found, within the section of that extends from the beginning of to ; otherwise, -1. Returns if is an ignorable character. - - is .-or- - is . - - is outside the range of valid indexes for . - - - Searches for the specified substring and returns the zero-based index of the last occurrence within the section of the source string that extends from the beginning of the string to the specified index using the specified value. - The string to search. - The string to locate within . - The zero-based starting index of the backward search. - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , and . - The zero-based index of the last occurrence of , if found, within the section of that extends from the beginning of to , using the specified comparison options; otherwise, -1. Returns if is an ignorable character. - - is .-or- - is . - - is outside the range of valid indexes for . - - contains an invalid value. - - - Searches for the specified substring and returns the zero-based index of the last occurrence within the section of the source string that contains the specified number of elements and ends at the specified index. - The string to search. - The string to locate within . - The zero-based starting index of the backward search. - The number of elements in the section to search. - The zero-based index of the last occurrence of , if found, within the section of that contains the number of elements specified by and that ends at ; otherwise, -1. Returns if is an ignorable character. - - is .-or- - is . - - is outside the range of valid indexes for .-or- - is less than zero.-or- - and do not specify a valid section in . - - - Searches for the specified substring and returns the zero-based index of the last occurrence within the section of the source string that contains the specified number of elements and ends at the specified index using the specified value. - The string to search. - The string to locate within . - The zero-based starting index of the backward search. - The number of elements in the section to search. - A value that defines how and should be compared. is either the enumeration value , or a bitwise combination of one or more of the following values: , , , , and . - The zero-based index of the last occurrence of , if found, within the section of that contains the number of elements specified by and that ends at , using the specified comparison options; otherwise, -1. Returns if is an ignorable character. - - is .-or- - is . - - is outside the range of valid indexes for .-or- - is less than zero.-or- - and do not specify a valid section in . - - contains an invalid value. - - - Runs when the entire object graph has been deserialized. - The object that initiated the callback. - - - Returns a string that represents the current object. - A string that represents the current object. - - - Initializes a new instance of the class based on the culture specified by the culture identifier. - A predefined identifier, property of an existing object, or Windows-only culture identifier. - - is less than zero. - - is not a valid culture identifier. See the Notes to Callers section for more information. - - - Initializes a new instance of the class based on the culture specified by the culture identifier and on the Boolean that specifies whether to use the user-selected culture settings from the system. - A predefined identifier, property of an existing object, or Windows-only culture identifier. - A Boolean that denotes whether to use the user-selected culture settings () or the default culture settings (). - - is less than zero. - - is not a valid culture identifier. See the Notes to Callers section for more information. - - - Initializes a new instance of the class based on the culture specified by name. - A predefined name, of an existing , or Windows-only culture name. is not case-sensitive. - - is null. - - is not a valid culture name. For more information, see the Notes to Callers section. - - - Initializes a new instance of the class based on the culture specified by name and on the Boolean that specifies whether to use the user-selected culture settings from the system. - A predefined name, of an existing , or Windows-only culture name. is not case-sensitive. - A Boolean that denotes whether to use the user-selected culture settings () or the default culture settings (). - - is null. - - is not a valid culture name. See the Notes to Callers section for more information. - - - Refreshes cached culture-related information. - - - Creates a copy of the current . - A copy of the current . - - - Creates a that represents the specific culture that is associated with the specified name. - A predefined name or the name of an existing object. is not case-sensitive. - A object that represents:The invariant culture, if is an empty string ("").-or- The specific culture associated with , if is a neutral culture.-or- The culture specified by , if is already a specific culture. - - is not a valid culture name.-or- The culture specified by does not have a specific culture associated with it. - - is null. - - - Determines whether the specified object is the same culture as the current . - The object to compare with the current . - - if is the same culture as the current ; otherwise, . - - - Gets an alternate user interface culture suitable for console applications when the default graphic user interface culture is unsuitable. - An alternate culture that is used to read and display text on the console. - - - Retrieves a cached, read-only instance of a culture by using the specified culture identifier. - A locale identifier (LCID). - A read-only object. - - is less than zero. - - specifies a culture that is not supported. See the Notes to Caller section for more information. - - - Retrieves a cached, read-only instance of a culture using the specified culture name. - The name of a culture. is not case-sensitive. - A read-only object. - - is null. - - specifies a culture that is not supported. See the Notes to Callers section for more information. - - - Retrieves a cached, read-only instance of a culture. Parameters specify a culture that is initialized with the and objects specified by another culture. - The name of a culture. is not case-sensitive. - The name of a culture that supplies the and objects used to initialize . is not case-sensitive. - A read-only object. - - or is null. - - or specifies a culture that is not supported. See the Notes to Callers section for more information. - - - Deprecated. Retrieves a read-only object having linguistic characteristics that are identified by the specified RFC 4646 language tag. - The name of a language as specified by the RFC 4646 standard. - A read-only object. - - is null. - - does not correspond to a supported culture. - - - Gets the list of supported cultures filtered by the specified parameter. - A bitwise combination of the enumeration values that filter the cultures to retrieve. - An array that contains the cultures specified by the parameter. The array of cultures is unsorted. - - specifies an invalid combination of values. - - - Gets an object that defines how to format the specified type. - The for which to get a formatting object. This method only supports the and types. - The value of the property, which is a containing the default number format information for the current , if is the object for the class.-or- The value of the property, which is a containing the default date and time format information for the current , if is the object for the class.-or- null, if is any other object. - - - Serves as a hash function for the current , suitable for hashing algorithms and data structures, such as a hash table. - A hash code for the current . - - - Returns a read-only wrapper around the specified object. - The object to wrap. - A read-only wrapper around . - - is null. - - - Returns a string containing the name of the current in the format languagecode2-country/regioncode2. - A string containing the name of the current . - - - Initializes a new instance of the class with its message string set to a system-supplied message. - - - Initializes a new instance of the class using the specified serialization data and context. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with the specified error message. - The error message to display with this exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message to display with this exception. - The exception that is the cause of the current exception. If the parameter is not a null reference, the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message, the invalid Culture ID, and a reference to the inner exception that is the cause of this exception. - The error message to display with this exception. - The Culture ID that cannot be found. - The exception that is the cause of the current exception. If the parameter is not a null reference, the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message, the invalid Culture ID, and the name of the parameter that is the cause this exception. - The name of the parameter that is the cause the current exception. - The Culture ID that cannot be found. - The error message to display with this exception. - - - Initializes a new instance of the class with a specified error message and the name of the parameter that is the cause this exception. - The name of the parameter that is the cause of the current exception. - The error message to display with this exception. - - - Initializes a new instance of the class with a specified error message, the invalid Culture Name, and a reference to the inner exception that is the cause of this exception. - The error message to display with this exception. - The Culture Name that cannot be found. - The exception that is the cause of the current exception. If the parameter is not a null reference, the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message, the invalid Culture Name, and the name of the parameter that is the cause this exception. - The name of the parameter that is the cause the current exception. - The Culture Name that cannot be found. - The error message to display with this exception. - - - Sets the object with the parameter name and additional exception information. - The object that holds the serialized object data. - The contextual information about the source or destination. - - is . - - - Initializes a new writable instance of the class that is culture-independent (invariant). - - - Creates a shallow copy of the . - A new object copied from the original . - - - Returns the culture-specific abbreviated name of the specified day of the week based on the culture associated with the current object. - A value. - The culture-specific abbreviated name of the day of the week represented by . - - is not a valid value. - - - Returns the string containing the abbreviated name of the specified era, if an abbreviation exists. - The integer representing the era. - A string containing the abbreviated name of the specified era, if an abbreviation exists.-or- A string containing the full name of the era, if an abbreviation does not exist. - - does not represent a valid era in the calendar specified in the property. - - - Returns the culture-specific abbreviated name of the specified month based on the culture associated with the current object. - An integer from 1 through 13 representing the name of the month to retrieve. - The culture-specific abbreviated name of the month represented by . - - is less than 1 or greater than 13. - - - Returns all the standard patterns in which date and time values can be formatted. - An array that contains the standard patterns in which date and time values can be formatted. - - - Returns all the patterns in which date and time values can be formatted using the specified standard format string. - A standard format string. - An array containing the standard patterns in which date and time values can be formatted using the specified format string. - - is not a valid standard format string. - - - Returns the culture-specific full name of the specified day of the week based on the culture associated with the current object. - A value. - The culture-specific full name of the day of the week represented by . - - is not a valid value. - - - Returns the integer representing the specified era. - The string containing the name of the era. - The integer representing the era, if is valid; otherwise, -1. - - is . - - - Returns the string containing the name of the specified era. - The integer representing the era. - A string containing the name of the era. - - does not represent a valid era in the calendar specified in the property. - - - Returns an object of the specified type that provides a date and time formatting service. - The type of the required formatting service. - The current object, if is the same as the type of the current ; otherwise, . - - - Returns the object associated with the specified . - The that gets the object.-or- - to get . - A object associated with . - - - Returns the culture-specific full name of the specified month based on the culture associated with the current object. - An integer from 1 through 13 representing the name of the month to retrieve. - The culture-specific full name of the month represented by . - - is less than 1 or greater than 13. - - - Obtains the shortest abbreviated day name for a specified day of the week associated with the current object. - One of the values. - The abbreviated name of the week that corresponds to the parameter. - - is not a value in the enumeration. - - - Returns a read-only wrapper. - The object to wrap. - A read-only wrapper. - - is . - - - Sets the custom date and time format strings that correspond to a specified standard format string. - An array of custom format strings. - The standard format string associated with the custom format strings specified in the parameter. - - is or a zero-length array.-or- - is not a valid standard format string or is a standard format string whose patterns cannot be set. - - has an array element whose value is . - This object is read-only. - - - Initializes a new instance of the class with the specified start, end, and time difference information. - The object that represents the date and time when daylight saving time begins. The value must be in local time. - The object that represents the date and time when daylight saving time ends. The value must be in local time. - The object that represents the difference between standard time and daylight saving time, in ticks. - - - Calculates the date that is the specified number of months away from the specified date. - The to which to add . - The number of months to add. - A new that results from adding the specified number of months to the parameter. - The result is outside the supported range of a . - - is less than -120000 or greater than 120000. -or- - is less than or greater than . - - - Calculates the date that is the specified number of years away from the specified date. - The to which to add . - The number of years to add. - A new that results from adding the specified number of years to the parameter. - The result is outside the supported range of a . - - is less than or greater than . - - - Calculates the celestial stem of the specified year in the sexagenary (60-year) cycle. - An integer from 1 through 60 that represents a year in the sexagenary cycle. - A number from 1 through 10. - - is less than 1 or greater than 60. - - - Calculates the day of the month in the specified date. - The to read. - An integer from 1 through 31 that represents the day of the month specified in the parameter. - - - Calculates the day of the week in the specified date. - The to read. - One of the values that represents the day of the week specified in the parameter. - - is less than or greater than . - - - Calculates the day of the year in the specified date. - The to read. - An integer from 1 through 354 in a common year, or 1 through 384 in a leap year, that represents the day of the year specified in the parameter. - - - Calculates the number of days in the specified month of the specified year and era. - An integer that represents the year. - An integer from 1 through 12 in a common year, or 1 through 13 in a leap year, that represents the month. - An integer that represents the era. - The number of days in the specified month of the specified year and era. - - , , or is outside the range supported by this calendar. - - - Calculates the number of days in the specified year and era. - An integer that represents the year. - An integer that represents the era. - The number of days in the specified year and era. - - or is outside the range supported by this calendar. - - - Calculates the leap month for the specified year and era. - An integer that represents the year. - An integer that represents the era. - A positive integer from 1 through 13 that indicates the leap month in the specified year and era. -or-Zero if this calendar does not support a leap month, or if the and parameters do not specify a leap year. - - - Returns the month in the specified date. - The to read. - An integer from 1 to 13 that represents the month specified in the parameter. - - - Calculates the number of months in the specified year and era. - An integer that represents the year. - An integer that represents the era. - The number of months in the specified year in the specified era. The return value is 12 months in a common year or 13 months in a leap year. - - or is outside the range supported by this calendar. - - - Calculates the year in the sexagenary (60-year) cycle that corresponds to the specified date. - A to read. - A number from 1 through 60 in the sexagenary cycle that corresponds to the parameter. - - - Calculates the terrestrial branch of the specified year in the sexagenary (60-year) cycle. - An integer from 1 through 60 that represents a year in the sexagenary cycle. - An integer from 1 through 12. - - is less than 1 or greater than 60. - - - Returns the year in the specified date. - The to read. - An integer that represents the year in the specified . - - - Determines whether the specified date in the specified era is a leap day. - An integer that represents the year. - An integer from 1 through 13 that represents the month. - An integer from 1 through 31 that represents the day. - An integer that represents the era. - - if the specified day is a leap day; otherwise, . - - , , , or is outside the range supported by this calendar. - - - Determines whether the specified month in the specified year and era is a leap month. - An integer that represents the year. - An integer from 1 through 13 that represents the month. - An integer that represents the era. - - if the parameter is a leap month; otherwise, . - - , , or is outside the range supported by this calendar. - - - Determines whether the specified year in the specified era is a leap year. - An integer that represents the year. - An integer that represents the era. - - if the specified year is a leap year; otherwise, . - - or is outside the range supported by this calendar. - - - Returns a that is set to the specified date, time, and era. - An integer that represents the year. - An integer from 1 through 13 that represents the month. - An integer from 1 through 31 that represents the day. - An integer from 0 through 23 that represents the hour. - An integer from 0 through 59 that represents the minute. - An integer from 0 through 59 that represents the second. - An integer from 0 through 999 that represents the millisecond. - An integer that represents the era. - A that is set to the specified date, time, and era. - - , , , , , , , or is outside the range supported by this calendar. - - - Converts the specified year to a four-digit year. - A two-digit or four-digit integer that represents the year to convert. - An integer that contains the four-digit representation of the parameter. - - is outside the range supported by this calendar. - - - Returns a object based on the culture-sensitive string comparision rules of a specified object. - An object that supports culture-sensitive string comparison. - A value that defines how strings should be compared. is either the enumeration value or a bitwise combination of one or more of the following values: , , , , , and . - An object that can be used to perform string comparisons. - - is . - - is invalid. - - - Initializes a new instance of the class using the default value. - - - Initializes a new instance of the class using the specified value. - The value that denotes which language version of the calendar to create. - - is not a member of the enumeration. - - - Returns a that is the specified number of months away from the specified . - The to which to add months. - The number of months to add. - The that results from adding the specified number of months to the specified . - The resulting is outside the supported range. - - is less than -120000.-or- - is greater than 120000. - - - Returns a that is the specified number of years away from the specified . - The to which to add years. - The number of years to add. - The that results from adding the specified number of years to the specified . - The resulting is outside the supported range. - - - Returns the day of the month in the specified . - The to read. - An integer from 1 to 31 that represents the day of the month in . - - - Returns the day of the week in the specified . - The to read. - A value that represents the day of the week in . - - - Returns the day of the year in the specified . - The to read. - An integer from 1 to 366 that represents the day of the year in . - - - Returns the number of days in the specified month in the specified year in the specified era. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer that represents the era. - The number of days in the specified month in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the number of days in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. - The number of days in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the era in the specified . - The to read. - An integer that represents the era in . - - - Calculates the leap month for a specified year and era. - A year. - An era. Specify either or . - Always 0 because the Gregorian calendar does not recognize leap months. - - is less than the Gregorian calendar year 1 or greater than the Gregorian calendar year 9999.-or- - is not or . - - - Returns the month in the specified . - The to read. - An integer from 1 to 12 that represents the month in . - - - Returns the number of months in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. - The number of months in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the year in the specified . - The to read. - An integer that represents the year in . - - - Determines whether the specified date in the specified era is a leap day. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer from 1 to 31 that represents the day. - An integer that represents the era. - - if the specified day is a leap day; otherwise, . - - is outside the range supported by the calendar. -or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Determines whether the specified month in the specified year in the specified era is a leap month. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer that represents the era. - This method always returns , unless overridden by a derived class. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Determines whether the specified year in the specified era is a leap year. - An integer that represents the year. - An integer that represents the era. - - if the specified year is a leap year; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns a that is set to the specified date and time in the specified era. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer from 1 to 31 that represents the day. - An integer from 0 to 23 that represents the hour. - An integer from 0 to 59 that represents the minute. - An integer from 0 to 59 that represents the second. - An integer from 0 to 999 that represents the millisecond. - An integer that represents the era. - The that is set to the specified date and time in the current era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is less than zero or greater than 23.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 999. - - - Converts the specified year to a four-digit year by using the property to determine the appropriate century. - A two-digit or four-digit integer that represents the year to convert. - An integer that contains the four-digit representation of . - - is outside the range supported by the calendar. - - - Initializes a new instance of the class. - - - Returns a that is the specified number of months away from the specified . - The to which to add . - The number of months to add. - The that results from adding the specified number of months to the specified . - The resulting is outside the supported range. - - is less than -120,000 or greater than 120,000. - - - Returns a that is the specified number of years away from the specified . - The to which to add . - The number of years to add. - The that results from adding the specified number of years to the specified . - The resulting is outside the supported range. - - - Returns the day of the month in the specified . - The to read. - An integer from 1 to 30 that represents the day of the month in the specified . - - - Returns the day of the week in the specified . - The to read. - A value that represents the day of the week in the specified . - - - Returns the day of the year in the specified . - The to read. - An integer from 1 to 385 that represents the day of the year in the specified . - - is earlier than September 17, 1583 in the Gregorian calendar, or greater than . - - - Returns the number of days in the specified month in the specified year in the specified era. - An integer that represents the year. - An integer from 1 to 13 that represents the month. - An integer that represents the era. Specify either or . - The number of days in the specified month in the specified year in the specified era. - - , , or is outside the range supported by the current object. - - - Returns the number of days in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. Specify either or . - The number of days in the specified year in the specified era. - - or is outside the range supported by the current object. - - - Returns the era in the specified . - The to read. - An integer that represents the era in the specified . The return value is always . - - - Calculates the leap month for a specified year and era. - A year. - An era. Specify either or . - A positive integer that indicates the leap month in the specified year and era. The return value is 7 if the and parameters specify a leap year, or 0 if the year is not a leap year. - - is not or .-or- - is less than the Hebrew calendar year 5343 or greater than the Hebrew calendar year 5999. - - - Returns the month in the specified . - The to read. - An integer from 1 to 13 that represents the month in the specified . - - is less than or greater than . - - - Returns the number of months in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. Specify either or . - The number of months in the specified year in the specified era. The return value is either 12 in a common year, or 13 in a leap year. - - or is outside the range supported by the current object. - - - Returns the year in the specified value. - The to read. - An integer that represents the year in the specified value. - - is outside the range supported by the current object. - - - Determines whether the specified date in the specified era is a leap day. - An integer that represents the year. - An integer from 1 to 13 that represents the month. - An integer from 1 to 30 that represents the day. - An integer that represents the era. Specify either or .. - - if the specified day is a leap day; otherwise, . - - , , , or is outside the range supported by this calendar. - - - Determines whether the specified month in the specified year in the specified era is a leap month. - An integer that represents the year. - An integer from 1 to 13 that represents the month. - An integer that represents the era. Specify either or . - - if the specified month is a leap month; otherwise, . - - , , or is outside the range supported by this calendar. - - - Determines whether the specified year in the specified era is a leap year. - An integer that represents the year. - An integer that represents the era. Specify either or . - - if the specified year is a leap year; otherwise, . - - or is outside the range supported by this calendar. - - - Returns a that is set to the specified date and time in the specified era. - An integer that represents the year. - An integer from 1 to 13 that represents the month. - An integer from 1 to 30 that represents the day. - An integer from 0 to 23 that represents the hour. - An integer from 0 to 59 that represents the minute. - An integer from 0 to 59 that represents the second. - An integer from 0 to 999 that represents the millisecond. - An integer that represents the era. Specify either or . - The that is set to the specified date and time in the current era. - - , , or is outside the range supported by the current object.-or- - is less than 0 or greater than 23.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 59.-or- - is less than 0 or greater than 999. - - - Converts the specified year to a 4-digit year by using the property to determine the appropriate century. - A 2-digit year from 0 through 99, or a 4-digit Hebrew calendar year from 5343 through 5999. - If the parameter is a 2-digit year, the return value is the corresponding 4-digit year. If the parameter is a 4-digit year, the return value is the unchanged parameter. - - is less than 0.-or- - is less than or greater than . - - - Initializes a new instance of the class. - - - Returns a that is the specified number of months away from the specified . - The to add months to. - The number of months to add. - The that results from adding the specified number of months to the specified . - The resulting . - - is less than -120000.-or- - is greater than 120000. - - - Returns a that is the specified number of years away from the specified . - The to add years to. - The number of years to add. - The that results from adding the specified number of years to the specified . - The resulting is outside the supported range. - - - Returns the day of the month in the specified . - The to read. - An integer from 1 to 30 that represents the day of the month in the specified . - - - Returns the day of the week in the specified . - The to read. - A value that represents the day of the week in the specified . - - - Returns the day of the year in the specified . - The to read. - An integer from 1 to 355 that represents the day of the year in the specified . - - - Returns the number of days in the specified month of the specified year and era. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer that represents the era. - The number of days in the specified month in the specified year in the specified era. - - is outside the range supported by this calendar. -or- - is outside the range supported by this calendar.-or- - is outside the range supported by this calendar. - - - Returns the number of days in the specified year and era. - An integer that represents the year. - An integer that represents the era. - The number of days in the specified year and era. The number of days is 354 in a common year or 355 in a leap year. - - or is outside the range supported by this calendar. - - - Returns the era in the specified . - The to read. - An integer that represents the era in the specified . - - - Calculates the leap month for a specified year and era. - A year. - An era. Specify or . - Always 0 because the type does not support the notion of a leap month. - - is less than the Hijri calendar year 1 or greater than the year 9666.-or- - is not or . - - - Returns the month in the specified . - The to read. - An integer from 1 to 12 that represents the month in the specified . - - - Returns the number of months in the specified year and era. - An integer that represents the year. - An integer that represents the era. - The number of months in the specified year and era. - - is outside the range supported by this calendar. -or- - is outside the range supported by this calendar. - - - Returns the year in the specified . - The to read. - An integer that represents the year in the specified . - - - Determines whether the specified date is a leap day. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer from 1 to 30 that represents the day. - An integer that represents the era. - - if the specified day is a leap day; otherwise, . - - is outside the range supported by this calendar. -or- - is outside the range supported by this calendar.-or- - is outside the range supported by this calendar.-or- - is outside the range supported by this calendar. - - - Determines whether the specified month in the specified year and era is a leap month. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer that represents the era. - This method always returns . - - is outside the range supported by this calendar. -or- - is outside the range supported by this calendar.-or- - is outside the range supported by this calendar. - - - Determines whether the specified year in the specified era is a leap year. - An integer that represents the year. - An integer that represents the era. - - if the specified year is a leap year; otherwise, . - - is outside the range supported by this calendar. -or- - is outside the range supported by this calendar. - - - Returns a that is set to the specified date, time, and era. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer from 1 to 30 that represents the day. - An integer from 0 to 23 that represents the hour. - An integer from 0 to 59 that represents the minute. - An integer from 0 to 59 that represents the second. - An integer from 0 to 999 that represents the millisecond. - An integer that represents the era. - The that is set to the specified date and time in the current era. - - is outside the range supported by this calendar. -or- - is outside the range supported by this calendar.-or- - is outside the range supported by this calendar.-or- - is outside the range supported by this calendar.-or- - is less than zero or greater than 23.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 999. - - - Converts the specified year to a four-digit year by using the property to determine the appropriate century. - A two-digit or four-digit integer that represents the year to convert. - An integer that contains the four-digit representation of . - - is outside the range supported by this calendar. - - - Initializes a new instance of the class. - - - Indicates whether a specified object and the current object are equal. - The object to compare to the current object. - - if the object specified by the parameter is derived from and its and properties are equal; otherwise, . - - - Encodes a string of domain name labels that consist of Unicode characters to a string of displayable Unicode characters in the US-ASCII character range. The string is formatted according to the IDNA standard. - The string to convert, which consists of one or more domain name labels delimited with label separators. - The equivalent of the string specified by the parameter, consisting of displayable Unicode characters in the US-ASCII character range (U+0020 to U+007E) and formatted according to the IDNA standard. - - is . - - is invalid based on the and properties, and the IDNA standard. - - - Encodes a substring of domain name labels that include Unicode characters outside the US-ASCII character range. The substring is converted to a string of displayable Unicode characters in the US-ASCII character range and is formatted according to the IDNA standard. - The string to convert, which consists of one or more domain name labels delimited with label separators. - A zero-based offset into that specifies the start of the substring to convert. The conversion operation continues to the end of the string. - The equivalent of the substring specified by the and parameters, consisting of displayable Unicode characters in the US-ASCII character range (U+0020 to U+007E) and formatted according to the IDNA standard. - - is . - - is less than zero.-or- - is greater than the length of . - - is invalid based on the and properties, and the IDNA standard. - - - Encodes the specified number of characters in a substring of domain name labels that include Unicode characters outside the US-ASCII character range. The substring is converted to a string of displayable Unicode characters in the US-ASCII character range and is formatted according to the IDNA standard. - The string to convert, which consists of one or more domain name labels delimited with label separators. - A zero-based offset into that specifies the start of the substring. - The number of characters to convert in the substring that starts at the position specified by in the string. - The equivalent of the substring specified by the , , and parameters, consisting of displayable Unicode characters in the US-ASCII character range (U+0020 to U+007E) and formatted according to the IDNA standard. - - is . - - or is less than zero.-or- - is greater than the length of .-or- - is greater than the length of minus . - - is invalid based on the and properties, and the IDNA standard. - - - Returns a hash code for this object. - One of four 32-bit signed constants derived from the properties of an object. The return value has no special meaning and is not suitable for use in a hash code algorithm. - - - Decodes a string of one or more domain name labels, encoded according to the IDNA standard, to a string of Unicode characters. - The string to decode, which consists of one or more labels in the US-ASCII character range (U+0020 to U+007E) encoded according to the IDNA standard. - The Unicode equivalent of the IDNA substring specified by the parameter. - - is . - - is invalid based on the and properties, and the IDNA standard. - - - Decodes a substring of one or more domain name labels, encoded according to the IDNA standard, to a string of Unicode characters. - The string to decode, which consists of one or more labels in the US-ASCII character range (U+0020 to U+007E) encoded according to the IDNA standard. - A zero-based offset into that specifies the start of the substring to decode. The decoding operation continues to the end of the string. - The Unicode equivalent of the IDNA substring specified by the and parameters. - - is . - - is less than zero.-or- - is greater than the length of . - - is invalid based on the and properties, and the IDNA standard. - - - Decodes a substring of a specified length that contains one or more domain name labels, encoded according to the IDNA standard, to a string of Unicode characters. - The string to decode, which consists of one or more labels in the US-ASCII character range (U+0020 to U+007E) encoded according to the IDNA standard. - A zero-based offset into that specifies the start of the substring. - The number of characters to convert in the substring that starts at the position specified by in the string. - The Unicode equivalent of the IDNA substring specified by the , , and parameters. - - is . - - or is less than zero.-or- - is greater than the length of .-or- - is greater than the length of minus . - - is invalid based on the and properties, and the IDNA standard. - - - Initializes a new instance of the class. - Unable to initialize a object because of missing culture information. - - - Returns a that is the specified number of months away from the specified . - The to which to add months. - The number of months to add. - The that results from adding the specified number of months to the specified . - The resulting is outside the supported range. - - is less than -120000.-or- - is greater than 120000. - - - Returns a that is the specified number of years away from the specified . - The to which to add years. - The number of years to add. - The that results from adding the specified number of years to the specified . - The resulting is outside the supported range. - - is outside the supported range of the type.-or- - is less than -10,000 or greater than 10,000. - - - Returns the day of the month in the specified . - The to read. - An integer from 1 to 31 that represents the day of the month in the specified . - - - Returns the day of the week in the specified . - The to read. - A value that represents the day of the week in the specified . - - - Returns the day of the year in the specified . - The to read. - An integer from 1 to 366 that represents the day of the year in the specified . - - - Returns the number of days in the specified month in the specified year in the specified era. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer that represents the era. - The number of days in the specified month in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the number of days in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. - The number of days in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the era in the specified . - The to read. - An integer that represents the era in the specified . - The resulting is outside the supported range. - - - Calculates the leap month for a specified year and era. - A year. - An era. - The return value is always 0 because the type does not support the notion of a leap month. - - or is outside the range supported by the type. - - - Returns the month in the specified . - The to read. - An integer from 1 to 12 that represents the month in the specified . - - - Returns the number of months in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. - The return value is always 12. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the week of the year that includes the date in the specified . - The to read. - One of the values that defines a calendar week. - One of the values that represents the first day of the week. - A 1-based integer that represents the week of the year that includes the date in the parameter. - - or is outside the range supported by the calendar.-or- - is not a valid value. - - - Returns the year in the specified . - The to read. - An integer that represents the year in the specified . - - - Determines whether the specified date in the specified era is a leap day. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer from 1 to 31 that represents the day. - An integer that represents the era. - - , if the specified day is a leap day; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Determines whether the specified month in the specified year in the specified era is a leap month. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer that represents the era. - This method always returns , unless overridden by a derived class. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Determines whether the specified year in the specified era is a leap year. - An integer that represents the year. - An integer that represents the era. - - , if the specified year is a leap year; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns a that is set to the specified date and time in the specified era. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer from 1 to 31 that represents the day. - An integer from 0 to 23 that represents the hour. - An integer from 0 to 59 that represents the minute. - An integer from 0 to 59 that represents the second. - An integer from 0 to 999 that represents the millisecond. - An integer that represents the era. - The that is set to the specified date and time in the current era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is less than zero or greater than 23.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 999.-or- - is outside the range supported by the calendar. - - - Converts the specified year to a four-digit year by using the property to determine the appropriate century. - An integer (usually two digits) that represents the year to convert. - An integer that contains the four-digit representation of . - - is outside the range supported by the calendar. - - - Initializes a new instance of the class. - - - Retrieves the era that corresponds to the specified . - The to read. - An integer that represents the era specified in the parameter. - - - Initializes a new instance of the class. - - - Returns a that is the specified number of months away from the specified . - The to which to add months. - The number of months to add. - The that results from adding the specified number of months to the specified . - The resulting is outside the supported range. - - is less than -120000.-or- - is greater than 120000. - - - Returns a that is the specified number of years away from the specified . - The to which to add years. - The number of years to add. - The that results from adding the specified number of years to the specified . - The resulting is outside the supported range. - - - Returns the day of the month in the specified . - The to read. - An integer from 1 to 31 that represents the day of the month in . - - - Returns the day of the week in the specified . - The to read. - A value that represents the day of the week in . - - - Returns the day of the year in the specified . - The to read. - An integer from 1 to 366 that represents the day of the year in . - - - Returns the number of days in the specified month in the specified year in the specified era. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer that represents the era. - The number of days in the specified month in the specified year in the specified era. - - is outside the range supported by the calendar. -or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the number of days in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. - The number of days in the specified year in the specified era. - - is outside the range supported by the calendar. -or- - is outside the range supported by the calendar. - - - Returns the era in the specified . - The to read. - An integer that represents the era in . - - - Calculates the leap month for a specified year and era. - An integer that represents the year. - An integer that represents the era. - A positive integer that indicates the leap month in the specified year and era. Alternatively, this method returns zero if the calendar does not support a leap month, or if and do not specify a leap year. - - - Returns the month in the specified . - The to read. - An integer from 1 to 12 that represents the month in . - - - Returns the number of months in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. - The number of months in the specified year in the specified era. - - is outside the range supported by the calendar. -or- - is outside the range supported by the calendar. - - - Returns the year in the specified . - The to read. - An integer that represents the year in . - - - Determines whether the specified date in the specified era is a leap day. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer from 1 to 31 that represents the day. - An integer that represents the era. - - if the specified day is a leap day; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. -or- - is outside the range supported by the calendar. - - - Determines whether the specified month in the specified year in the specified era is a leap month. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer that represents the era. - This method always returns , unless overridden by a derived class. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. -or- - is outside the range supported by the calendar. - - - Determines whether the specified year in the specified era is a leap year. - An integer that represents the year. - An integer that represents the era. - - if the specified year is a leap year; otherwise, . - - is outside the range supported by the calendar. -or- - is outside the range supported by the calendar. - - - Returns a that is set to the specified date and time in the specified era. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer from 1 to 31 that represents the day. - An integer from 0 to 23 that represents the hour. - An integer from 0 to 59 that represents the minute. - An integer from 0 to 59 that represents the second. - An integer from 0 to 999 that represents the millisecond. - An integer that represents the era. - The that is set to the specified date and time in the current era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is less than zero or greater than 23.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 999. -or- - is outside the range supported by the calendar. - - - Converts the specified year to a four-digit year by using the property to determine the appropriate century. - A two-digit or four-digit integer that represents the year to convert. - An integer that contains the four-digit representation of . - - is outside the range supported by the calendar. - - - Initializes a new instance of the class. - Unable to initialize a object because of missing culture information. - - - Returns a that is the specified number of months away from the specified . - The to which to add months. - The number of months to add. - The that results from adding the specified number of months to the specified . - - is less than -120000.-or- - is greater than 120000. - - - Returns a that is the specified number of years away from the specified . - The to which to add years. - The number of years to add. - The that results from adding the specified number of years to the specified . - - or is out of range. - - - Returns the day of the month in the specified . - The to read. - An integer from 1 to 31 that represents the day of the month in the specified . - - - Returns the day of the week in the specified . - The to read. - A value that represents the day of the week in the specified . - - - Returns the day of the year in the specified . - The to read. - An integer from 1 to 366 that represents the day of the year in the specified . - - - Returns the number of days in the specified month in the specified year in the specified era. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer that represents the era. - The number of days in the specified month in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the number of days in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. - The number of days in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the era in the specified . - The to read. - An integer that represents the era in the specified . - - - Calculates the leap month for a specified year and era. - A year. - An era. - The return value is always 0 because the class does not support the notion of a leap month. - - - Returns the month in the specified . - The to read. - An integer from 1 to 12 that represents the month in the specified . - - - Returns the number of months in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. - The number of months in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the week of the year that includes the date in the specified . - The to read. - One of the values that defines a calendar week. - One of the values that represents the first day of the week. - A 1-based integer that represents the week of the year that includes the date in the parameter. - - or is outside the range supported by the calendar.-or- - is not a valid value. - - - Returns the year in the specified . - The to read. - An integer that represents the year in the specified . - - - Determines whether the specified date in the specified era is a leap day. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer from 1 to 31 that represents the day. - An integer that represents the era. - - if the specified day is a leap day; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Determines whether the specified month in the specified year in the specified era is a leap month. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer that represents the era. - This method always returns , unless overridden by a derived class. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Determines whether the specified year in the specified era is a leap year. - An integer that represents the year. - An integer that represents the era. - - if the specified year is a leap year; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns a that is set to the specified date and time in the specified era. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer from 1 to 31 that represents the day. - An integer from 0 to 23 that represents the hour. - An integer from 0 to 59 that represents the minute. - An integer from 0 to 59 that represents the second. - An integer from 0 to 999 that represents the millisecond. - An integer that represents the era. - The that is set to the specified date and time in the current era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is less than zero or greater than 23.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 999.-or- - is outside the range supported by the calendar. - - - Converts the specified year to a four-digit year by using the property to determine the appropriate century. - A two-digit or four-digit integer that represents the year to convert. - An integer that contains the four-digit representation of . - - is outside the range supported by the calendar. - - - Initializes a new instance of the class. - - - Retrieves the era that corresponds to the specified . - The to read. - An integer that represents the era specified by the parameter. The return value for a object is always the value. - - represents a date and time less than or greater than . - - - Initializes a new writable instance of the class that is culture-independent (invariant). - - - Creates a shallow copy of the object. - A new object copied from the original object. - - - Gets an object of the specified type that provides a number formatting service. - The of the required formatting service. - The current , if is the same as the type of the current ; otherwise, . - - - Gets the associated with the specified . - The used to get the .-or- - to get . - The associated with the specified . - - - Returns a read-only wrapper. - The to wrap. - A read-only wrapper around . - - is . - - - Initializes a new instance of the class. - - - Returns a object that is offset the specified number of months from the specified object. - The to which to add months. - The positive or negative number of months to add. - A object that represents the date yielded by adding the number of months specified by the parameter to the date specified by the parameter. - The resulting is outside the supported range. - - is less than -120,000 or greater than 120,000. - - - Returns a object that is offset the specified number of years from the specified object. - The to which to add years. - The positive or negative number of years to add. - The object that results from adding the specified number of years to the specified object. - The resulting is outside the supported range. - - is less than -10,000 or greater than 10,000. - - - Returns the day of the month in the specified object. - The to read. - An integer from 1 through 31 that represents the day of the month in the specified object. - The parameter represents a date less than or greater than . - - - Returns the day of the week in the specified object. - The to read. - A value that represents the day of the week in the specified object. - - - Returns the day of the year in the specified object. - The to read. - An integer from 1 through 366 that represents the day of the year in the specified object. - The parameter represents a date less than or greater than . - - - Returns the number of days in the specified month of the specified year and era. - An integer from 1 through 9378 that represents the year. - An integer that represents the month, and ranges from 1 through 12 if is not 9378, or 1 through 10 if is 9378. - An integer from 0 through 1 that represents the era. - The number of days in the specified month of the specified year and era. - - , , or is outside the range supported by this calendar. - - - Returns the number of days in the specified year of the specified era. - An integer from 1 through 9378 that represents the year. - An integer from 0 through 1 that represents the era. - The number of days in the specified year and era. The number of days is 365 in a common year or 366 in a leap year. - - or is outside the range supported by this calendar. - - - Returns the era in the specified object. - The to read. - Always returns . - The parameter represents a date less than or greater than . - - - Returns the leap month for a specified year and era. - An integer from 1 through 9378 that represents the year to convert. - An integer from 0 through 1 that represents the era. - The return value is always 0. - - or is outside the range supported by this calendar. - - - Returns the month in the specified object. - The to read. - An integer from 1 through 12 that represents the month in the specified object. - The parameter represents a date less than or greater than . - - - Returns the number of months in the specified year of the specified era. - An integer from 1 through 9378 that represents the year. - An integer from 0 through 1 that represents the era. - Returns 10 if the parameter is 9378; otherwise, always returns 12. - - or is outside the range supported by this calendar. - - - Returns the year in the specified object. - The to read. - An integer from 1 through 9378 that represents the year in the specified . - The parameter represents a date less than or greater than . - - - Determines whether the specified date is a leap day. - An integer from 1 through 9378 that represents the year. - An integer that represents the month and ranges from 1 through 12 if is not 9378, or 1 through 10 if is 9378. - An integer from 1 through 31 that represents the day. - An integer from 0 through 1 that represents the era. - - if the specified day is a leap day; otherwise, . - - , , , or is outside the range supported by this calendar. - - - Determines whether the specified month in the specified year and era is a leap month. - An integer from 1 through 9378 that represents the year. - An integer that represents the month and ranges from 1 through 12 if is not 9378, or 1 through 10 if is 9378. - An integer from 0 through 1 that represents the era. - Always returns because the class does not support the notion of a leap month. - - , , or is outside the range supported by this calendar. - - - Determines whether the specified year in the specified era is a leap year. - An integer from 1 through 9378 that represents the year. - An integer from 0 through 1 that represents the era. - - if the specified year is a leap year; otherwise, . - - or is outside the range supported by this calendar. - - - Returns a object that is set to the specified date, time, and era. - An integer from 1 through 9378 that represents the year. - An integer from 1 through 12 that represents the month. - An integer from 1 through 31 that represents the day. - An integer from 0 through 23 that represents the hour. - An integer from 0 through 59 that represents the minute. - An integer from 0 through 59 that represents the second. - An integer from 0 through 999 that represents the millisecond. - An integer from 0 through 1 that represents the era. - A object that is set to the specified date and time in the current era. - - , , , , , , , or is outside the range supported by this calendar. - - - Converts the specified year to a four-digit year representation. - An integer from 1 through 9378 that represents the year to convert. - An integer that contains the four-digit representation of . - - is less than 0 or greater than 9378. - - - Initializes a new instance of the class based on the country/region associated with the specified culture identifier. - A culture identifier. - - specifies either an invariant, custom, or neutral culture. - - - Initializes a new instance of the class based on the country/region or specific culture, specified by name. - A string that contains a two-letter code defined in ISO 3166 for country/region.-or-A string that contains the culture name for a specific culture, custom culture, or Windows-only culture. If the culture name is not in RFC 4646 format, your application should specify the entire culture name instead of just the country/region. - - is . - - is not a valid country/region name or specific culture name. - - - Determines whether the specified object is the same instance as the current . - The object to compare with the current . - - if the parameter is a object and its property is the same as the property of the current object; otherwise, . - - - Serves as a hash function for the current , suitable for hashing algorithms and data structures, such as a hash table. - A hash code for the current . - - - Returns a string containing the culture name or ISO 3166 two-letter country/region codes specified for the current . - A string containing the culture name or ISO 3166 two-letter country/region codes defined for the current . - - - Compares two sort keys. - The first sort key to compare. - The second sort key to compare. - A signed integer that indicates the relationship between and .Value Condition Less than zero - is less than . Zero - is equal to . Greater than zero - is greater than . - - or is . - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - - if the parameter is equal to the current object; otherwise, . - - is . - - - Serves as a hash function for the current object that is suitable for hashing algorithms and data structures such as a hash table. - A hash code for the current object. - - - Returns a string that represents the current object. - A string that represents the current object. - - - Creates a new instance of the class. - A version number. - A sort ID. - - - Returns a value that indicates whether this instance is equal to a specified object. - The object to compare with this instance. - - if represents the same version as this instance; otherwise, . - - - Returns a value that indicates whether this instance is equal to a specified object. - An object to compare with this instance. - - if is a object that represents the same version as this instance; otherwise, . - - - Returns a hash code for this instance. - A 32-bit signed integer hash code. - - - Indicates whether two instances are equal. - The first instance to compare. - The second instance to compare. - - if the values of and are equal; otherwise, . - - - Indicates whether two instances are not equal. - The first instance to compare. - The second instance to compare. - - if the values of and are not equal; otherwise, . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class to a specified string. - A string to initialize this object. - - is . - - - Indicates whether the current object is equal to a specified object. - An object. - - if the parameter is a object and its property equals the property of this object; otherwise, . - - - Calculates a hash code for the value of the current object. - A 32-bit signed integer hash code based on the string value of this object. - - - Gets the first text element in a specified string. - The string from which to get the text element. - A string containing the first text element in the specified string. - - is . - - - Gets the text element at the specified index of the specified string. - The string from which to get the text element. - The zero-based index at which the text element starts. - A string containing the text element at the specified index of the specified string. - - is . - - is outside the range of valid indexes for . - - - Returns an enumerator that iterates through the text elements of the entire string. - The string to iterate through. - A for the entire string. - - is . - - - Returns an enumerator that iterates through the text elements of the string, starting at the specified index. - The string to iterate through. - The zero-based index at which to start iterating. - A for the string starting at . - - is . - - is outside the range of valid indexes for . - - - Returns the indexes of each base character, high surrogate, or control character within the specified string. - The string to search. - An array of integers that contains the zero-based indexes of each base character, high surrogate, or control character within the specified string. - - is . - - - Retrieves a substring of text elements from the current object starting from a specified text element and continuing through the last text element. - The zero-based index of a text element in this object. - A substring of text elements in this object, starting from the text element index specified by the parameter and continuing through the last text element in this object. - - is less than zero.-or-The string that is the value of the current object is the empty string (""). - - - Retrieves a substring of text elements from the current object starting from a specified text element and continuing through the specified number of text elements. - The zero-based index of a text element in this object. - The number of text elements to retrieve. - A substring of text elements in this object. The substring consists of the number of text elements specified by the parameter and starts from the text element index specified by the parameter. - - is less than zero.-or- - is greater than or equal to the length of the string that is the value of the current object.-or- - is less than zero.-or-The string that is the value of the current object is the empty string ("").-or- - + specify an index that is greater than the number of text elements in this object. - - - Initializes a new instance of the class. - Unable to initialize a object because of missing culture information. - - - Returns a that is the specified number of months away from the specified . - The to which to add months. - The number of months to add. - The that results from adding the specified number of months to the specified . - The resulting is outside the supported range. - - is less than -120000.-or- - is greater than 120000. - - - Returns a that is the specified number of years away from the specified . - The to which to add years. - The number of years to add. - The that results from adding the specified number of years to the specified . - The resulting is outside the supported range. - - - Returns the day of the month in the specified . - The to read. - An integer from 1 to 31 that represents the day of the month in the specified . - - - Returns the day of the week in the specified . - The to read. - A value that represents the day of the week in the specified . - - - Returns the day of the year in the specified . - The to read. - An integer from 1 to 366 that represents the day of the year in the specified . - - - Returns the number of days in the specified month in the specified year in the specified era. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer that represents the era. - The number of days in the specified month in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the number of days in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. - The number of days in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the era in the specified . - The to read. - An integer that represents the era in the specified . - - - Calculates the leap month for a specified year and era. - A year. - An era. - The return value is always 0 because the class does not support the notion of a leap month. - - - Returns the month in the specified . - The to read. - An integer from 1 to 12 that represents the month in the specified . - - - Returns the number of months in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. - The number of months in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the week of the year that includes the date in the specified . - The to read. - One of the values that defines a calendar week. - One of the values that represents the first day of the week. - A positive integer that represents the week of the year that includes the date in the parameter. - - or is outside the range supported by the calendar.-or- - is not a valid value. - - - Returns the year in the specified . - The to read. - An integer that represents the year in the specified . - - - Determines whether the specified date in the specified era is a leap day. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer from 1 to 31 that represents the day. - An integer that represents the era. - - if the specified day is a leap day; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Determines whether the specified month in the specified year in the specified era is a leap month. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer that represents the era. - This method always returns , unless overridden by a derived class. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Determines whether the specified year in the specified era is a leap year. - An integer that represents the year. - An integer that represents the era. - - if the specified year is a leap year; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns a that is set to the specified date and time in the specified era. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer from 1 to 31 that represents the day. - An integer from 0 to 23 that represents the hour. - An integer from 0 to 59 that represents the minute. - An integer from 0 to 59 that represents the second. - An integer from 0 to 999 that represents the millisecond. - An integer that represents the era. - The that is set to the specified date and time in the current era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is less than zero or greater than 23.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 999.-or- - is outside the range supported by the calendar. - - - Converts the specified year to a four-digit year by using the property to determine the appropriate century. - A two-digit or four-digit integer that represents the year to convert. - An integer that contains the four-digit representation of . - - is outside the range supported by the calendar. - - - Initializes a new instance of the class. - - - Retrieves the era that corresponds to the specified . - The to read. - An integer that represents the era specified in the parameter. - - - Gets the current text element in the string. - A new string containing the current text element in the string being read. - The enumerator is positioned before the first text element of the string or after the last text element. - - - Advances the enumerator to the next text element of the string. - - if the enumerator was successfully advanced to the next text element; if the enumerator has passed the end of the string. - - - Sets the enumerator to its initial position, which is before the first text element in the string. - - - Creates a new object that is a copy of the current object. - A new instance of that is the memberwise clone of the current object. - - - Determines whether the specified object represents the same writing system as the current object. - The object to compare with the current . - - if represents the same writing system as the current ; otherwise, . - - - Serves as a hash function for the current , suitable for hashing algorithms and data structures, such as a hash table. - A hash code for the current . - - - Returns a read-only version of the specified object. - A object. - The object specified by the parameter, if is read-only.-or-A read-only memberwise clone of the object specified by , if is not read-only. - - is null. - - - Raises the deserialization event when deserialization is complete. - The source of the deserialization event. - - - Converts the specified character to lowercase. - The character to convert to lowercase. - The specified character converted to lowercase. - - - Converts the specified string to lowercase. - The string to convert to lowercase. - The specified string converted to lowercase. - - is null. - - - Returns a string that represents the current . - A string that represents the current . - - - Converts the specified string to title case (except for words that are entirely in uppercase, which are considered to be acronyms). - The string to convert to title case. - The specified string converted to title case. - - is . - - - Converts the specified character to uppercase. - The character to convert to uppercase. - The specified character converted to uppercase. - - - Converts the specified string to uppercase. - The string to convert to uppercase. - The specified string converted to uppercase. - - is null. - - - Initializes a new instance of the class. - - - Returns a that is the specified number of months away from the specified . - The to which to add months. - The number of months to add. - The that results from adding the specified number of months to the specified . - The resulting is outside the supported range. - - is less than -120000.-or- - is greater than 120000. - - - Returns a that is the specified number of years away from the specified . - The to which to add years. - The number of years to add. - The that results from adding the specified number of years to the specified . - The resulting is outside the supported range. - - - Returns the day of the month in the specified . - The to read. - An integer from 1 to 31 that represents the day of the month in the specified . - - - Returns the day of the week in the specified . - The to read. - A value that represents the day of the week in the specified . - - - Returns the day of the year in the specified . - The to read. - An integer from 1 to 366 that represents the day of the year in the specified . - - - Returns the number of days in the specified month in the specified year in the specified era. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer that represents the era. - The number of days in the specified month in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the number of days in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. - The number of days in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the era in the specified . - The to read. - An integer that represents the era in the specified . - - - Calculates the leap month for a specified year and era. - A year. - An era. - The return value is always 0 because the class does not support the notion of a leap month. - - - Returns the month in the specified . - The to read. - An integer from 1 to 12 that represents the month in the specified . - - - Returns the number of months in the specified year in the specified era. - An integer that represents the year. - An integer that represents the era. - The number of months in the specified year in the specified era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns the week of the year that includes the date in the specified . - The to read. - One of the values that defines a calendar week. - One of the values that represents the first day of the week. - A 1-based positive integer that represents the week of the year that includes the date in the parameter. - - or is outside the range supported by the calendar.-or- - is not a valid value. - - - Returns the year in the specified . - The to read. - An integer that represents the year in the specified . - - - Determines whether the specified date in the specified era is a leap day. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer from 1 to 31 that represents the day. - An integer that represents the era. - - if the specified day is a leap day; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Determines whether the specified month in the specified year in the specified era is a leap month. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer that represents the era. - This method always returns , unless overridden by a derived class. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Determines whether the specified year in the specified era is a leap year. - An integer that represents the year. - An integer that represents the era. - - if the specified year is a leap year; otherwise, . - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar. - - - Returns a that is set to the specified date and time in the specified era. - An integer that represents the year. - An integer from 1 to 12 that represents the month. - An integer from 1 to 31 that represents the day. - An integer from 0 to 23 that represents the hour. - An integer from 0 to 59 that represents the minute. - An integer from 0 to 59 that represents the second. - An integer from 0 to 999 that represents the millisecond. - An integer that represents the era. - The that is set to the specified date and time in the current era. - - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is outside the range supported by the calendar.-or- - is less than zero or greater than 23.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 999.-or- - is outside the range supported by the calendar. - - - Converts the specified year to a four-digit year by using the property to determine the appropriate century. - A two-digit or four-digit integer that represents the year to convert. - An integer that contains the four-digit representation of . - - is outside the range supported by the calendar. - - - Initializes a new instance of the class. - - - Calculates a date that is a specified number of months away from a specified initial date. - The date to which to add months. The class supports only dates from 04/30/1900 00.00.00 (Gregorian date) through 11/16/2077 23:59:59 (Gregorian date). - The positive or negative number of months to add. - The date yielded by adding the number of months specified by the parameter to the date specified by the parameter. - The resulting date is outside the range supported by the class. - - is less than -120,000 or greater than 120,000. -or- - is outside the range supported by this calendar. - - - Calculates a date that is a specified number of years away from a specified initial date. - The date to which to add years. The class supports only dates from 04/30/1900 00.00.00 (Gregorian date) through 11/16/2077 23:59:59 (Gregorian date). - The positive or negative number of years to add. - The date yielded by adding the number of years specified by the parameter to the date specified by the parameter. - The resulting date is outside the range supported by the class. - - is less than -10,000 or greater than 10,000. -or- - is outside the range supported by this calendar. - - - Calculates the day of the month on which a specified date occurs. - The date value to read. The class supports only dates from 04/30/1900 00.00.00 (Gregorian date) through 11/16/2077 23:59:59 (Gregorian date). - An integer from 1 through 30 that represents the day of the month specified by the parameter. - - is outside the range supported by this calendar. - - - Calculates the day of the week on which a specified date occurs. - The date value to read. The class supports only dates from 04/30/1900 00.00.00 (Gregorian date) through 11/16/2077 23:59:59 (Gregorian date). - A value that represents the day of the week specified by the parameter. - - is outside the range supported by this calendar. - - - Calculates the day of the year on which a specified date occurs. - The date value to read. The class supports only dates from 04/30/1900 00.00.00 (Gregorian date) through 11/16/2077 23:59:59 (Gregorian date). - An integer from 1 through 355 that represents the day of the year specified by the parameter. - - is outside the range supported by this calendar. - - - Calculates the number of days in the specified month of the specified year and era. - A year. - An integer from 1 through 12 that represents a month. - An era. Specify or . - The number of days in the specified month in the specified year and era. The return value is 29 in a common year and 30 in a leap year. - - , , or is outside the range supported by the class. - - - Calculates the number of days in the specified year of the specified era. - A year. - An era. Specify or . - The number of days in the specified year and era. The number of days is 354 in a common year or 355 in a leap year. - - or is outside the range supported by the class. - - - Calculates the era in which a specified date occurs. - The date value to read. - Always returns the value. - - is outside the range supported by this calendar. - - - Calculates the leap month for a specified year and era. - A year. - An era. Specify or . - Always 0 because the class does not support leap months. - - is less than 1318 or greater than 1450.-or- - is not or . - - - Calculates the month in which a specified date occurs. - The date value to read. The class supports only dates from 04/30/1900 00.00.00 (Gregorian date) through 11/16/2077 23:59:59 (Gregorian date). - An integer from 1 through 12 that represents the month in the date specified by the parameter. - - is outside the range supported by this calendar. - - - Calculates the number of months in the specified year of the specified era. - A year. - An era. Specify or . - Always 12. - - is outside the range supported by this calendar. - - is outside the range supported by this calendar. - - - Calculates the year of a date represented by a specified . - The date value to read. The class supports only dates from 04/30/1900 00.00.00 (Gregorian date) through 11/16/2077 23:59:59 (Gregorian date). - An integer that represents the year specified by the parameter. - - is outside the range supported by this calendar. - - - Determines whether the specified date is a leap day. - A year. - An integer from 1 through 12 that represents a month. - An integer from 1 through 30 that represents a day. - An era. Specify or . - - if the specified day is a leap day; otherwise, . The return value is always because the class does not support leap days. - - , , , or is outside the range supported by the class. - - - Determines whether the specified month in the specified year and era is a leap month. - A year. - An integer from 1 through 12 that represents a month. - An era. Specify or . - Always because the class does not support leap months. - - , , or is outside the range supported by the class. - - - Determines whether the specified year in the specified era is a leap year. - A year. - An era. Specify or . - - if the specified year is a leap year; otherwise, . - - or is outside the range supported by the class. - - - Returns a that is set to the specified date, time, and era. - A year. - An integer from 1 through 12 that represents a month. - An integer from 1 through 29 that represents a day. - An integer from 0 through 23 that represents an hour. - An integer from 0 through 59 that represents a minute. - An integer from 0 through 59 that represents a second. - An integer from 0 through 999 that represents a millisecond. - An era. Specify or . - The that is set to the specified date and time in the current era. - - , , , or is outside the range supported by the class.-or- - is less than zero or greater than 23.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 59.-or- - is less than zero or greater than 999. - - - Converts the specified year to a four-digit year by using the property to determine the appropriate century. - A 2-digit year from 0 through 99, or a 4-digit Um Al Qura calendar year from 1318 through 1450. - If the parameter is a 2-digit year, the return value is the corresponding 4-digit year. If the parameter is a 4-digit year, the return value is the unchanged parameter. - - is outside the range supported by this calendar. - - - Initializes a new instance of the structure by using the specified array of bytes. - A 16-element byte array containing values with which to initialize the GUID. - - is . - - is not 16 bytes long. - - - Initializes a new instance of the structure by using the specified integers and bytes. - The first 4 bytes of the GUID. - The next 2 bytes of the GUID. - The next 2 bytes of the GUID. - The next byte of the GUID. - The next byte of the GUID. - The next byte of the GUID. - The next byte of the GUID. - The next byte of the GUID. - The next byte of the GUID. - The next byte of the GUID. - The next byte of the GUID. - - - Initializes a new instance of the structure by using the specified integers and byte array. - The first 4 bytes of the GUID. - The next 2 bytes of the GUID. - The next 2 bytes of the GUID. - The remaining 8 bytes of the GUID. - - is . - - is not 8 bytes long. - - - Initializes a new instance of the structure by using the value represented by the specified string. - A string that contains a GUID in one of the following formats ("d" represents a hexadecimal digit whose case is ignored): 32 contiguous digits: dddddddddddddddddddddddddddddddd -or- Groups of 8, 4, 4, 4, and 12 digits with hyphens between the groups. The entire GUID can optionally be enclosed in matching braces or parentheses: dddddddd-dddd-dddd-dddd-dddddddddddd -or- {dddddddd-dddd-dddd-dddd-dddddddddddd} -or- (dddddddd-dddd-dddd-dddd-dddddddddddd) -or- Groups of 8, 4, and 4 digits, and a subset of eight groups of 2 digits, with each group prefixed by "0x" or "0X", and separated by commas. The entire GUID, as well as the subset, is enclosed in matching braces: {0xdddddddd, 0xdddd, 0xdddd,{0xdd,0xdd,0xdd,0xdd,0xdd,0xdd,0xdd,0xdd}} All braces, commas, and "0x" prefixes are required. All embedded spaces are ignored. All leading zeros in a group are ignored.The digits shown in a group are the maximum number of meaningful digits that can appear in that group. You can specify from 1 to the number of digits shown for a group. The specified digits are assumed to be the low-order digits of the group. - - is . - The format of is invalid. - The format of is invalid. - - - Initializes a new instance of the structure by using the specified unsigned integers and bytes. - The first 4 bytes of the GUID. - The next 2 bytes of the GUID. - The next 2 bytes of the GUID. - The next byte of the GUID. - The next byte of the GUID. - The next byte of the GUID. - The next byte of the GUID. - The next byte of the GUID. - The next byte of the GUID. - The next byte of the GUID. - The next byte of the GUID. - - - Compares this instance to a specified object and returns an indication of their relative values. - An object to compare to this instance. - A signed number indicating the relative values of this instance and .Return value Description A negative integer This instance is less than . Zero This instance is equal to . A positive integer This instance is greater than . - - - Compares this instance to a specified object and returns an indication of their relative values. - An object to compare, or . - A signed number indicating the relative values of this instance and .Return value Description A negative integer This instance is less than . Zero This instance is equal to . A positive integer This instance is greater than , or is . - - is not a . - - - Returns a value indicating whether this instance and a specified object represent the same value. - An object to compare to this instance. - - if is equal to this instance; otherwise, . - - - Returns a value that indicates whether this instance is equal to a specified object. - The object to compare with this instance. - - if is a that has the same value as this instance; otherwise, . - - - Returns the hash code for this instance. - The hash code for this instance. - - - Initializes a new instance of the structure. - A new GUID object. - - - Indicates whether the values of two specified objects are equal. - The first object to compare. - The second object to compare. - - if and are equal; otherwise, . - - - Indicates whether the values of two specified objects are not equal. - The first object to compare. - The second object to compare. - - if and are not equal; otherwise, . - - - Converts the string representation of a GUID to the equivalent structure. - The string to convert. - A structure that contains the value that was parsed. - - is . - - is not in a recognized format. - - - Converts the string representation of a GUID to the equivalent structure, provided that the string is in the specified format. - The GUID to convert. - One of the following specifiers that indicates the exact format to use when interpreting : "N", "D", "B", "P", or "X". - A structure that contains the value that was parsed. - - or is . - - is not in the format specified by . - - - Returns a 16-element byte array that contains the value of this instance. - A 16-element byte array. - - - Returns a string representation of the value of this instance in registry format. - The value of this , formatted by using the "D" format specifier as follows: - xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - where the value of the GUID is represented as a series of lowercase hexadecimal digits in groups of 8, 4, 4, 4, and 12 digits and separated by hyphens. An example of a return value is "382c74c3-721d-4f34-80e5-57657b6cbc27". To convert the hexadecimal digits from a through f to uppercase, call the method on the returned string. - - - Returns a string representation of the value of this instance, according to the provided format specifier. - A single format specifier that indicates how to format the value of this . The parameter can be "N", "D", "B", "P", or "X". If is or an empty string (""), "D" is used. - The value of this , represented as a series of lowercase hexadecimal digits in the specified format. - The value of is not , an empty string (""), "N", "D", "B", "P", or "X". - - - Returns a string representation of the value of this instance of the class, according to the provided format specifier and culture-specific format information. - A single format specifier that indicates how to format the value of this . The parameter can be "N", "D", "B", "P", or "X". If is or an empty string (""), "D" is used. - (Reserved) An object that supplies culture-specific formatting information. - The value of this , represented as a series of lowercase hexadecimal digits in the specified format. - The value of is not , an empty string (""), "N", "D", "B", "P", or "X". - - - Converts the string representation of a GUID to the equivalent structure. - The GUID to convert. - The structure that will contain the parsed value. If the method returns , contains a valid . If the method returns , equals . - - if the parse operation was successful; otherwise, . - - - Converts the string representation of a GUID to the equivalent structure, provided that the string is in the specified format. - The GUID to convert. - One of the following specifiers that indicates the exact format to use when interpreting : "N", "D", "B", "P", or "X". - The structure that will contain the parsed value. If the method returns , contains a valid . If the method returns , equals . - - if the parse operation was successful; otherwise, . - - - Creates a new object that is a copy of the current instance. - A new object that is a copy of this instance. - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - An object to compare with this instance. - A value that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance precedes in the sort order. Zero This instance occurs in the same position in the sort order as . Greater than zero This instance follows in the sort order. - - is not the same type as this instance. - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - An object to compare with this instance. - A value that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance precedes in the sort order. Zero This instance occurs in the same position in the sort order as . Greater than zero This instance follows in the sort order. - - - Returns the for this instance. - The enumerated constant that is the of the class or value type that implements this interface. - - - Converts the value of this instance to an equivalent Boolean value using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - A Boolean value equivalent to the value of this instance. - - - Converts the value of this instance to an equivalent 8-bit unsigned integer using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - An 8-bit unsigned integer equivalent to the value of this instance. - - - Converts the value of this instance to an equivalent Unicode character using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - A Unicode character equivalent to the value of this instance. - - - Converts the value of this instance to an equivalent using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - A instance equivalent to the value of this instance. - - - Converts the value of this instance to an equivalent number using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - A number equivalent to the value of this instance. - - - Converts the value of this instance to an equivalent double-precision floating-point number using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - A double-precision floating-point number equivalent to the value of this instance. - - - Converts the value of this instance to an equivalent 16-bit signed integer using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - An 16-bit signed integer equivalent to the value of this instance. - - - Converts the value of this instance to an equivalent 32-bit signed integer using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - An 32-bit signed integer equivalent to the value of this instance. - - - Converts the value of this instance to an equivalent 64-bit signed integer using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - An 64-bit signed integer equivalent to the value of this instance. - - - Converts the value of this instance to an equivalent 8-bit signed integer using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - An 8-bit signed integer equivalent to the value of this instance. - - - Converts the value of this instance to an equivalent single-precision floating-point number using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - A single-precision floating-point number equivalent to the value of this instance. - - - Converts the value of this instance to an equivalent using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - A instance equivalent to the value of this instance. - - - Converts the value of this instance to an of the specified that has an equivalent value, using the specified culture-specific formatting information. - The to which the value of this instance is converted. - An interface implementation that supplies culture-specific formatting information. - An instance of type whose value is equivalent to the value of this instance. - - - Converts the value of this instance to an equivalent 16-bit unsigned integer using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - An 16-bit unsigned integer equivalent to the value of this instance. - - - Converts the value of this instance to an equivalent 32-bit unsigned integer using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - An 32-bit unsigned integer equivalent to the value of this instance. - - - Converts the value of this instance to an equivalent 64-bit unsigned integer using the specified culture-specific formatting information. - An interface implementation that supplies culture-specific formatting information. - An 64-bit unsigned integer equivalent to the value of this instance. - - - Converts the value of a specified object to an equivalent string representation using specified format and culture-specific formatting information. - A format string containing formatting specifications. - An object to format. - An object that supplies format information about the current instance. - The string representation of the value of , formatted as specified by and . - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - Indicates whether the current object is equal to another object of the same type. - An object to compare with this object. - - if the current object is equal to the parameter; otherwise, . - - - Returns an object that provides formatting services for the specified type. - An object that specifies the type of format object to return. - An instance of the object specified by , if the implementation can supply that type of object; otherwise, . - - - Formats the value of the current instance using the specified format. - The format to use.-or- A null reference ( in Visual Basic) to use the default format defined for the type of the implementation. - The provider to use to format the value.-or- A null reference ( in Visual Basic) to obtain the numeric format information from the current locale setting of the operating system. - The value of the current instance in the specified format. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a system-supplied message that describes the error. - - - Initializes a new instance of the class with a specified message that describes the error. - The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Compares this instance to a specified 16-bit signed integer and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the specified 16-bit signed integer. - An integer to compare. - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . - - - Compares this instance to a specified object and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the object. - An object to compare, or . - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than .-or- - is . - - is not an . - - - Returns a value indicating whether this instance is equal to a specified value. - An value to compare to this instance. - - if has the same value as this instance; otherwise, . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare to this instance. - - if is an instance of and equals the value of this instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns the for value type . - The enumerated constant, . - - - Converts the string representation of a number to its 16-bit signed integer equivalent. - A string containing a number to convert. - A 16-bit signed integer equivalent to the number contained in . - - is . - - is not in the correct format. - - represents a number less than or greater than . - - - Converts the string representation of a number in a specified style to its 16-bit signed integer equivalent. - A string containing a number to convert. - A bitwise combination of the enumeration values that indicates the style elements that can be present in . A typical value to specify is . - A 16-bit signed integer equivalent to the number specified in . - - is . - - is not a value. -or- - is not a combination of and values. - - is not in a format compliant with . - - represents a number less than or greater than . -or- - includes non-zero fractional digits. - - - Converts the string representation of a number in a specified style and culture-specific format to its 16-bit signed integer equivalent. - A string containing a number to convert. - A bitwise combination of enumeration values that indicates the style elements that can be present in . A typical value to specify is . - An that supplies culture-specific formatting information about . - A 16-bit signed integer equivalent to the number specified in . - - is . - - is not a value. -or- - is not a combination of and values. - - is not in a format compliant with . - - represents a number less than or greater than . -or- - includes non-zero fractional digits. - - - Converts the string representation of a number in a specified culture-specific format to its 16-bit signed integer equivalent. - A string containing a number to convert. - An that supplies culture-specific formatting information about . - A 16-bit signed integer equivalent to the number specified in . - - is . - - is not in the correct format. - - represents a number less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - - if the value of the current instance is not zero; otherwise, . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - This conversion is not supported. Attempting to use this method throws an . - This parameter is ignored. - This conversion is not supported. No value is returned. - In all cases. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, unchanged. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - The type to which to convert this value. - An implementation that supplies information about the format of the returned value. - The value of the current instance, converted to . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, unchanged. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - Converts the numeric value of this instance to its equivalent string representation. - The string representation of the value of this instance, consisting of a minus sign if the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes. - - - Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information. - An that supplies culture-specific formatting information. - The string representation of the value of this instance as specified by . - - - Converts the numeric value of this instance to its equivalent string representation, using the specified format. - A numeric format string. - The string representation of the value of this instance as specified by . - - - Converts the numeric value of this instance to its equivalent string representation using the specified format and culture-specific formatting information. - A numeric format string. - An object that supplies culture-specific formatting information. - The string representation of the value of this instance as specified by and . - - - Converts the string representation of a number in a specified style and culture-specific format to its 16-bit signed integer equivalent. A return value indicates whether the conversion succeeded or failed. - A string containing a number to convert. The string is interpreted using the style specified by . - A bitwise combination of enumeration values that indicates the style elements that can be present in . A typical value to specify is . - An object that supplies culture-specific formatting information about . - When this method returns, contains the 16-bit signed integer value equivalent to the number contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not in a format compliant with , or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - is not a value. -or- - is not a combination of and values. - - - Converts the string representation of a number to its 16-bit signed integer equivalent. A return value indicates whether the conversion succeeded or failed. - A string containing a number to convert. - When this method returns, contains the 16-bit signed integer value equivalent to the number contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not of the correct format, or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - - Compares this instance to a specified 32-bit signed integer and returns an indication of their relative values. - An integer to compare. - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . - - - Compares this instance to a specified object and returns an indication of their relative values. - An object to compare, or . - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than .-or- - is . - - is not an . - - - Returns a value indicating whether this instance is equal to a specified value. - An value to compare to this instance. - - if has the same value as this instance; otherwise, . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare with this instance. - - if is an instance of and equals the value of this instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns the for value type . - The enumerated constant, . - - - Converts the string representation of a number to its 32-bit signed integer equivalent. - A string containing a number to convert. - A 32-bit signed integer equivalent to the number contained in . - - is . - - is not in the correct format. - - represents a number less than or greater than . - - - Converts the string representation of a number in a specified style to its 32-bit signed integer equivalent. - A string containing a number to convert. - A bitwise combination of the enumeration values that indicates the style elements that can be present in . A typical value to specify is . - A 32-bit signed integer equivalent to the number specified in . - - is . - - is not a value. -or- - is not a combination of and values. - - is not in a format compliant with . - - represents a number less than or greater than . -or- - includes non-zero, fractional digits. - - - Converts the string representation of a number in a specified style and culture-specific format to its 32-bit signed integer equivalent. - A string containing a number to convert. - A bitwise combination of enumeration values that indicates the style elements that can be present in . A typical value to specify is . - An object that supplies culture-specific information about the format of . - A 32-bit signed integer equivalent to the number specified in . - - is . - - is not a value. -or- - is not a combination of and values. - - is not in a format compliant with . - - represents a number less than or greater than . -or- - includes non-zero, fractional digits. - - - Converts the string representation of a number in a specified culture-specific format to its 32-bit signed integer equivalent. - A string containing a number to convert. - An object that supplies culture-specific formatting information about . - A 32-bit signed integer equivalent to the number specified in . - - is . - - is not of the correct format. - - represents a number less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - - if the value of the current instance is not zero; otherwise, . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - This conversion is not supported. Attempting to use this method throws an . - This parameter is ignored. - This conversion is not supported. No value is returned. - In all cases. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, unchanged. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - The type to which to convert this value. - An object that provides information about the format of the returned value. - The value of the current instance, converted to . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - Converts the numeric value of this instance to its equivalent string representation. - The string representation of the value of this instance, consisting of a negative sign if the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes. - - - Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information. - An object that supplies culture-specific formatting information. - The string representation of the value of this instance as specified by . - - - Converts the numeric value of this instance to its equivalent string representation, using the specified format. - A standard or custom numeric format string. - The string representation of the value of this instance as specified by . - - is invalid or not supported. - - - Converts the numeric value of this instance to its equivalent string representation using the specified format and culture-specific format information. - A standard or custom numeric format string. - An object that supplies culture-specific formatting information. - The string representation of the value of this instance as specified by and . - - is invalid or not supported. - - - Converts the string representation of a number in a specified style and culture-specific format to its 32-bit signed integer equivalent. A return value indicates whether the conversion succeeded. - A string containing a number to convert. The string is interpreted using the style specified by . - A bitwise combination of enumeration values that indicates the style elements that can be present in . A typical value to specify is . - An object that supplies culture-specific formatting information about . - When this method returns, contains the 32-bit signed integer value equivalent of the number contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not in a format compliant with , or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - is not a value. -or- - is not a combination of and values. - - - Converts the string representation of a number to its 32-bit signed integer equivalent. A return value indicates whether the conversion succeeded. - A string containing a number to convert. - When this method returns, contains the 32-bit signed integer value equivalent of the number contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not of the correct format, or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - - Compares this instance to a specified 64-bit signed integer and returns an indication of their relative values. - An integer to compare. - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . - - - Compares this instance to a specified object and returns an indication of their relative values. - An object to compare, or . - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than .-or- - is . - - is not an . - - - Returns a value indicating whether this instance is equal to a specified value. - An value to compare to this instance. - - if has the same value as this instance; otherwise, . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare with this instance. - - if is an instance of an and equals the value of this instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns the for value type . - The enumerated constant, . - - - Converts the string representation of a number to its 64-bit signed integer equivalent. - A string containing a number to convert. - A 64-bit signed integer equivalent to the number contained in . - - is . - - is not in the correct format. - - represents a number less than or greater than . - - - Converts the string representation of a number in a specified style to its 64-bit signed integer equivalent. - A string containing a number to convert. - A bitwise combination of values that indicates the permitted format of . A typical value to specify is . - A 64-bit signed integer equivalent to the number specified in . - - is . - - is not a value. -or- - is not a combination of and values. - - is not in a format compliant with . - - represents a number less than or greater than .-or- - supports fractional digits but includes non-zero fractional digits. - - - Converts the string representation of a number in a specified style and culture-specific format to its 64-bit signed integer equivalent. - A string containing a number to convert. - A bitwise combination of enumeration values that indicates the style elements that can be present in . A typical value to specify is . - An that supplies culture-specific formatting information about . - A 64-bit signed integer equivalent to the number specified in . - - is . - - is not a value. -or- - is not a combination of and values. - - is not in a format compliant with . - - represents a number less than or greater than . -or- - supports fractional digits, but includes non-zero fractional digits. - - - Converts the string representation of a number in a specified culture-specific format to its 64-bit signed integer equivalent. - A string containing a number to convert. - An object that supplies culture-specific formatting information about . - A 64-bit signed integer equivalent to the number specified in . - - is . - - is not in the correct format. - - represents a number less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - - if the value of the current instance is not zero; otherwise, . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - This conversion is not supported. Attempting to use this method throws an . - This parameter is ignored. - This conversion is not supported. No value is returned. - In all cases. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, unchanged. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - The type to which to convert this value. - An implementation that provides information about the format of the returned value. - The value of the current instance, converted to . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - Converts the numeric value of this instance to its equivalent string representation. - The string representation of the value of this instance, consisting of a minus sign if the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes. - - - Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information. - An that supplies culture-specific formatting information. - The string representation of the value of this instance as specified by . - - - Converts the numeric value of this instance to its equivalent string representation, using the specified format. - A numeric format string. - The string representation of the value of this instance as specified by . - - is invalid or not supported. - - - Converts the numeric value of this instance to its equivalent string representation using the specified format and culture-specific format information. - A numeric format string. - An object that supplies culture-specific formatting information about this instance. - The string representation of the value of this instance as specified by and . - - is invalid or not supported. - - - Converts the string representation of a number in a specified style and culture-specific format to its 64-bit signed integer equivalent. A return value indicates whether the conversion succeeded or failed. - A string containing a number to convert. The string is interpreted using the style specified by . - A bitwise combination of enumeration values that indicates the style elements that can be present in . A typical value to specify is . - An object that supplies culture-specific formatting information about . - When this method returns, contains the 64-bit signed integer value equivalent of the number contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not in a format compliant with , or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - is not a value. -or- - is not a combination of and values. - - - Converts the string representation of a number to its 64-bit signed integer equivalent. A return value indicates whether the conversion succeeded or failed. - A string containing a number to convert. - When this method returns, contains the 64-bit signed integer value equivalent of the number contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not of the correct format, or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - - Initializes a new instance of using the specified 32-bit pointer or handle. - A pointer or handle contained in a 32-bit signed integer. - - - Initializes a new instance of using the specified 64-bit pointer. - A pointer or handle contained in a 64-bit signed integer. - On a 32-bit platform, is too large or too small to represent as an . - - - Initializes a new instance of using the specified pointer to an unspecified type. - A pointer to an unspecified type. - - - Adds an offset to the value of a pointer. - The pointer to add the offset to. - The offset to add. - A new pointer that reflects the addition of to . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare with this instance or . - - if is an instance of and equals the value of this instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Adds an offset to the value of a pointer. - The pointer to add the offset to. - The offset to add. - A new pointer that reflects the addition of to . - - - Determines whether two specified instances of are equal. - The first pointer or handle to compare. - The second pointer or handle to compare. - - if equals ; otherwise, . - - - Converts the value of a 32-bit signed integer to an . - A 32-bit signed integer. - A new instance of initialized to . - - - Converts the value of a 64-bit signed integer to an . - A 64-bit signed integer. - A new instance of initialized to . - On a 32-bit platform, is too large to represent as an . - - - Converts the value of the specified to a 32-bit signed integer. - The pointer or handle to convert. - The contents of . - On a 64-bit platform, the value of is too large to represent as a 32-bit signed integer. - - - Converts the value of the specified to a 64-bit signed integer. - The pointer or handle to convert. - The contents of . - - - Converts the value of the specified to a pointer to an unspecified type. - The pointer or handle to convert. - The contents of . - - - Converts the specified pointer to an unspecified type to an . - A pointer to an unspecified type. - A new instance of initialized to . - - - Determines whether two specified instances of are not equal. - The first pointer or handle to compare. - The second pointer or handle to compare. - - if does not equal ; otherwise, . - - - Subtracts an offset from the value of a pointer. - The pointer to subtract the offset from. - The offset to subtract. - A new pointer that reflects the subtraction of from . - - - Subtracts an offset from the value of a pointer. - The pointer to subtract the offset from. - The offset to subtract. - A new pointer that reflects the subtraction of from . - - - Populates a object with the data needed to serialize the current object. - The object to populate with data. - The destination for this serialization. (This parameter is not used; specify .) - - is . - - - Converts the value of this instance to a 32-bit signed integer. - A 32-bit signed integer equal to the value of this instance. - On a 64-bit platform, the value of this instance is too large or too small to represent as a 32-bit signed integer. - - - Converts the value of this instance to a 64-bit signed integer. - A 64-bit signed integer equal to the value of this instance. - - - Converts the value of this instance to a pointer to an unspecified type. - A pointer to ; that is, a pointer to memory containing data of an unspecified type. - - - Converts the numeric value of the current object to its equivalent string representation. - The string representation of the value of this instance. - - - Converts the numeric value of the current object to its equivalent string representation. - A format specification that governs how the current object is converted. - The string representation of the value of the current object. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified message and error code. - The message that indicates the reason the exception occurred. - The error code (HRESULT) value associated with the exception. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a system-supplied message. - - - Initializes a new instance of the class from serialized data. - The object that contains the serialized data. - The stream that contains the serialized data. - The parameter is .-or-The parameter is . - - - Initializes a new instance of the class with the specified message string. - A string that describes the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - A string that describes the exception. - The exception that is the cause of the current exception. - - - Initializes a new instance of the class based on the specified stream and using UTF-8 encoding. - The input stream. - The stream does not support reading, is , or is already closed. - - - Initializes a new instance of the class based on the specified stream and character encoding. - The input stream. - The character encoding to use. - The stream does not support reading, is , or is already closed. - - is . - - - Initializes a new instance of the class based on the specified stream and character encoding, and optionally leaves the stream open. - The input stream. - The character encoding to use. - - to leave the stream open after the object is disposed; otherwise, . - The stream does not support reading, is , or is already closed. - - or is . - - - Closes the current reader and the underlying stream. - - - Releases all resources used by the current instance of the class. - - - Releases the unmanaged resources used by the class and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Fills the internal buffer with the specified number of bytes read from the stream. - The number of bytes to be read. - The end of the stream is reached before could be read. - An I/O error occurs. - Requested is larger than the internal buffer size. - - - Returns the next available character and does not advance the byte or character position. - The next available character, or -1 if no more characters are available or the stream does not support seeking. - An I/O error occurs. - The current character cannot be decoded into the internal character buffer by using the selected for the stream. - - - Reads characters from the underlying stream and advances the current position of the stream in accordance with the used and the specific character being read from the stream. - The next character from the input stream, or -1 if no characters are currently available. - An I/O error occurs. - The stream is closed. - - - Reads the specified number of bytes from the stream, starting from a specified point in the byte array. - The buffer to read data into. - The starting point in the buffer at which to begin reading into the buffer. - The number of bytes to read. - The number of bytes read into . This might be less than the number of bytes requested if that many bytes are not available, or it might be zero if the end of the stream is reached. - The buffer length minus is less than . -or-The number of decoded characters to read is greater than . This can happen if a Unicode decoder returns fallback characters or a surrogate pair. - - is . - - or is negative. - The stream is closed. - An I/O error occurs. - - - Reads the specified number of characters from the stream, starting from a specified point in the character array. - The buffer to read data into. - The starting point in the buffer at which to begin reading into the buffer. - The number of characters to read. - The total number of characters read into the buffer. This might be less than the number of characters requested if that many characters are not currently available, or it might be zero if the end of the stream is reached. - The buffer length minus is less than . -or-The number of decoded characters to read is greater than . This can happen if a Unicode decoder returns fallback characters or a surrogate pair. - - is . - - or is negative. - The stream is closed. - An I/O error occurs. - - - Reads in a 32-bit integer in compressed format. - A 32-bit integer in compressed format. - The end of the stream is reached. - The stream is closed. - An I/O error occurs. - The stream is corrupted. - - - Reads a value from the current stream and advances the current position of the stream by one byte. - - if the byte is nonzero; otherwise, . - The end of the stream is reached. - The stream is closed. - An I/O error occurs. - - - Reads the next byte from the current stream and advances the current position of the stream by one byte. - The next byte read from the current stream. - The end of the stream is reached. - The stream is closed. - An I/O error occurs. - - - Reads the specified number of bytes from the current stream into a byte array and advances the current position by that number of bytes. - The number of bytes to read. This value must be 0 or a non-negative number or an exception will occur. - A byte array containing data read from the underlying stream. This might be less than the number of bytes requested if the end of the stream is reached. - The number of decoded characters to read is greater than . This can happen if a Unicode decoder returns fallback characters or a surrogate pair. - An I/O error occurs. - The stream is closed. - - is negative. - - - Reads the next character from the current stream and advances the current position of the stream in accordance with the used and the specific character being read from the stream. - A character read from the current stream. - The end of the stream is reached. - The stream is closed. - An I/O error occurs. - A surrogate character was read. - - - Reads the specified number of characters from the current stream, returns the data in a character array, and advances the current position in accordance with the used and the specific character being read from the stream. - The number of characters to read. - A character array containing data read from the underlying stream. This might be less than the number of characters requested if the end of the stream is reached. - The number of decoded characters to read is greater than . This can happen if a Unicode decoder returns fallback characters or a surrogate pair. - The stream is closed. - An I/O error occurs. - - is negative. - - - Reads a decimal value from the current stream and advances the current position of the stream by sixteen bytes. - A decimal value read from the current stream. - The end of the stream is reached. - The stream is closed. - An I/O error occurs. - - - Reads an 8-byte floating point value from the current stream and advances the current position of the stream by eight bytes. - An 8-byte floating point value read from the current stream. - The end of the stream is reached. - The stream is closed. - An I/O error occurs. - - - Reads a 2-byte signed integer from the current stream and advances the current position of the stream by two bytes. - A 2-byte signed integer read from the current stream. - The end of the stream is reached. - The stream is closed. - An I/O error occurs. - - - Reads a 4-byte signed integer from the current stream and advances the current position of the stream by four bytes. - A 4-byte signed integer read from the current stream. - The end of the stream is reached. - The stream is closed. - An I/O error occurs. - - - Reads an 8-byte signed integer from the current stream and advances the current position of the stream by eight bytes. - An 8-byte signed integer read from the current stream. - The end of the stream is reached. - The stream is closed. - An I/O error occurs. - - - Reads a signed byte from this stream and advances the current position of the stream by one byte. - A signed byte read from the current stream. - The end of the stream is reached. - The stream is closed. - An I/O error occurs. - - - Reads a 4-byte floating point value from the current stream and advances the current position of the stream by four bytes. - A 4-byte floating point value read from the current stream. - The end of the stream is reached. - The stream is closed. - An I/O error occurs. - - - Reads a string from the current stream. The string is prefixed with the length, encoded as an integer seven bits at a time. - The string being read. - The end of the stream is reached. - The stream is closed. - An I/O error occurs. - - - Reads a 2-byte unsigned integer from the current stream using little-endian encoding and advances the position of the stream by two bytes. - A 2-byte unsigned integer read from this stream. - The end of the stream is reached. - The stream is closed. - An I/O error occurs. - - - Reads a 4-byte unsigned integer from the current stream and advances the position of the stream by four bytes. - A 4-byte unsigned integer read from this stream. - The end of the stream is reached. - The stream is closed. - An I/O error occurs. - - - Reads an 8-byte unsigned integer from the current stream and advances the position of the stream by eight bytes. - An 8-byte unsigned integer read from this stream. - The end of the stream is reached. - An I/O error occurs. - The stream is closed. - - - Initializes a new instance of the class that writes to a stream. - - - Initializes a new instance of the class based on the specified stream and using UTF-8 encoding. - The output stream. - The stream does not support writing or is already closed. - - is . - - - Initializes a new instance of the class based on the specified stream and character encoding. - The output stream. - The character encoding to use. - The stream does not support writing or is already closed. - - or is . - - - Initializes a new instance of the class based on the specified stream and character encoding, and optionally leaves the stream open. - The output stream. - The character encoding to use. - - to leave the stream open after the object is disposed; otherwise, . - The stream does not support writing or is already closed. - - or is . - - - Closes the current and the underlying stream. - - - Releases all resources used by the current instance of the class. - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. - - - Sets the position within the current stream. - A byte offset relative to . - A field of indicating the reference point from which the new position is to be obtained. - The position with the current stream. - The file pointer was moved to an invalid location. - The value is invalid. - - - Writes a one-byte value to the current stream, with 0 representing and 1 representing . - The value to write (0 or 1). - An I/O error occurs. - The stream is closed. - - - Writes an unsigned byte to the current stream and advances the stream position by one byte. - The unsigned byte to write. - An I/O error occurs. - The stream is closed. - - - Writes a byte array to the underlying stream. - A byte array containing the data to write. - An I/O error occurs. - The stream is closed. - - is . - - - Writes a region of a byte array to the current stream. - A byte array containing the data to write. - The starting point in at which to begin writing. - The number of bytes to write. - The buffer length minus is less than . - - is . - - or is negative. - An I/O error occurs. - The stream is closed. - - - Writes a Unicode character to the current stream and advances the current position of the stream in accordance with the used and the specific characters being written to the stream. - The non-surrogate, Unicode character to write. - An I/O error occurs. - The stream is closed. - - is a single surrogate character. - - - Writes a character array to the current stream and advances the current position of the stream in accordance with the used and the specific characters being written to the stream. - A character array containing the data to write. - - is . - The stream is closed. - An I/O error occurs. - - - Writes a section of a character array to the current stream, and advances the current position of the stream in accordance with the used and perhaps the specific characters being written to the stream. - A character array containing the data to write. - The starting point in from which to begin writing. - The number of characters to write. - The buffer length minus is less than . - - is . - - or is negative. - An I/O error occurs. - The stream is closed. - - - Writes a decimal value to the current stream and advances the stream position by sixteen bytes. - The decimal value to write. - An I/O error occurs. - The stream is closed. - - - Writes an eight-byte floating-point value to the current stream and advances the stream position by eight bytes. - The eight-byte floating-point value to write. - An I/O error occurs. - The stream is closed. - - - Writes a two-byte signed integer to the current stream and advances the stream position by two bytes. - The two-byte signed integer to write. - An I/O error occurs. - The stream is closed. - - - Writes a four-byte signed integer to the current stream and advances the stream position by four bytes. - The four-byte signed integer to write. - An I/O error occurs. - The stream is closed. - - - Writes an eight-byte signed integer to the current stream and advances the stream position by eight bytes. - The eight-byte signed integer to write. - An I/O error occurs. - The stream is closed. - - - Writes a signed byte to the current stream and advances the stream position by one byte. - The signed byte to write. - An I/O error occurs. - The stream is closed. - - - Writes a four-byte floating-point value to the current stream and advances the stream position by four bytes. - The four-byte floating-point value to write. - An I/O error occurs. - The stream is closed. - - - Writes a length-prefixed string to this stream in the current encoding of the , and advances the current position of the stream in accordance with the encoding used and the specific characters being written to the stream. - The value to write. - An I/O error occurs. - - is . - The stream is closed. - - - Writes a two-byte unsigned integer to the current stream and advances the stream position by two bytes. - The two-byte unsigned integer to write. - An I/O error occurs. - The stream is closed. - - - Writes a four-byte unsigned integer to the current stream and advances the stream position by four bytes. - The four-byte unsigned integer to write. - An I/O error occurs. - The stream is closed. - - - Writes an eight-byte unsigned integer to the current stream and advances the stream position by eight bytes. - The eight-byte unsigned integer to write. - An I/O error occurs. - The stream is closed. - - - Writes a 32-bit integer in a compressed format. - The 32-bit integer to be written. - The end of the stream is reached. - The stream is closed. - The stream is closed. - - - Initializes a new instance of the class with a default buffer size of 4096 bytes. - The current stream. - - is . - - - Initializes a new instance of the class with the specified buffer size. - The current stream. - The buffer size in bytes. - - is . - - is negative. - - - Begins an asynchronous read operation. (Consider using instead; see the Remarks section.) - The buffer to read the data into. - The byte offset in at which to begin writing data read from the stream. - The maximum number of bytes to read. - An optional asynchronous callback, to be called when the read is complete. - A user-provided object that distinguishes this particular asynchronous read request from other requests. - An object that represents the asynchronous read, which could still be pending. - - is . - - or is negative. - Attempted an asynchronous read past the end of the stream. - The buffer length minus is less than . - The current stream does not support the read operation. - - - Begins an asynchronous write operation. (Consider using instead; see the Remarks section.) - The buffer containing data to write to the current stream. - The zero-based byte offset in at which to begin copying bytes to the current stream. - The maximum number of bytes to write. - The method to be called when the asynchronous write operation is completed. - A user-provided object that distinguishes this particular asynchronous write request from other requests. - An object that references the asynchronous write which could still be pending. - - length minus is less than . - - is . - - or is negative. - The stream does not support writing. - - - Waits for the pending asynchronous read operation to complete. (Consider using instead; see the Remarks section.) - The reference to the pending asynchronous request to wait for. - The number of bytes read from the stream, between 0 (zero) and the number of bytes you requested. Streams only return 0 only at the end of the stream, otherwise, they should block until at least 1 byte is available. - - is . - This object was not created by calling on this class. - - - Ends an asynchronous write operation and blocks until the I/O operation is complete. (Consider using instead; see the Remarks section.) - The pending asynchronous request. - - is . - This object was not created by calling on this class. - - - Clears all buffers for this stream and causes any buffered data to be written to the underlying device. - The stream has been disposed. - The data source or repository is not open. - - - Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests. - The token to monitor for cancellation requests. - A task that represents the asynchronous flush operation. - The stream has been disposed. - - - Copies bytes from the current buffered stream to an array. - The buffer to which bytes are to be copied. - The byte offset in the buffer at which to begin reading bytes. - The number of bytes to be read. - The total number of bytes read into . This can be less than the number of bytes requested if that many bytes are not currently available, or 0 if the end of the stream has been reached before any data can be read. - Length of minus is less than . - - is . - - or is negative. - The stream is not open or is . - The stream does not support reading. - Methods were called after the stream was closed. - - - Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests. - The buffer to write the data into. - The byte offset in at which to begin writing data from the stream. - The maximum number of bytes to read. - The token to monitor for cancellation requests. - A task that represents the asynchronous read operation. The value of the parameter contains the total number of bytes read into the buffer. The result value can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the stream has been reached. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The stream does not support reading. - The stream has been disposed. - The stream is currently in use by a previous read operation. - - - Reads a byte from the underlying stream and returns the byte cast to an , or returns -1 if reading from the end of the stream. - The byte cast to an , or -1 if reading from the end of the stream. - An I/O error occurs, such as the stream being closed. - The stream does not support reading. - Methods were called after the stream was closed. - - - Sets the position within the current buffered stream. - A byte offset relative to . - A value of type indicating the reference point from which to obtain the new position. - The new position within the current buffered stream. - The stream is not open or is . - The stream does not support seeking. - Methods were called after the stream was closed. - - - Sets the length of the buffered stream. - An integer indicating the desired length of the current buffered stream in bytes. - - is negative. - The stream is not open or is . - The stream does not support both writing and seeking. - Methods were called after the stream was closed. - - - Copies bytes to the buffered stream and advances the current position within the buffered stream by the number of bytes written. - The byte array from which to copy bytes to the current buffered stream. - The offset in the buffer at which to begin copying bytes to the current buffered stream. - The number of bytes to be written to the current buffered stream. - Length of minus is less than . - - is . - - or is negative. - The stream is closed or . - The stream does not support writing. - Methods were called after the stream was closed. - - - Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests. - The buffer to write data from. - The zero-based byte offset in from which to begin copying bytes to the stream. - The maximum number of bytes to write. - The token to monitor for cancellation requests. - A task that represents the asynchronous write operation. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The stream does not support writing. - The stream has been disposed. - The stream is currently in use by a previous write operation. - - - Writes a byte to the current position in the buffered stream. - A byte to write to the stream. - The stream does not support writing. - - is . - Methods were called after the stream was closed. - - - Creates all directories and subdirectories in the specified path unless they already exist. - The directory to create. - An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists. - The directory specified by is a file.-or-The network name is not known. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the method.-or- - is prefixed with, or contains, only a colon character (:). - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - - contains a colon character (:) that is not part of a drive label ("C:\"). - - - Creates all the directories in the specified path, unless the already exist, applying the specified Windows security. - The directory to create. - The access control to apply to the directory. - An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists. - The directory specified by is a file.-or-The network name is not known. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the method. -or- - is prefixed with, or contains, only a colon character (:). - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - - contains a colon character (:) that is not part of a drive label ("C:\"). - - - Deletes an empty directory from a specified path. - The name of the empty directory to remove. This directory must be writable and empty. - A file with the same name and location specified by exists.-or-The directory is the application's current working directory.-or-The directory specified by is not empty.-or-The directory is read-only or contains a read-only file.-or-The directory is being used by another process. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - does not exist or could not be found.-or-The specified path is invalid (for example, it is on an unmapped drive). - - - Deletes the specified directory and, if indicated, any subdirectories and files in the directory. - The name of the directory to remove. - - to remove directories, subdirectories, and files in ; otherwise, . - A file with the same name and location specified by exists.-or-The directory specified by is read-only, or is and is not an empty directory. -or-The directory is the application's current working directory. -or-The directory contains a read-only file.-or-The directory is being used by another process. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - does not exist or could not be found.-or-The specified path is invalid (for example, it is on an unmapped drive). - - - Returns an enumerable collection of directory names in a specified path. - The relative or absolute path to the directory to search. This string is not case-sensitive. - An enumerable collection of the full names (including paths) for the directories in the directory specified by . - - is a zero-length string, contains only white space, or contains invalid characters. You can query for invalid characters by using the method. - - is . - - is invalid, such as referring to an unmapped drive. - - is a file name. - The specified path, file name, or combined exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - The caller does not have the required permission. - - - Returns an enumerable collection of directory names that match a search pattern in a specified path. - The relative or absolute path to the directory to search. This string is not case-sensitive. - The search string to match against the names of directories in . This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. - An enumerable collection of the full names (including paths) for the directories in the directory specified by and that match the specified search pattern. - - is a zero-length string, contains only white space, or contains invalid characters. You can query for invalid characters with the method.- or - - does not contain a valid pattern. - - is .-or- - is . - - is invalid, such as referring to an unmapped drive. - - is a file name. - The specified path, file name, or combined exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - The caller does not have the required permission. - - - Returns an enumerable collection of directory names that match a search pattern in a specified path, and optionally searches subdirectories. - The relative or absolute path to the directory to search. This string is not case-sensitive. - The search string to match against the names of directories in . This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. - One of the enumeration values that specifies whether the search operation should include only the current directory or should include all subdirectories.The default value is . - An enumerable collection of the full names (including paths) for the directories in the directory specified by and that match the specified search pattern and option. - - is a zero-length string, contains only white space, or contains invalid characters. You can query for invalid characters by using the method.- or - - does not contain a valid pattern. - - is .-or- - is . - - is not a valid value. - - is invalid, such as referring to an unmapped drive. - - is a file name. - The specified path, file name, or combined exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - The caller does not have the required permission. - - - Returns an enumerable collection of file names in a specified path. - The relative or absolute path to the directory to search. This string is not case-sensitive. - An enumerable collection of the full names (including paths) for the files in the directory specified by . - - is a zero-length string, contains only white space, or contains invalid characters. You can query for invalid characters by using the method. - - is . - - is invalid, such as referring to an unmapped drive. - - is a file name. - The specified path, file name, or combined exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - The caller does not have the required permission. - - - Returns an enumerable collection of file names that match a search pattern in a specified path. - The relative or absolute path to the directory to search. This string is not case-sensitive. - The search string to match against the names of files in . This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. - An enumerable collection of the full names (including paths) for the files in the directory specified by and that match the specified search pattern. - - is a zero-length string, contains only white space, or contains invalid characters. You can query for invalid characters by using the method.- or - - does not contain a valid pattern. - - is .-or- - is . - - is invalid, such as referring to an unmapped drive. - - is a file name. - The specified path, file name, or combined exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - The caller does not have the required permission. - - - Returns an enumerable collection of file names that match a search pattern in a specified path, and optionally searches subdirectories. - The relative or absolute path to the directory to search. This string is not case-sensitive. - The search string to match against the names of files in . This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. - One of the enumeration values that specifies whether the search operation should include only the current directory or should include all subdirectories.The default value is . - An enumerable collection of the full names (including paths) for the files in the directory specified by and that match the specified search pattern and option. - - is a zero-length string, contains only white space, or contains invalid characters. You can query for invalid characters by using the method.- or - - does not contain a valid pattern. - - is .-or- - is . - - is not a valid value. - - is invalid, such as referring to an unmapped drive. - - is a file name. - The specified path, file name, or combined exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - The caller does not have the required permission. - - - Returns an enumerable collection of file names and directory names in a specified path. - The relative or absolute path to the directory to search. This string is not case-sensitive. - An enumerable collection of file-system entries in the directory specified by . - - is a zero-length string, contains only white space, or contains invalid characters. You can query for invalid characters by using the method. - - is . - - is invalid, such as referring to an unmapped drive. - - is a file name. - The specified path, file name, or combined exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - The caller does not have the required permission. - - - Returns an enumerable collection of file names and directory names that match a search pattern in a specified path. - The relative or absolute path to the directory to search. This string is not case-sensitive. - The search string to match against the names of file-system entries in . This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. - An enumerable collection of file-system entries in the directory specified by and that match the specified search pattern. - - is a zero-length string, contains only white space, or contains invalid characters. You can query for invalid characters by using the method.- or - - does not contain a valid pattern. - - is .-or- - is . - - is invalid, such as referring to an unmapped drive. - - is a file name. - The specified path, file name, or combined exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - The caller does not have the required permission. - - - Returns an enumerable collection of file names and directory names that match a search pattern in a specified path, and optionally searches subdirectories. - The relative or absolute path to the directory to search. This string is not case-sensitive. - The search string to match against file-system entries in . This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. - One of the enumeration values that specifies whether the search operation should include only the current directory or should include all subdirectories.The default value is . - An enumerable collection of file-system entries in the directory specified by and that match the specified search pattern and option. - - is a zero-length string, contains only white space, or contains invalid characters. You can query for invalid characters by using the method.- or - - does not contain a valid pattern. - - is .-or- - is . - - is not a valid value. - - is invalid, such as referring to an unmapped drive. - - is a file name. - The specified path, file name, or combined exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - The caller does not have the required permission. - - - Determines whether the given path refers to an existing directory on disk. - The path to test. - - if refers to an existing directory; if the directory does not exist or an error occurs when trying to determine if the specified directory exists. - - - Gets a object that encapsulates the access control list (ACL) entries for a specified directory. - The path to a directory containing a object that describes the file's access control list (ACL) information. - An object that encapsulates the access control rules for the file described by the parameter. - The parameter is . - An I/O error occurred while opening the directory. - The current operating system is not Windows 2000 or later. - A system-level error occurred, such as the directory could not be found. The specific exception may be a subclass of . - The parameter specified a directory that is read-only.-or- This operation is not supported on the current platform.-or- The caller does not have the required permission. - - - Gets a object that encapsulates the specified type of access control list (ACL) entries for a specified directory. - The path to a directory containing a object that describes the file's access control list (ACL) information. - One of the values that specifies the type of access control list (ACL) information to receive. - An object that encapsulates the access control rules for the file described by the parameter. - The parameter is . - An I/O error occurred while opening the directory. - The current operating system is not Windows 2000 or later. - A system-level error occurred, such as the directory could not be found. The specific exception may be a subclass of . - The parameter specified a directory that is read-only.-or- This operation is not supported on the current platform.-or- The caller does not have the required permission. - - - Gets the creation date and time of a directory. - The path of the directory. - A structure that is set to the creation date and time for the specified directory. This value is expressed in local time. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - - Gets the creation date and time, in Coordinated Universal Time (UTC) format, of a directory. - The path of the directory. - A structure that is set to the creation date and time for the specified directory. This value is expressed in UTC time. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - - Gets the current working directory of the application. - A string that contains the path of the current working directory, and does not end with a backslash (\). - The caller does not have the required permission. - The operating system is Windows CE, which does not have current directory functionality.This method is available in the .NET Compact Framework, but is not currently supported. - - - Returns the names of subdirectories (including their paths) in the specified directory. - The relative or absolute path to the directory to search. This string is not case-sensitive. - An array of the full names (including paths) of subdirectories in the specified path, or an empty array if no directories are found. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - is a file name. - The specified path is invalid (for example, it is on an unmapped drive). - - - Returns the names of subdirectories (including their paths) that match the specified search pattern in the specified directory. - The relative or absolute path to the directory to search. This string is not case-sensitive. - The search string to match against the names of subdirectories in . This parameter can contain a combination of valid literal and wildcard characters (see Remarks), but doesn't support regular expressions. - An array of the full names (including paths) of the subdirectories that match the search pattern in the specified directory, or an empty array if no directories are found. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using .-or- - doesn't contain a valid pattern. - - or is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - is a file name. - The specified path is invalid (for example, it is on an unmapped drive). - - - Returns the names of the subdirectories (including their paths) that match the specified search pattern in the specified directory, and optionally searches subdirectories. - The relative or absolute path to the directory to search. This string is not case-sensitive. - The search string to match against the names of subdirectories in . This parameter can contain a combination of valid literal and wildcard characters (see Remarks), but doesn't support regular expressions. - One of the enumeration values that specifies whether the search operation should include all subdirectories or only the current directory. - An array of the full names (including paths) of the subdirectories that match the specified criteria, or an empty array if no directories are found. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the method.-or- - does not contain a valid pattern. - - or is . - - is not a valid value. - The caller does not have the required permission. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - is a file name. - The specified path is invalid (for example, it is on an unmapped drive). - - - Returns the volume information, root information, or both for the specified path. - The path of a file or directory. - A string that contains the volume information, root information, or both for the specified path. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - - Returns the names of files (including their paths) in the specified directory. - The relative or absolute path to the directory to search. This string is not case-sensitive. - An array of the full names (including paths) for the files in the specified directory, or an empty array if no files are found. - - is a file name.-or-A network error has occurred. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The specified path is not found or is invalid (for example, it is on an unmapped drive). - - - Returns the names of files (including their paths) that match the specified search pattern in the specified directory. - The relative or absolute path to the directory to search. This string is not case-sensitive. - The search string to match against the names of files in . This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. - An array of the full names (including paths) for the files in the specified directory that match the specified search pattern, or an empty array if no files are found. - - is a file name.-or-A network error has occurred. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using .-or- - doesn't contain a valid pattern. - - or is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The specified path is not found or is invalid (for example, it is on an unmapped drive). - - - Returns the names of files (including their paths) that match the specified search pattern in the specified directory, using a value to determine whether to search subdirectories. - The relative or absolute path to the directory to search. This string is not case-sensitive. - The search string to match against the names of files in . This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. - One of the enumeration values that specifies whether the search operation should include all subdirectories or only the current directory. - An array of the full names (including paths) for the files in the specified directory that match the specified search pattern and option, or an empty array if no files are found. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method. -or- - does not contain a valid pattern. - - or is . - - is not a valid value. - The caller does not have the required permission. - The specified path is not found or is invalid (for example, it is on an unmapped drive). - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - is a file name.-or-A network error has occurred. - - - Returns the names of all files and subdirectories in a specified path. - The relative or absolute path to the directory to search. This string is not case-sensitive. - An array of the names of files and subdirectories in the specified directory, or an empty array if no files or subdirectories are found. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - is a file name. - The specified path is invalid (for example, it is on an unmapped drive). - - - Returns an array of file names and directory names that that match a search pattern in a specified path. - The relative or absolute path to the directory to search. This string is not case-sensitive. - The search string to match against the names of file and directories in . This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. - An array of file names and directory names that match the specified search criteria, or an empty array if no files or directories are found. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method.-or- - does not contain a valid pattern. - - or is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - is a file name. - The specified path is invalid (for example, it is on an unmapped drive). - - - Returns an array of all the file names and directory names that match a search pattern in a specified path, and optionally searches subdirectories. - The relative or absolute path to the directory to search. This string is not case-sensitive. - The search string to match against the names of files and directories in . This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. - One of the enumeration values that specifies whether the search operation should include only the current directory or should include all subdirectories.The default value is . - An array of file the file names and directory names that match the specified search criteria, or an empty array if no files or directories are found. - - is a zero-length string, contains only white space, or contains invalid characters. You can query for invalid characters by using the method.- or - - does not contain a valid pattern. - - is .-or- - is . - - is not a valid value. - - is invalid, such as referring to an unmapped drive. - - is a file name. - The specified path, file name, or combined exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - The caller does not have the required permission. - - - Returns the date and time the specified file or directory was last accessed. - The file or directory for which to obtain access date and time information. - A structure that is set to the date and time the specified file or directory was last accessed. This value is expressed in local time. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The parameter is in an invalid format. - - - Returns the date and time, in Coordinated Universal Time (UTC) format, that the specified file or directory was last accessed. - The file or directory for which to obtain access date and time information. - A structure that is set to the date and time the specified file or directory was last accessed. This value is expressed in UTC time. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The parameter is in an invalid format. - - - Returns the date and time the specified file or directory was last written to. - The file or directory for which to obtain modification date and time information. - A structure that is set to the date and time the specified file or directory was last written to. This value is expressed in local time. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - - Returns the date and time, in Coordinated Universal Time (UTC) format, that the specified file or directory was last written to. - The file or directory for which to obtain modification date and time information. - A structure that is set to the date and time the specified file or directory was last written to. This value is expressed in UTC time. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - - Retrieves the names of the logical drives on this computer in the form "<drive letter>:\". - The logical drives on this computer. - An I/O error occured (for example, a disk error). - The caller does not have the required permission. - - - Retrieves the parent directory of the specified path, including both absolute and relative paths. - The path for which to retrieve the parent directory. - The parent directory, or if is the root directory, including the root of a UNC server or share name. - The directory specified by is read-only. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The specified path was not found. - - - Moves a file or a directory and its contents to a new location. - The path of the file or directory to move. - The path to the new location for . If is a file, then must also be a file name. - An attempt was made to move a directory to a different volume. -or- - already exists. -or- The and parameters refer to the same file or directory. -or-The directory or a file within it is being used by another process. - The caller does not have the required permission. - - or is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method. - - or is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The path specified by is invalid (for example, it is on an unmapped drive). - - - Applies access control list (ACL) entries described by a object to the specified directory. - A directory to add or remove access control list (ACL) entries from. - A object that describes an ACL entry to apply to the directory described by the parameter. - The parameter is . - The directory could not be found. - The was invalid. - The current process does not have access to the directory specified by .-or-The current process does not have sufficient privilege to set the ACL entry. - The current operating system is not Windows 2000 or later. - - - Sets the creation date and time for the specified file or directory. - The file or directory for which to set the creation date and time information. - The date and time the file or directory was last written to. This value is expressed in local time. - The specified path was not found. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - - specifies a value outside the range of dates or times permitted for this operation. - The current operating system is not Windows NT or later. - - - Sets the creation date and time, in Coordinated Universal Time (UTC) format, for the specified file or directory. - The file or directory for which to set the creation date and time information. - The date and time the directory or file was created. This value is expressed in local time. - The specified path was not found. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - - specifies a value outside the range of dates or times permitted for this operation. - The current operating system is not Windows NT or later. - - - Sets the application's current working directory to the specified directory. - The path to which the current working directory is set. - An I/O error occurred. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission to access unmanaged code. - The specified path was not found. - The specified directory was not found. - - - Sets the date and time the specified file or directory was last accessed. - The file or directory for which to set the access date and time information. - An object that contains the value to set for the access date and time of . This value is expressed in local time. - The specified path was not found. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - The current operating system is not Windows NT or later. - - specifies a value outside the range of dates or times permitted for this operation. - - - Sets the date and time, in Coordinated Universal Time (UTC) format, that the specified file or directory was last accessed. - The file or directory for which to set the access date and time information. - An object that contains the value to set for the access date and time of . This value is expressed in UTC time. - The specified path was not found. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - The current operating system is not Windows NT or later. - - specifies a value outside the range of dates or times permitted for this operation. - - - Sets the date and time a directory was last written to. - The path of the directory. - The date and time the directory was last written to. This value is expressed in local time. - The specified path was not found. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - The current operating system is not Windows NT or later. - - specifies a value outside the range of dates or times permitted for this operation. - - - Sets the date and time, in Coordinated Universal Time (UTC) format, that a directory was last written to. - The path of the directory. - The date and time the directory was last written to. This value is expressed in UTC time. - The specified path was not found. - - is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the method. - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - The current operating system is not Windows NT or later. - - specifies a value outside the range of dates or times permitted for this operation. - - - Initializes a new instance of the class on the specified path. - A string specifying the path on which to create the . - - is . - The caller does not have the required permission. - - contains invalid characters such as ", <, >, or |. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. The specified path, file name, or both are too long. - - - Creates a directory. - The directory cannot be created. - - - Creates a directory using a object. - The access control to apply to the directory. - The directory specified by is read-only or is not empty. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid, such as being on an unmapped drive. - Creating a directory with only the colon (:) character was attempted. - The directory specified by is read-only or is not empty. - - - Creates a subdirectory or subdirectories on the specified path. The specified path can be relative to this instance of the class. - The specified path. This cannot be a different disk volume or Universal Naming Convention (UNC) name. - The last directory specified in . - - does not specify a valid file path or contains invalid characters. - - is . - The specified path is invalid, such as being on an unmapped drive. - The subdirectory cannot be created.-or- A file or directory already has the name specified by . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. The specified path, file name, or both are too long. - The caller does not have code access permission to create the directory.-or-The caller does not have code access permission to read the directory described by the returned object. This can occur when the parameter describes an existing directory. - - contains a colon character (:) that is not part of a drive label ("C:\"). - - - Creates a subdirectory or subdirectories on the specified path with the specified security. The specified path can be relative to this instance of the class. - The specified path. This cannot be a different disk volume or Universal Naming Convention (UNC) name. - The security to apply. - The last directory specified in . - - does not specify a valid file path or contains invalid characters. - - is . - The specified path is invalid, such as being on an unmapped drive. - The subdirectory cannot be created.-or- A file or directory already has the name specified by . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. The specified path, file name, or both are too long. - The caller does not have code access permission to create the directory.-or-The caller does not have code access permission to read the directory described by the returned object. This can occur when the parameter describes an existing directory. - - contains a colon character (:) that is not part of a drive label ("C:\"). - - - Deletes this if it is empty. - The directory contains a read-only file. - The directory described by this object does not exist or could not be found. - The directory is not empty. -or-The directory is the application's current working directory.-or-There is an open handle on the directory, and the operating system is Windows XP or earlier. This open handle can result from enumerating directories. For more information, see How to: Enumerate Directories and Files. - The caller does not have the required permission. - - - Deletes this instance of a , specifying whether to delete subdirectories and files. - - to delete this directory, its subdirectories, and all files; otherwise, . - The directory contains a read-only file. - The directory described by this object does not exist or could not be found. - The directory is read-only.-or- The directory contains one or more files or subdirectories and is .-or-The directory is the application's current working directory. -or-There is an open handle on the directory or on one of its files, and the operating system is Windows XP or earlier. This open handle can result from enumerating directories and files. For more information, see How to: Enumerate Directories and Files. - The caller does not have the required permission. - - - Returns an enumerable collection of directory information in the current directory. - An enumerable collection of directories in the current directory. - The path encapsulated in the object is invalid (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Returns an enumerable collection of directory information that matches a specified search pattern. - The search string to match against the names of directories. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. The default pattern is "*", which returns all files. - An enumerable collection of directories that matches . - - is . - The path encapsulated in the object is invalid (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Returns an enumerable collection of directory information that matches a specified search pattern and search subdirectory option. - The search string to match against the names of directories. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. The default pattern is "*", which returns all files. - One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is . - An enumerable collection of directories that matches and . - - is . - - is not a valid value. - The path encapsulated in the object is invalid (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Returns an enumerable collection of file information in the current directory. - An enumerable collection of the files in the current directory. - The path encapsulated in the object is invalid (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Returns an enumerable collection of file information that matches a search pattern. - The search string to match against the names of files. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. The default pattern is "*", which returns all files. - An enumerable collection of files that matches . - - is . - The path encapsulated in the object is invalid, (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Returns an enumerable collection of file information that matches a specified search pattern and search subdirectory option. - The search string to match against the names of files. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. The default pattern is "*", which returns all files. - One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is . - An enumerable collection of files that matches and . - - is . - - is not a valid value. - The path encapsulated in the object is invalid (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Returns an enumerable collection of file system information in the current directory. - An enumerable collection of file system information in the current directory. - The path encapsulated in the object is invalid (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Returns an enumerable collection of file system information that matches a specified search pattern. - The search string to match against the names of directories. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. The default pattern is "*", which returns all files. - An enumerable collection of file system information objects that matches . - - is . - The path encapsulated in the object is invalid (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Returns an enumerable collection of file system information that matches a specified search pattern and search subdirectory option. - The search string to match against the names of directories. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. The default pattern is "*", which returns all files. - One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is . - An enumerable collection of file system information objects that matches and . - - is . - - is not a valid value. - The path encapsulated in the object is invalid (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Gets a object that encapsulates the access control list (ACL) entries for the directory described by the current object. - A object that encapsulates the access control rules for the directory. - The directory could not be found or modified. - The current process does not have access to open the directory. - An I/O error occurred while opening the directory. - The current operating system is not Microsoft Windows 2000 or later. - The directory is read-only.-or- This operation is not supported on the current platform.-or- The caller does not have the required permission. - - - Gets a object that encapsulates the specified type of access control list (ACL) entries for the directory described by the current object. - One of the values that specifies the type of access control list (ACL) information to receive. - A object that encapsulates the access control rules for the file described by the parameter.ExceptionsException typeCondition - - The directory could not be found or modified. - - The current process does not have access to open the directory. - - An I/O error occurred while opening the directory. - - The current operating system is not Microsoft Windows 2000 or later. - - The directory is read-only.-or- This operation is not supported on the current platform.-or- The caller does not have the required permission. - - - Returns the subdirectories of the current directory. - An array of objects. - The path encapsulated in the object is invalid, such as being on an unmapped drive. - The caller does not have the required permission. - The caller does not have the required permission. - - - Returns an array of directories in the current matching the given search criteria. - The search string to match against the names of directories. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. The default pattern is "*", which returns all files. - An array of type matching . - - contains one or more invalid characters defined by the method. - - is . - The path encapsulated in the object is invalid (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Returns an array of directories in the current matching the given search criteria and using a value to determine whether to search subdirectories. - The search string to match against the names of directories. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. The default pattern is "*", which returns all files. - One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. - An array of type matching . - - contains one or more invalid characters defined by the method. - - is . - - is not a valid value. - The path encapsulated in the object is invalid (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Returns a file list from the current directory. - An array of type . - The path is invalid, such as being on an unmapped drive. - - - Returns a file list from the current directory matching the given search pattern. - The search string to match against the names of files. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. The default pattern is "*", which returns all files. - An array of type . - - contains one or more invalid characters defined by the method. - - is . - The path is invalid (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Returns a file list from the current directory matching the given search pattern and using a value to determine whether to search subdirectories. - The search string to match against the names of files. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. The default pattern is "*", which returns all files. - One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. - An array of type . - - contains one or more invalid characters defined by the method. - - is . - - is not a valid value. - The path is invalid (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Returns an array of strongly typed entries representing all the files and subdirectories in a directory. - An array of strongly typed entries. - The path is invalid (for example, it is on an unmapped drive). - - - Retrieves an array of strongly typed objects representing the files and subdirectories that match the specified search criteria. - The search string to match against the names of directories and files. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. The default pattern is "*", which returns all files. - An array of strongly typed objects matching the search criteria. - - contains one or more invalid characters defined by the method. - - is . - The specified path is invalid (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Retrieves an array of objects that represent the files and subdirectories matching the specified search criteria. - The search string to match against the names of directories and filesa. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. The default pattern is "*", which returns all files. - One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is . - An array of file system entries that match the search criteria. - - contains one or more invalid characters defined by the method. - - is . - - is not a valid value. - The specified path is invalid (for example, it is on an unmapped drive). - The caller does not have the required permission. - - - Moves a instance and its contents to a new path. - The name and path to which to move this directory. The destination cannot be another disk volume or a directory with the identical name. It can be an existing directory to which you want to add this directory as a subdirectory. - - is . - - is an empty string (''"). - An attempt was made to move a directory to a different volume. -or- - already exists.-or-You are not authorized to access this path.-or- The directory being moved and the destination directory have the same name. - The caller does not have the required permission. - The destination directory cannot be found. - - - Applies access control list (ACL) entries described by a object to the directory described by the current object. - An object that describes an ACL entry to apply to the directory described by the parameter. - The parameter is . - The file could not be found or modified. - The current process does not have access to open the file. - The current operating system is not Microsoft Windows 2000 or later. - - - Returns the original path that was passed by the user. - Returns the original path that was passed by the user. - - - Initializes a new instance of the class with its message string set to a system-supplied message and its HRESULT set to COR_E_DIRECTORYNOTFOUND. - - - Initializes a new instance of the class with the specified serialization and context information. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with its message string set to and its HRESULT set to COR_E_DIRECTORYNOTFOUND. - A that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Provides access to information on the specified drive. - A valid drive path or drive letter. This can be either uppercase or lowercase, 'a' to 'z'. A null value is not valid. - The drive letter cannot be . - The first letter of is not an uppercase or lowercase letter from 'a' to 'z'.-or- - does not refer to a valid drive. - - - Retrieves the drive names of all logical drives on a computer. - An array of type that represents the logical drives on a computer. - An I/O error occurred (for example, a disk error or a drive was not ready). - The caller does not have the required permission. - - - Populates a object with the data needed to serialize the target object. - The object to populate with data. - The destination (see ) for this serialization. - - - Returns a drive name as a string. - The name of the drive. - - - Initializes a new instance of the class with its message string set to a system-supplied message and its HRESULT set to COR_E_DIRECTORYNOTFOUND. - - - Initializes a new instance of the class with the specified serialization and context information. - A object that contains the serialized object data about the exception being thrown. - A object that contains contextual information about the source or destination of the exception being thrown. - - - Initializes a new instance of the class with the specified message string and the HRESULT set to COR_E_DIRECTORYNOTFOUND. - A object that describes the error. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with the specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with its message string set to a system-supplied message and its HRESULT set to COR_E_ENDOFSTREAM. - - - Initializes a new instance of the class with the specified serialization and context information. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with its message string set to and its HRESULT set to COR_E_ENDOFSTREAM. - A string that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - A string that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Appends lines to a file, and then closes the file. If the specified file does not exist, this method creates a file, writes the specified lines to the file, and then closes the file. - The file to append the lines to. The file is created if it doesn't already exist. - The lines to append to the file. - - is a zero-length string, contains only white space, or contains one more invalid characters defined by the method. - Eitheror is . - - is invalid (for example, the directory doesn’t exist or it is on an unmapped drive). - The file specified by was not found. - An I/O error occurred while opening the file. - - exceeds the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - is in an invalid format. - The caller does not have permission to write to the file. - - specifies a file that is read-only.-or-This operation is not supported on the current platform.-or- - is a directory. - - - Appends lines to a file by using a specified encoding, and then closes the file. If the specified file does not exist, this method creates a file, writes the specified lines to the file, and then closes the file. - The file to append the lines to. The file is created if it doesn't already exist. - The lines to append to the file. - The character encoding to use. - - is a zero-length string, contains only white space, or contains one more invalid characters defined by the method. - Either, , or is . - - is invalid (for example, the directory doesn’t exist or it is on an unmapped drive). - The file specified by was not found. - An I/O error occurred while opening the file. - - exceeds the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - is in an invalid format. - The caller does not have the required permission. - - specifies a file that is read-only.-or-This operation is not supported on the current platform.-or- - is a directory.-or-The caller does not have the required permission. - - - Opens a file, appends the specified string to the file, and then closes the file. If the file does not exist, this method creates a file, writes the specified string to the file, then closes the file. - The file to append the specified string to. - The string to append to the file. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, the directory doesn’t exist or it is on an unmapped drive). - An I/O error occurred while opening the file. - - specified a file that is read-only.-or- This operation is not supported on the current platform.-or- - specified a directory.-or- The caller does not have the required permission. - - is in an invalid format. - The caller does not have the required permission. - - - Appends the specified string to the file, creating the file if it does not already exist. - The file to append the specified string to. - The string to append to the file. - The character encoding to use. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, the directory doesn’t exist or it is on an unmapped drive). - An I/O error occurred while opening the file. - - specified a file that is read-only.-or- This operation is not supported on the current platform.-or- - specified a directory.-or- The caller does not have the required permission. - - is in an invalid format. - The caller does not have the required permission. - - - Creates a that appends UTF-8 encoded text to an existing file, or to a new file if the specified file does not exist. - The path to the file to append to. - A stream writer that appends UTF-8 encoded text to the specified file or to a new file. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, the directory doesn’t exist or it is on an unmapped drive). - - is in an invalid format. - - - Copies an existing file to a new file. Overwriting a file of the same name is not allowed. - The file to copy. - The name of the destination file. This cannot be a directory or an existing file. - The caller does not have the required permission. - - or is a zero-length string, contains only white space, or contains one or more invalid characters as defined by .-or- - or specifies a directory. - - or is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The path specified in or is invalid (for example, it is on an unmapped drive). - - was not found. - - exists.-or- An I/O error has occurred. - - or is in an invalid format. - - - Copies an existing file to a new file. Overwriting a file of the same name is allowed. - The file to copy. - The name of the destination file. This cannot be a directory. - - if the destination file can be overwritten; otherwise, . - The caller does not have the required permission. -or- - is read-only. - - or is a zero-length string, contains only white space, or contains one or more invalid characters as defined by .-or- - or specifies a directory. - - or is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The path specified in or is invalid (for example, it is on an unmapped drive). - - was not found. - - exists and is .-or- An I/O error has occurred. - - or is in an invalid format. - - - Creates or overwrites a file in the specified path. - The path and name of the file to create. - A that provides read/write access to the file specified in . - The caller does not have the required permission.-or- - specified a file that is read-only. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - An I/O error occurred while creating the file. - - is in an invalid format. - - - Creates or overwrites the specified file. - The name of the file. - The number of bytes buffered for reads and writes to the file. - A with the specified buffer size that provides read/write access to the file specified in . - The caller does not have the required permission.-or- - specified a file that is read-only. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - An I/O error occurred while creating the file. - - is in an invalid format. - - - Creates or overwrites the specified file, specifying a buffer size and a value that describes how to create or overwrite the file. - The name of the file. - The number of bytes buffered for reads and writes to the file. - One of the values that describes how to create or overwrite the file. - A new file with the specified buffer size. - The caller does not have the required permission.-or- - specified a file that is read-only. -or- - is specified for and file encryption is not supported on the current platform. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive. - An I/O error occurred while creating the file. - - is in an invalid format. - The caller does not have the required permission.-or- - specified a file that is read-only. - The caller does not have the required permission.-or- - specified a file that is read-only. - - - Creates or overwrites the specified file with the specified buffer size, file options, and file security. - The name of the file. - The number of bytes buffered for reads and writes to the file. - One of the values that describes how to create or overwrite the file. - One of the values that determines the access control and audit security for the file. - A new file with the specified buffer size, file options, and file security. - The caller does not have the required permission.-or- - specified a file that is read-only.-or- - is specified for and file encryption is not supported on the current platform. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - An I/O error occurred while creating the file. - - is in an invalid format. - The caller does not have the required permission.-or- - specified a file that is read-only. - The caller does not have the required permission.-or- - specified a file that is read-only. - - - Creates or opens a file for writing UTF-8 encoded text. - The file to be opened for writing. - A that writes to the specified file using UTF-8 encoding. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - - is in an invalid format. - - - Decrypts a file that was encrypted by the current account using the method. - A path that describes a file to decrypt. - The parameter is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - The parameter is . - An invalid drive was specified. - The file described by the parameter could not be found. - An I/O error occurred while opening the file. For example, the encrypted file is already open. -or-This operation is not supported on the current platform. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The current operating system is not Windows NT or later. - The file system is not NTFS. - The parameter specified a file that is read-only.-or- This operation is not supported on the current platform.-or- The parameter specified a directory.-or- The caller does not have the required permission. - - - Deletes the specified file. - The name of the file to be deleted. Wildcard characters are not supported. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path is invalid (for example, it is on an unmapped drive). - The specified file is in use. -or-There is an open handle on the file, and the operating system is Windows XP or earlier. This open handle can result from enumerating directories and files. For more information, see How to: Enumerate Directories and Files. - - is in an invalid format. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The caller does not have the required permission.-or- The file is an executable file that is in use.-or- - is a directory.-or- - specified a read-only file. - - - Encrypts a file so that only the account used to encrypt the file can decrypt it. - A path that describes a file to encrypt. - The parameter is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - The parameter is . - An invalid drive was specified. - The file described by the parameter could not be found. - An I/O error occurred while opening the file.-or-This operation is not supported on the current platform. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The current operating system is not Windows NT or later. - The file system is not NTFS. - The parameter specified a file that is read-only.-or- This operation is not supported on the current platform.-or- The parameter specified a directory.-or- The caller does not have the required permission. - - - Determines whether the specified file exists. - The file to check. - - if the caller has the required permissions and contains the name of an existing file; otherwise, . This method also returns if is , an invalid path, or a zero-length string. If the caller does not have sufficient permissions to read the specified file, no exception is thrown and the method returns regardless of the existence of . - - - Gets a object that encapsulates the access control list (ACL) entries for a specified file. - The path to a file containing a object that describes the file's access control list (ACL) information. - A object that encapsulates the access control rules for the file described by the parameter. - An I/O error occurred while opening the file. - The parameter is . - The file could not be found. - The parameter specified a file that is read-only.-or- This operation is not supported on the current platform.-or- The parameter specified a directory.-or- The caller does not have the required permission. - - - Gets a object that encapsulates the specified type of access control list (ACL) entries for a particular file. - The path to a file containing a object that describes the file's access control list (ACL) information. - One of the values that specifies the type of access control list (ACL) information to receive. - A object that encapsulates the access control rules for the file described by the parameter. - An I/O error occurred while opening the file. - The parameter is . - The file could not be found. - The parameter specified a file that is read-only.-or- This operation is not supported on the current platform.-or- The parameter specified a directory.-or- The caller does not have the required permission. - - - Gets the of the file on the path. - The path to the file. - The of the file on the path. - - is empty, contains only white spaces, or contains invalid characters. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - is in an invalid format. - - represents a file and is invalid, such as being on an unmapped drive, or the file cannot be found. - - represents a directory and is invalid, such as being on an unmapped drive, or the directory cannot be found. - This file is being used by another process. - The caller does not have the required permission. - - - Returns the creation date and time of the specified file or directory. - The file or directory for which to obtain creation date and time information. - A structure set to the creation date and time for the specified file or directory. This value is expressed in local time. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - is in an invalid format. - - - Returns the creation date and time, in coordinated universal time (UTC), of the specified file or directory. - The file or directory for which to obtain creation date and time information. - A structure set to the creation date and time for the specified file or directory. This value is expressed in UTC time. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - is in an invalid format. - - - Returns the date and time the specified file or directory was last accessed. - The file or directory for which to obtain access date and time information. - A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in local time. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - is in an invalid format. - - - Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed. - The file or directory for which to obtain access date and time information. - A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in UTC time. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - is in an invalid format. - - - Returns the date and time the specified file or directory was last written to. - The file or directory for which to obtain write date and time information. - A structure set to the date and time that the specified file or directory was last written to. This value is expressed in local time. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - is in an invalid format. - - - Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to. - The file or directory for which to obtain write date and time information. - A structure set to the date and time that the specified file or directory was last written to. This value is expressed in UTC time. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - is in an invalid format. - - - Moves a specified file to a new location, providing the option to specify a new file name. - The name of the file to move. Can include a relative or absolute path. - The new path and name for the file. - The destination file already exists.-or- - was not found. - - or is . - - or is a zero-length string, contains only white space, or contains invalid characters as defined in . - The caller does not have the required permission. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The path specified in or is invalid, (for example, it is on an unmapped drive). - - or is in an invalid format. - - - Opens a on the specified path with read/write access. - The file to open. - A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. - A opened in the specified mode and path, with read/write access and not shared. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid, (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - - specified a file that is read-only.-or- This operation is not supported on the current platform.-or- - specified a directory.-or- The caller does not have the required permission. -or- - is and the specified file is a hidden file. - - specified an invalid value. - The file specified in was not found. - - is in an invalid format. - - - Opens a on the specified path, with the specified mode and access. - The file to open. - A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. - A value that specifies the operations that can be performed on the file. - An unshared that provides access to the specified file, with the specified mode and access. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by .-or- - specified and specified , , , or . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid, (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - - specified a file that is read-only and is not .-or- - specified a directory.-or- The caller does not have the required permission. -or- - is and the specified file is a hidden file. - - or specified an invalid value. - The file specified in was not found. - - is in an invalid format. - - - Opens a on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option. - The file to open. - A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. - A value that specifies the operations that can be performed on the file. - A value specifying the type of access other threads have to the file. - A on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by .-or- - specified and specified , , , or . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid, (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - - specified a file that is read-only and is not .-or- - specified a directory.-or- The caller does not have the required permission. -or- - is and the specified file is a hidden file. - - , , or specified an invalid value. - The file specified in was not found. - - is in an invalid format. - - - Opens an existing file for reading. - The file to be opened for reading. - A read-only on the specified path. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid, (for example, it is on an unmapped drive). - - specified a directory.-or- The caller does not have the required permission. - The file specified in was not found. - - is in an invalid format. - An I/O error occurred while opening the file. - - - Opens an existing UTF-8 encoded text file for reading. - The file to be opened for reading. - A on the specified path. - The caller does not have the required permission. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid, (for example, it is on an unmapped drive). - The file specified in was not found. - - is in an invalid format. - - - Opens an existing file or creates a new file for writing. - The file to be opened for writing. - An unshared object on the specified path with access. - The caller does not have the required permission.-or- - specified a read-only file or directory. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid, (for example, it is on an unmapped drive). - - is in an invalid format. - - - Opens a binary file, reads the contents of the file into a byte array, and then closes the file. - The file to open for reading. - A byte array containing the contents of the file. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - This operation is not supported on the current platform.-or- - specified a directory.-or- The caller does not have the required permission. - The file specified in was not found. - - is in an invalid format. - The caller does not have the required permission. - - - Opens a text file, reads all lines of the file, and then closes the file. - The file to open for reading. - A string array containing all lines of the file. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - - specified a file that is read-only.-or- This operation is not supported on the current platform.-or- - specified a directory.-or- The caller does not have the required permission. - The file specified in was not found. - - is in an invalid format. - The caller does not have the required permission. - - - Opens a file, reads all lines of the file with the specified encoding, and then closes the file. - The file to open for reading. - The encoding applied to the contents of the file. - A string array containing all lines of the file. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - - specified a file that is read-only.-or- This operation is not supported on the current platform.-or- - specified a directory.-or- The caller does not have the required permission. - The file specified in was not found. - - is in an invalid format. - The caller does not have the required permission. - - - Opens a text file, reads all lines of the file, and then closes the file. - The file to open for reading. - A string containing all lines of the file. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - - specified a file that is read-only.-or- This operation is not supported on the current platform.-or- - specified a directory.-or- The caller does not have the required permission. - The file specified in was not found. - - is in an invalid format. - The caller does not have the required permission. - - - Opens a file, reads all lines of the file with the specified encoding, and then closes the file. - The file to open for reading. - The encoding applied to the contents of the file. - A string containing all lines of the file. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - - specified a file that is read-only.-or- This operation is not supported on the current platform.-or- - specified a directory.-or- The caller does not have the required permission. - The file specified in was not found. - - is in an invalid format. - The caller does not have the required permission. - - - Reads the lines of a file. - The file to read. - All the lines of the file, or the lines that are the result of a query. - - is a zero-length string, contains only white space, or contains one or more invalid characters defined by the method. - - is . - - is invalid (for example, it is on an unmapped drive). - The file specified by was not found. - An I/O error occurred while opening the file. - - exceeds the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - - specifies a file that is read-only.-or-This operation is not supported on the current platform.-or- - is a directory.-or-The caller does not have the required permission. - - - Read the lines of a file that has a specified encoding. - The file to read. - The encoding that is applied to the contents of the file. - All the lines of the file, or the lines that are the result of a query. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by the method. - - is . - - is invalid (for example, it is on an unmapped drive). - The file specified by was not found. - An I/O error occurred while opening the file. - - exceeds the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission. - - specifies a file that is read-only.-or-This operation is not supported on the current platform.-or- - is a directory.-or-The caller does not have the required permission. - - - Replaces the contents of a specified file with the contents of another file, deleting the original file, and creating a backup of the replaced file. - The name of a file that replaces the file specified by . - The name of the file being replaced. - The name of the backup file. - The path described by the parameter was not of a legal form.-or-The path described by the parameter was not of a legal form. - The parameter is . - An invalid drive was specified. - The file described by the current object could not be found.-or-The file described by the parameter could not be found. - An I/O error occurred while opening the file.- or -The and parameters specify the same file. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The operating system is Windows 98 Second Edition or earlier and the files system is not NTFS. - The or parameter specifies a file that is read-only.-or- This operation is not supported on the current platform.-or- Source or destination parameters specify a directory instead of a file.-or- The caller does not have the required permission. - - - Replaces the contents of a specified file with the contents of another file, deleting the original file, and creating a backup of the replaced file and optionally ignores merge errors. - The name of a file that replaces the file specified by . - The name of the file being replaced. - The name of the backup file. - - to ignore merge errors (such as attributes and access control lists (ACLs)) from the replaced file to the replacement file; otherwise, . - The path described by the parameter was not of a legal form.-or-The path described by the parameter was not of a legal form. - The parameter is . - An invalid drive was specified. - The file described by the current object could not be found.-or-The file described by the parameter could not be found. - An I/O error occurred while opening the file.- or -The and parameters specify the same file. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The operating system is Windows 98 Second Edition or earlier and the files system is not NTFS. - The or parameter specifies a file that is read-only.-or- This operation is not supported on the current platform.-or- Source or destination parameters specify a directory instead of a file.-or- The caller does not have the required permission. - - - Applies access control list (ACL) entries described by a object to the specified file. - A file to add or remove access control list (ACL) entries from. - A object that describes an ACL entry to apply to the file described by the parameter. - An I/O error occurred while opening the file. - The parameter is . - The file could not be found. - The parameter specified a file that is read-only.-or- This operation is not supported on the current platform.-or- The parameter specified a directory.-or- The caller does not have the required permission. - The parameter is . - - - Sets the specified of the file on the specified path. - The path to the file. - A bitwise combination of the enumeration values. - - is empty, contains only white spaces, contains invalid characters, or the file attribute is invalid. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - is in an invalid format. - The specified path is invalid, (for example, it is on an unmapped drive). - The file cannot be found. - - specified a file that is read-only.-or- This operation is not supported on the current platform.-or- - specified a directory.-or- The caller does not have the required permission. - - - Sets the date and time the file was created. - The file for which to set the creation date and time information. - A containing the value to set for the creation date and time of . This value is expressed in local time. - The specified path was not found. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - An I/O error occurred while performing the operation. - - specifies a value outside the range of dates, times, or both permitted for this operation. - The caller does not have the required permission. - - is in an invalid format. - - - Sets the date and time, in coordinated universal time (UTC), that the file was created. - The file for which to set the creation date and time information. - A containing the value to set for the creation date and time of . This value is expressed in UTC time. - The specified path was not found. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - An I/O error occurred while performing the operation. - - specifies a value outside the range of dates, times, or both permitted for this operation. - The caller does not have the required permission. - - is in an invalid format. - - - Sets the date and time the specified file was last accessed. - The file for which to set the access date and time information. - A containing the value to set for the last access date and time of . This value is expressed in local time. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path was not found. - The caller does not have the required permission. - - is in an invalid format. - - specifies a value outside the range of dates or times permitted for this operation. - - - Sets the date and time, in coordinated universal time (UTC), that the specified file was last accessed. - The file for which to set the access date and time information. - A containing the value to set for the last access date and time of . This value is expressed in UTC time. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path was not found. - The caller does not have the required permission. - - is in an invalid format. - - specifies a value outside the range of dates or times permitted for this operation. - - - Sets the date and time that the specified file was last written to. - The file for which to set the date and time information. - A containing the value to set for the last write date and time of . This value is expressed in local time. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path was not found. - The caller does not have the required permission. - - is in an invalid format. - - specifies a value outside the range of dates or times permitted for this operation. - - - Sets the date and time, in coordinated universal time (UTC), that the specified file was last written to. - The file for which to set the date and time information. - A containing the value to set for the last write date and time of . This value is expressed in UTC time. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path was not found. - The caller does not have the required permission. - - is in an invalid format. - - specifies a value outside the range of dates or times permitted for this operation. - - - Creates a new file, writes the specified byte array to the file, and then closes the file. If the target file already exists, it is overwritten. - The file to write to. - The bytes to write to the file. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is or the byte array is empty. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - - specified a file that is read-only.-or- This operation is not supported on the current platform.-or- - specified a directory.-or- The caller does not have the required permission. - - is in an invalid format. - The caller does not have the required permission. - - - Creates a new file, writes a collection of strings to the file, and then closes the file. - The file to write to. - The lines to write to the file. - - is a zero-length string, contains only white space, or contains one or more invalid characters defined by the method. - Eitheror is . - - is invalid (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - - exceeds the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - is in an invalid format. - The caller does not have the required permission. - - specifies a file that is read-only.-or-This operation is not supported on the current platform.-or- - is a directory.-or-The caller does not have the required permission. - - - Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file. - The file to write to. - The lines to write to the file. - The character encoding to use. - - is a zero-length string, contains only white space, or contains one or more invalid characters defined by the method. - Either,, or is . - - is invalid (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - - exceeds the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - - is in an invalid format. - The caller does not have the required permission. - - specifies a file that is read-only.-or-This operation is not supported on the current platform.-or- - is a directory.-or-The caller does not have the required permission. - - - Creates a new file, write the specified string array to the file, and then closes the file. - The file to write to. - The string array to write to the file. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - Either or is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - - specified a file that is read-only.-or- This operation is not supported on the current platform.-or- - specified a directory.-or- The caller does not have the required permission. - - is in an invalid format. - The caller does not have the required permission. - - - Creates a new file, writes the specified string array to the file by using the specified encoding, and then closes the file. - The file to write to. - The string array to write to the file. - An object that represents the character encoding applied to the string array. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - Either or is . - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - - specified a file that is read-only.-or- This operation is not supported on the current platform.-or- - specified a directory.-or- The caller does not have the required permission. - - is in an invalid format. - The caller does not have the required permission. - - - Creates a new file, writes the specified string to the file, and then closes the file. If the target file already exists, it is overwritten. - The file to write to. - The string to write to the file. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is or is empty. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - - specified a file that is read-only.-or- This operation is not supported on the current platform.-or- - specified a directory.-or- The caller does not have the required permission. - - is in an invalid format. - The caller does not have the required permission. - - - Creates a new file, writes the specified string to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten. - The file to write to. - The string to write to the file. - The encoding to apply to the string. - - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - - is or is empty. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The specified path is invalid (for example, it is on an unmapped drive). - An I/O error occurred while opening the file. - - specified a file that is read-only.-or- This operation is not supported on the current platform.-or- - specified a directory.-or- The caller does not have the required permission. - - is in an invalid format. - The caller does not have the required permission. - - - Initializes a new instance of the class, which acts as a wrapper for a file path. - The fully qualified name of the new file, or the relative file name. Do not end the path with the directory separator character. - - is . - The caller does not have the required permission. - The file name is empty, contains only white spaces, or contains invalid characters. - Access to is denied. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - contains a colon (:) in the middle of the string. - - - Creates a that appends text to the file represented by this instance of the . - A new . - - - Copies an existing file to a new file, disallowing the overwriting of an existing file. - The name of the new file to copy to. - A new file with a fully qualified path. - - is empty, contains only white spaces, or contains invalid characters. - An error occurs, or the destination file already exists. - The caller does not have the required permission. - - is . - A directory path is passed in, or the file is being moved to a different drive. - The directory specified in does not exist. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - contains a colon (:) within the string but does not specify the volume. - - - Copies an existing file to a new file, allowing the overwriting of an existing file. - The name of the new file to copy to. - - to allow an existing file to be overwritten; otherwise, . - A new file, or an overwrite of an existing file if is . If the file exists and is , an is thrown. - - is empty, contains only white spaces, or contains invalid characters. - An error occurs, or the destination file already exists and is . - The caller does not have the required permission. - - is . - The directory specified in does not exist. - A directory path is passed in, or the file is being moved to a different drive. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - contains a colon (:) in the middle of the string. - - - Creates a file. - A new file. - - - Creates a that writes a new text file. - A new . - The file name is a directory. - The disk is read-only. - The caller does not have the required permission. - - - Decrypts a file that was encrypted by the current account using the method. - An invalid drive was specified. - The file described by the current object could not be found. - An I/O error occurred while opening the file. - The file system is not NTFS. - The current operating system is not Microsoft Windows NT or later. - The file described by the current object is read-only.-or- This operation is not supported on the current platform.-or- The caller does not have the required permission. - - - Permanently deletes a file. - The target file is open or memory-mapped on a computer running Microsoft Windows NT.-or-There is an open handle on the file, and the operating system is Windows XP or earlier. This open handle can result from enumerating directories and files. For more information, see How to: Enumerate Directories and Files. - The caller does not have the required permission. - The path is a directory. - - - Encrypts a file so that only the account used to encrypt the file can decrypt it. - An invalid drive was specified. - The file described by the current object could not be found. - An I/O error occurred while opening the file. - The file system is not NTFS. - The current operating system is not Microsoft Windows NT or later. - The file described by the current object is read-only.-or- This operation is not supported on the current platform.-or- The caller does not have the required permission. - - - Gets a object that encapsulates the access control list (ACL) entries for the file described by the current object. - A object that encapsulates the access control rules for the current file. - An I/O error occurred while opening the file. - The current operating system is not Microsoft Windows 2000 or later. - The current system account does not have administrative privileges. - The file could not be found. - This operation is not supported on the current platform.-or- The caller does not have the required permission. - - - Gets a object that encapsulates the specified type of access control list (ACL) entries for the file described by the current object. - One of the values that specifies which group of access control entries to retrieve. - A object that encapsulates the access control rules for the current file. - An I/O error occurred while opening the file. - The current operating system is not Microsoft Windows 2000 or later. - The current system account does not have administrative privileges. - The file could not be found. - This operation is not supported on the current platform.-or- The caller does not have the required permission. - - - Moves a specified file to a new location, providing the option to specify a new file name. - The path to move the file to, which can specify a different file name. - An I/O error occurs, such as the destination file already exists or the destination device is not ready. - - is . - - is empty, contains only white spaces, or contains invalid characters. - The caller does not have the required permission. - - is read-only or is a directory. - The file is not found. - The specified path is invalid, such as being on an unmapped drive. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - contains a colon (:) in the middle of the string. - - - Opens a file in the specified mode. - A constant specifying the mode (for example, or ) in which to open the file. - A file opened in the specified mode, with read/write access and unshared. - The file is not found. - The file is read-only or is a directory. - The specified path is invalid, such as being on an unmapped drive. - The file is already open. - - - Opens a file in the specified mode with read, write, or read/write access. - A constant specifying the mode (for example, or ) in which to open the file. - A constant specifying whether to open the file with , , or file access. - A object opened in the specified mode and access, and unshared. - The caller does not have the required permission. - The file is not found. - - is read-only or is a directory. - The specified path is invalid, such as being on an unmapped drive. - The file is already open. - - - Opens a file in the specified mode with read, write, or read/write access and the specified sharing option. - A constant specifying the mode (for example, or ) in which to open the file. - A constant specifying whether to open the file with , , or file access. - A constant specifying the type of access other objects have to this file. - A object opened with the specified mode, access, and sharing options. - The caller does not have the required permission. - The file is not found. - - is read-only or is a directory. - The specified path is invalid, such as being on an unmapped drive. - The file is already open. - - - Creates a read-only . - A new read-only object. - - is read-only or is a directory. - The specified path is invalid, such as being on an unmapped drive. - The file is already open. - - - Creates a with UTF8 encoding that reads from an existing text file. - A new with UTF8 encoding. - The caller does not have the required permission. - The file is not found. - - is read-only or is a directory. - The specified path is invalid, such as being on an unmapped drive. - - - Creates a write-only . - A write-only unshared object for a new or existing file. - The path specified when creating an instance of the object is read-only or is a directory. - The path specified when creating an instance of the object is invalid, such as being on an unmapped drive. - - - Replaces the contents of a specified file with the file described by the current object, deleting the original file, and creating a backup of the replaced file. - The name of a file to replace with the current file. - The name of a file with which to create a backup of the file described by the parameter. - A object that encapsulates information about the file described by the parameter. - The path described by the parameter was not of a legal form.-or-The path described by the parameter was not of a legal form. - The parameter is . - The file described by the current object could not be found.-or-The file described by the parameter could not be found. - The current operating system is not Microsoft Windows NT or later. - - - Replaces the contents of a specified file with the file described by the current object, deleting the original file, and creating a backup of the replaced file. Also specifies whether to ignore merge errors. - The name of a file to replace with the current file. - The name of a file with which to create a backup of the file described by the parameter. - - to ignore merge errors (such as attributes and ACLs) from the replaced file to the replacement file; otherwise . - A object that encapsulates information about the file described by the parameter. - The path described by the parameter was not of a legal form.-or-The path described by the parameter was not of a legal form. - The parameter is . - The file described by the current object could not be found.-or-The file described by the parameter could not be found. - The current operating system is not Microsoft Windows NT or later. - - - Applies access control list (ACL) entries described by a object to the file described by the current object. - A object that describes an access control list (ACL) entry to apply to the current file. - The parameter is . - The file could not be found or modified. - The current process does not have access to open the file. - The current operating system is not Microsoft Windows 2000 or later. - - - Returns the path as a string. - A string representing the path. - - - Initializes a new instance of the class, setting the property of the new instance to a system-supplied message that describes the error, such as "Could not load the specified file." This message takes into account the current system culture. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with the specified error message. - A that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - A that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message and the name of the file that could not be loaded. - A that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - A containing the name of the file that was not loaded. - - - Initializes a new instance of the class with a specified error message, the name of the file that could not be loaded, and a reference to the inner exception that is the cause of this exception. - A that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - A containing the name of the file that was not loaded. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Sets the with the file name and additional exception information. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The caller does not have the required permission. - - - Returns the fully qualified name of the current exception, and possibly the error message, the name of the inner exception, and the stack trace. - A string containing the fully qualified name of this exception, and possibly the error message, the name of the inner exception, and the stack trace, depending on which constructor is used. - - - Initializes a new instance of the class with its message string set to a system-supplied message and its HRESULT set to COR_E_FILENOTFOUND. - - - Initializes a new instance of the class with the specified serialization and context information. - An object that holds the serialized object data about the exception being thrown. - An object that contains contextual information about the source or destination. - - - Initializes a new instance of the class with its message string set to and its HRESULT set to COR_E_FILENOTFOUND. - A description of the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - A description of the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with its message string set to , specifying the file name that cannot be found, and its HRESULT set to COR_E_FILENOTFOUND. - A description of the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - The full name of the file with the invalid image. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The full name of the file with the invalid image. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Sets the object with the file name and additional exception information. - The object that holds the serialized object data about the exception being thrown. - The object that contains contextual information about the source or destination. - - - Returns the fully qualified name of this exception and possibly the error message, the name of the inner exception, and the stack trace. - The fully qualified name of this exception and possibly the error message, the name of the inner exception, and the stack trace. - - - Initializes a new instance of the class for the specified file handle, with the specified read/write permission. - A file handle for the file that the current object will encapsulate. - A constant that sets the and properties of the object. - - is not a field of . - The caller does not have the required permission. - An I/O error, such as a disk error, occurred.-or-The stream has been closed. - The requested is not permitted by the operating system for the specified file handle, such as when is or and the file handle is set for read-only access. - - - Initializes a new instance of the class for the specified file handle, with the specified read/write permission, and buffer size. - A file handle for the file that the current object will encapsulate. - A constant that sets the and properties of the object. - A positive value greater than 0 indicating the buffer size. The default buffer size is 4096. - The parameter is an invalid handle.-or-The parameter is a synchronous handle and it was used asynchronously. - The parameter is negative. - An I/O error, such as a disk error, occurred.-or-The stream has been closed. - The caller does not have the required permission. - The requested is not permitted by the operating system for the specified file handle, such as when is or and the file handle is set for read-only access. - - - Initializes a new instance of the class for the specified file handle, with the specified read/write permission, buffer size, and synchronous or asynchronous state. - A file handle for the file that this object will encapsulate. - A constant that sets the and properties of the object. - A positive value greater than 0 indicating the buffer size. The default buffer size is 4096. - - if the handle was opened asynchronously (that is, in overlapped I/O mode); otherwise, . - The parameter is an invalid handle.-or-The parameter is a synchronous handle and it was used asynchronously. - The parameter is negative. - An I/O error, such as a disk error, occurred.-or-The stream has been closed. - The caller does not have the required permission. - The requested is not permitted by the operating system for the specified file handle, such as when is or and the file handle is set for read-only access. - - - Initializes a new instance of the class for the specified file handle, with the specified read/write permission. - A file handle for the file that the current object will encapsulate. - A constant that sets the and properties of the object. - - is not a field of . - The caller does not have the required permission. - An I/O error, such as a disk error, occurred.-or-The stream has been closed. - The requested is not permitted by the operating system for the specified file handle, such as when is or and the file handle is set for read-only access. - - - Initializes a new instance of the class for the specified file handle, with the specified read/write permission and instance ownership. - A file handle for the file that the current object will encapsulate. - A constant that sets the and properties of the object. - - if the file handle will be owned by this instance; otherwise, . - - is not a field of . - The caller does not have the required permission. - An I/O error, such as a disk error, occurred.-or-The stream has been closed. - The requested is not permitted by the operating system for the specified file handle, such as when is or and the file handle is set for read-only access. - - - Initializes a new instance of the class for the specified file handle, with the specified read/write permission, instance ownership, and buffer size. - A file handle for the file that this object will encapsulate. - A constant that sets the and properties of the object. - - if the file handle will be owned by this instance; otherwise, . - A positive value greater than 0 indicating the buffer size. The default buffer size is 4096. - - is negative. - An I/O error, such as a disk error, occurred.-or-The stream has been closed. - The caller does not have the required permission. - The requested is not permitted by the operating system for the specified file handle, such as when is or and the file handle is set for read-only access. - - - Initializes a new instance of the class for the specified file handle, with the specified read/write permission, instance ownership, buffer size, and synchronous or asynchronous state. - A file handle for the file that this object will encapsulate. - A constant that sets the and properties of the object. - - if the file handle will be owned by this instance; otherwise, . - A positive value greater than 0 indicating the buffer size. The default buffer size is 4096. - - if the handle was opened asynchronously (that is, in overlapped I/O mode); otherwise, . - - is less than or greater than or is less than or equal to 0. - The handle is invalid. - An I/O error, such as a disk error, occurred.-or-The stream has been closed. - The caller does not have the required permission. - The requested is not permitted by the operating system for the specified file handle, such as when is or and the file handle is set for read-only access. - - - Initializes a new instance of the class with the specified path and creation mode. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - - is an empty string (""), contains only white space, or contains one or more invalid characters. -or- - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in an NTFS environment. - - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in a non-NTFS environment. - - is . - The caller does not have the required permission. - The file cannot be found, such as when is or , and the file specified by does not exist. The file must already exist in these modes. - An I/O error, such as specifying when the file specified by already exists, occurred.-or-The stream has been closed. - The specified path is invalid, such as being on an unmapped drive. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - contains an invalid value. - - - Initializes a new instance of the class with the specified path, creation mode, and read/write permission. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines how the file can be accessed by the object. This also determines the values returned by the and properties of the object. is if specifies a disk file. - - is . - - is an empty string (""), contains only white space, or contains one or more invalid characters. -or- - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in an NTFS environment. - - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in a non-NTFS environment. - The file cannot be found, such as when is or , and the file specified by does not exist. The file must already exist in these modes. - An I/O error, such as specifying when the file specified by already exists, occurred. -or-The stream has been closed. - The caller does not have the required permission. - The specified path is invalid, such as being on an unmapped drive. - The requested is not permitted by the operating system for the specified , such as when is or and the file or directory is set for read-only access. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - contains an invalid value. - - - Initializes a new instance of the class with the specified path, creation mode, read/write permission, and sharing permission. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines how the file can be accessed by the object. This also determines the values returned by the and properties of the object. is if specifies a disk file. - A constant that determines how the file will be shared by processes. - - is . - - is an empty string (""), contains only white space, or contains one or more invalid characters. -or- - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in an NTFS environment. - - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in a non-NTFS environment. - The file cannot be found, such as when is or , and the file specified by does not exist. The file must already exist in these modes. - An I/O error, such as specifying when the file specified by already exists, occurred. -or-The system is running Windows 98 or Windows 98 Second Edition and is set to .-or-The stream has been closed. - The caller does not have the required permission. - The specified path is invalid, such as being on an unmapped drive. - The requested is not permitted by the operating system for the specified , such as when is or and the file or directory is set for read-only access. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - contains an invalid value. - - - Initializes a new instance of the class with the specified path, creation mode, read/write and sharing permission, and buffer size. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines how the file can be accessed by the object. This also determines the values returned by the and properties of the object. is if specifies a disk file. - A constant that determines how the file will be shared by processes. - A positive value greater than 0 indicating the buffer size. The default buffer size is 4096. - - is . - - is an empty string (""), contains only white space, or contains one or more invalid characters. -or- - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in an NTFS environment. - - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in a non-NTFS environment. - - is negative or zero.-or- - , , or contain an invalid value. - The file cannot be found, such as when is or , and the file specified by does not exist. The file must already exist in these modes. - An I/O error, such as specifying when the file specified by already exists, occurred. -or-The system is running Windows 98 or Windows 98 Second Edition and is set to .-or-The stream has been closed. - The caller does not have the required permission. - The specified path is invalid, such as being on an unmapped drive. - The requested is not permitted by the operating system for the specified , such as when is or and the file or directory is set for read-only access. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - - Initializes a new instance of the class with the specified path, creation mode, read/write and sharing permission, buffer size, and synchronous or asynchronous state. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines how the file can be accessed by the object. This also determines the values returned by the and properties of the object. is if specifies a disk file. - A constant that determines how the file will be shared by processes. - A positive value greater than 0 indicating the buffer size. The default buffer size is 4096.. - Specifies whether to use asynchronous I/O or synchronous I/O. However, note that the underlying operating system might not support asynchronous I/O, so when specifying , the handle might be opened synchronously depending on the platform. When opened asynchronously, the and methods perform better on large reads or writes, but they might be much slower for small reads or writes. If the application is designed to take advantage of asynchronous I/O, set the parameter to . Using asynchronous I/O correctly can speed up applications by as much as a factor of 10, but using it without redesigning the application for asynchronous I/O can decrease performance by as much as a factor of 10. - - is . - - is an empty string (""), contains only white space, or contains one or more invalid characters. -or- - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in an NTFS environment. - - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in a non-NTFS environment. - - is negative or zero.-or- - , , or contain an invalid value. - The file cannot be found, such as when is or , and the file specified by does not exist. The file must already exist in these modes. - An I/O error, such as specifying when the file specified by already exists, occurred.-or- The system is running Windows 98 or Windows 98 Second Edition and is set to .-or-The stream has been closed. - The caller does not have the required permission. - The specified path is invalid, such as being on an unmapped drive. - The requested is not permitted by the operating system for the specified , such as when is or and the file or directory is set for read-only access. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - - Initializes a new instance of the class with the specified path, creation mode, read/write and sharing permission, the access other FileStreams can have to the same file, the buffer size, and additional file options. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines how the file can be accessed by the object. This also determines the values returned by the and properties of the object. is if specifies a disk file. - A constant that determines how the file will be shared by processes. - A positive value greater than 0 indicating the buffer size. The default buffer size is 4096. - A value that specifies additional file options. - - is . - - is an empty string (""), contains only white space, or contains one or more invalid characters. -or- - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in an NTFS environment. - - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in a non-NTFS environment. - - is negative or zero.-or- - , , or contain an invalid value. - The file cannot be found, such as when is or , and the file specified by does not exist. The file must already exist in these modes. - An I/O error, such as specifying when the file specified by already exists, occurred.-or-The stream has been closed. - The caller does not have the required permission. - The specified path is invalid, such as being on an unmapped drive. - The requested is not permitted by the operating system for the specified , such as when is or and the file or directory is set for read-only access. -or- - is specified for , but file encryption is not supported on the current platform. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - - Initializes a new instance of the class with the specified path, creation mode, access rights and sharing permission, the buffer size, and additional file options. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines the access rights to use when creating access and audit rules for the file. - A constant that determines how the file will be shared by processes. - A positive value greater than 0 indicating the buffer size. The default buffer size is 4096. - A constant that specifies additional file options. - - is . - - is an empty string (""), contains only white space, or contains one or more invalid characters. -or- - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in an NTFS environment. - - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in a non-NTFS environment. - - is negative or zero.-or- - , , or contain an invalid value. - The file cannot be found, such as when is or , and the file specified by does not exist. The file must already exist in these modes. - The current operating system is not Windows NT or later. - An I/O error, such as specifying when the file specified by already exists, occurred. -or-The stream has been closed. - The caller does not have the required permission. - The specified path is invalid, such as being on an unmapped drive. - The requested is not permitted by the operating system for the specified , such as when is or and the file or directory is set for read-only access. -or- - is specified for , but file encryption is not supported on the current platform. - The specified , file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - - Initializes a new instance of the class with the specified path, creation mode, access rights and sharing permission, the buffer size, additional file options, access control and audit security. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines the access rights to use when creating access and audit rules for the file. - A constant that determines how the file will be shared by processes. - A positive value greater than 0 indicating the buffer size. The default buffer size is 4096. - A constant that specifies additional file options. - A constant that determines the access control and audit security for the file. - - is . - - is an empty string (""), contains only white space, or contains one or more invalid characters. -or- - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in an NTFS environment. - - refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. in a non-NTFS environment. - - is negative or zero.-or- - , , or contain an invalid value. - The file cannot be found, such as when is or , and the file specified by does not exist. The file must already exist in these modes. - An I/O error, such as specifying when the file specified by already exists, occurred. -or-The stream has been closed. - The caller does not have the required permission. - The specified path is invalid, such as being on an unmapped drive. - The requested is not permitted by the operating system for the specified , such as when is or and the file or directory is set for read-only access. -or- - is specified for , but file encryption is not supported on the current platform. - The specified , file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The current operating system is not Windows NT or later. - - - Begins an asynchronous read operation. (Consider using instead; see the Remarks section.) - The buffer to read data into. - The byte offset in at which to begin reading. - The maximum number of bytes to read. - The method to be called when the asynchronous read operation is completed. - A user-provided object that distinguishes this particular asynchronous read request from other requests. - An object that references the asynchronous read. - The array length minus is less than . - - is . - - or is negative. - An asynchronous read was attempted past the end of the file. - - - Begins an asynchronous write operation. (Consider using instead; see the Remarks section.) - The buffer containing data to write to the current stream. - The zero-based byte offset in at which to begin copying bytes to the current stream. - The maximum number of bytes to write. - The method to be called when the asynchronous write operation is completed. - A user-provided object that distinguishes this particular asynchronous write request from other requests. - An object that references the asynchronous write. - - length minus is less than . - - is . - - or is negative. - The stream does not support writing. - The stream is closed. - An I/O error occurred. - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Waits for the pending asynchronous read operation to complete. (Consider using instead; see the Remarks section.) - The reference to the pending asynchronous request to wait for. - The number of bytes read from the stream, between 0 and the number of bytes you requested. Streams only return 0 at the end of the stream, otherwise, they should block until at least 1 byte is available. - - is . - This object was not created by calling on this class. - - is called multiple times. - The stream is closed or an internal error has occurred. - - - Ends an asynchronous write operation and blocks until the I/O operation is complete. (Consider using instead; see the Remarks section.) - The pending asynchronous I/O request. - - is . - This object was not created by calling on this class. - - is called multiple times. - The stream is closed or an internal error has occurred. - - - Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the . - - - Clears buffers for this stream and causes any buffered data to be written to the file. - An I/O error occurred. - The stream is closed. - - - Clears buffers for this stream and causes any buffered data to be written to the file, and also clears all intermediate file buffers. - - to flush all intermediate file buffers; otherwise, . - - - Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests. - The token to monitor for cancellation requests. - A task that represents the asynchronous flush operation. - The stream has been disposed. - - - Gets a object that encapsulates the access control list (ACL) entries for the file described by the current object. - An object that encapsulates the access control settings for the file described by the current object. - The file is closed. - An I/O error occurred while opening the file. - The file could not be found. - This operation is not supported on the current platform.-or- The caller does not have the required permission. - - - Prevents other processes from reading from or writing to the . - The beginning of the range to lock. The value of this parameter must be equal to or greater than zero (0). - The range to be locked. - - or is negative. - The file is closed. - The process cannot access the file because another process has locked a portion of the file. - - - Reads a block of bytes from the stream and writes the data in a given buffer. - When this method returns, contains the specified byte array with the values between and ( + - 1 replaced by the bytes read from the current source. - The byte offset in at which the read bytes will be placed. - The maximum number of bytes to read. - The total number of bytes read into the buffer. This might be less than the number of bytes requested if that number of bytes are not currently available, or zero if the end of the stream is reached. - - is . - - or is negative. - The stream does not support reading. - An I/O error occurred. - - and describe an invalid range in . - Methods were called after the stream was closed. - - - Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests. - The buffer to write the data into. - The byte offset in at which to begin writing data from the stream. - The maximum number of bytes to read. - The token to monitor for cancellation requests. - A task that represents the asynchronous read operation. The value of the parameter contains the total number of bytes read into the buffer. The result value can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the stream has been reached. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The stream does not support reading. - The stream has been disposed. - The stream is currently in use by a previous read operation. - - - Reads a byte from the file and advances the read position one byte. - The byte, cast to an , or -1 if the end of the stream has been reached. - The current stream does not support reading. - The current stream is closed. - - - Sets the current position of this stream to the given value. - The point relative to from which to begin seeking. - Specifies the beginning, the end, or the current position as a reference point for , using a value of type . - The new position in the stream. - An I/O error occurred. - The stream does not support seeking, such as if the is constructed from a pipe or console output. - Seeking is attempted before the beginning of the stream. - Methods were called after the stream was closed. - - - Applies access control list (ACL) entries described by a object to the file described by the current object. - An object that describes an ACL entry to apply to the current file. - The file is closed. - The parameter is . - The file could not be found or modified. - The current process does not have access to open the file. - - - Sets the length of this stream to the given value. - The new length of the stream. - An I/O error has occurred. - The stream does not support both writing and seeking. - Attempted to set the parameter to less than 0. - - - Allows access by other processes to all or part of a file that was previously locked. - The beginning of the range to unlock. - The range to be unlocked. - - or is negative. - - - Writes a block of bytes to the file stream. - The buffer containing data to write to the stream. - The zero-based byte offset in from which to begin copying bytes to the stream. - The maximum number of bytes to write. - - is . - - and describe an invalid range in . - - or is negative. - An I/O error occurred. - or -Another thread may have caused an unexpected change in the position of the operating system's file handle. - The stream is closed. - The current stream instance does not support writing. - - - Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests. - The buffer to write data from. - The zero-based byte offset in from which to begin copying bytes to the stream. - The maximum number of bytes to write. - The token to monitor for cancellation requests. - A task that represents the asynchronous write operation. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The stream does not support writing. - The stream has been disposed. - The stream is currently in use by a previous write operation. - - - Writes a byte to the current position in the file stream. - A byte to write to the stream. - The stream is closed. - The stream does not support writing. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The specified is null. - - - Deletes a file or directory. - The specified path is invalid; for example, it is on an unmapped drive. - There is an open handle on the file or directory, and the operating system is Windows XP or earlier. This open handle can result from enumerating directories and files. For more information, see How to: Enumerate Directories and Files. - - - Sets the object with the file name and additional exception information. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Refreshes the state of the object. - A device such as a disk drive is not ready. - - - Initializes a new instance of the class with its message string set to the empty string (""), its HRESULT set to COR_E_IO, and its inner exception set to a null reference. - - - Initializes a new instance of the class with the specified serialization and context information. - The data for serializing or deserializing the object. - The source and destination for the object. - - - Initializes a new instance of the class with its message string set to , its HRESULT set to COR_E_IO, and its inner exception set to . - A that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with its message string set to and its HRESULT user-defined. - A that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - An integer identifying the error that has occurred. - - - When overridden in a derived class, returns a normalized copy of the object on which it is called. - A normalized object that represents the instance on which this method was called. This instance can be a string, stream, or any serializable object. - - - Initializes a new instance of the class. - - - When implemented by a derived class, returns a permission that represents access to isolated storage from within a permission set. - The object that contains the set of permissions granted to code attempting to use isolated storage. - An object. - - - When overridden in a derived class, prompts a user to approve a larger quota size, in bytes, for isolated storage. - The requested new quota size, in bytes, for the user to approve. - - in all cases. - - - Initializes a new object. - A bitwise combination of the values. - The type of that you can choose from the list of for the calling application. lets the object choose the evidence. - The assembly specified has insufficient permissions to create isolated stores. - - - Initializes a new object. - A bitwise combination of the values. - The type of that you can choose from the list of present in the domain of the calling application. lets the object choose the evidence. - The type of that you can choose from the list of present in the assembly of the calling application. lets the object choose the evidence. - The assembly specified has insufficient permissions to create isolated stores. - - - When overridden in a derived class, removes the individual isolated store and all contained data. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Closes a store previously opened with , , or . - - - Copies an existing file to a new file. - The name of the file to copy. - The name of the destination file. This cannot be a directory or an existing file. - - oris a zero-length string, contains only white space, or contains one or more invalid characters defined by the method. - - oris . - The isolated store has been closed. - The isolated store has been disposed. - - was not found. - - was not found. - The isolated store has been removed.-or-Isolated storage is disabled.-or- - exists.-or-An I/O error has occurred. - - - Copies an existing file to a new file, and optionally overwrites an existing file. - The name of the file to copy. - The name of the destination file. This cannot be a directory. - - if the destination file can be overwritten; otherwise, . - - oris a zero-length string, contains only white space, or contains one or more invalid characters defined by the method. - - oris . - The isolated store has been closed. - The isolated store has been disposed. - - was not found. - - was not found. - The isolated store has been removed.-or-Isolated storage is disabled.-or-An I/O error has occurred. - - - Creates a directory in the isolated storage scope. - The relative path of the directory to create within the isolated storage scope. - The current code has insufficient permissions to create isolated storage directory. - The directory path is . - - - Creates a file in the isolated store. - The relative path of the file to create. - A new isolated storage file. - The isolated store has been removed. -or-Isolated storage is disabled. - - is malformed. - - is . - The directory in does not exist. - The isolated store has been disposed. - - - Deletes a directory in the isolated storage scope. - The relative path of the directory to delete within the isolated storage scope. - The directory could not be deleted. - The directory path was . - - - Deletes a file in the isolated storage scope. - The relative path of the file to delete within the isolated storage scope. - The target file is open or the path is incorrect. - The file path is . - - - Determines whether the specified path refers to an existing directory in the isolated store. - The path to test. - - if refers to an existing directory in the isolated store and is not ; otherwise, . - - is . - The isolated store is closed. - The isolated store has been disposed. - The isolated store has been removed. -or-Isolated storage is disabled. - - - Releases all resources used by the . - - - Determines whether the specified path refers to an existing file in the isolated store. - The path and file name to test. - - if refers to an existing file in the isolated store and is not ; otherwise, . - - is . - The isolated store is closed. - The isolated store has been disposed. - The isolated store has been removed. - - - Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. - - - Returns the creation date and time of a specified file or directory. - The path to the file or directory for which to obtain creation date and time information. - The creation date and time for the specified file or directory. This value is expressed in local time. - - is a zero-length string, contains only white space, or contains one or more invalid characters defined by the method. - - is . - The isolated store has been closed. - The isolated store has been disposed. - The isolated store has been removed.-or-Isolated storage is disabled. - - - Enumerates the directories at the root of an isolated store. - An array of relative paths of directories at the root of the isolated store. A zero-length array specifies that there are no directories at the root. - The isolated store has been disposed. - The isolated store is closed. - The isolated store has been removed. - Caller does not have permission to enumerate directories. - One or more directories are not found. - - - Enumerates the directories in an isolated storage scope that match a given search pattern. - A search pattern. Both single-character ("?") and multi-character ("*") wildcards are supported. - An array of the relative paths of directories in the isolated storage scope that match . A zero-length array specifies that there are no directories that match. - - is . - The isolated store is closed. - The isolated store has been disposed. - Caller does not have permission to enumerate directories resolved from . - The directory or directories specified by are not found. - The isolated store has been removed. - - - Gets the enumerator for the stores within an isolated storage scope. - Represents the for which to return isolated stores. and are the only combinations supported. - Enumerator for the stores within the specified isolated storage scope. - - - Enumerates the file names at the root of an isolated store. - An array of relative paths of files at the root of the isolated store. A zero-length array specifies that there are no files at the root. - The isolated store has been removed. - The isolated store has been disposed. - File paths from the isolated store root cannot be determined. - - - Gets the file names that match a search pattern. - A search pattern. Both single-character ("?") and multi-character ("*") wildcards are supported. - An array of relative paths of files in the isolated storage scope that match . A zero-length array specifies that there are no files that match. - - is . - The isolated store has been disposed. - The isolated store has been removed. - The file path specified by cannot be found. - - - Returns the date and time a specified file or directory was last accessed. - The path to the file or directory for which to obtain last access date and time information. - The date and time that the specified file or directory was last accessed. This value is expressed in local time. - - is a zero-length string, contains only white space, or contains one or more invalid characters defined by the method. - - is . - The isolated store has been closed. - The isolated store has been disposed. - The isolated store has been removed.-or-Isolated storage is disabled. - - - Returns the date and time a specified file or directory was last written to. - The path to the file or directory for which to obtain last write date and time information. - The date and time that the specified file or directory was last written to. This value is expressed in local time. - - is a zero-length string, contains only white space, or contains one or more invalid characters defined by the method. - - is . - The isolated store has been closed. - The isolated store has been disposed. - The isolated store has been removed.-or-Isolated storage is disabled. - - - Obtains machine-scoped isolated storage corresponding to the calling code's application identity. - An object corresponding to the isolated storage scope based on the calling code's application identity. - The application identity of the caller could not be determined.-or- The granted permission set for the application domain could not be determined.-or-An isolated storage location cannot be initialized. - Sufficient isolated storage permissions have not been granted. - - - Obtains machine-scoped isolated storage corresponding to the calling code's assembly identity. - An object corresponding to the isolated storage scope based on the calling code's assembly identity. - An isolated storage location cannot be initialized. - Sufficient isolated storage permissions have not been granted. - - - Obtains machine-scoped isolated storage corresponding to the application domain identity and the assembly identity. - An object corresponding to the , based on a combination of the application domain identity and the assembly identity. - Sufficient isolated storage permissions have not been granted. - The store failed to open.-or- The assembly specified has insufficient permissions to create isolated stores.-or-The permissions for the application domain cannot be determined.-or-An isolated storage location cannot be initialized. - - - Obtains isolated storage corresponding to the given application identity. - A bitwise combination of the enumeration values. - An object that contains evidence for the application identity. - An object that represents the parameters. - Sufficient isolated storage permissions have not been granted. - The identity has not been passed in. - The is invalid. - An isolated storage location cannot be initialized. -or- - contains the enumeration value , but the application identity of the caller cannot be determined,because the for the current application domain returned .-or- - contains the value , but the permissions for the application domain cannot be determined.-or- - contains the value , but the permissions for the calling assembly cannot be determined. - - - Obtains the isolated storage corresponding to the given application domain and assembly evidence objects. - A bitwise combination of the enumeration values. - An object that contains evidence for the application domain identity. - An object that contains evidence for the code assembly identity. - An object that represents the parameters. - Sufficient isolated storage permissions have not been granted. - Neither nor has been passed in. This verifies that the correct constructor is being used.-or- Either or is . - The is invalid. - An isolated storage location cannot be initialized. -or- - contains the enumeration value , but the application identity of the caller cannot be determined, because the for the current application domain returned .-or- - contains the value , but the permissions for the application domain cannot be determined.-or- - contains the value , but the permissions for the calling assembly cannot be determined. - - - Obtains isolated storage corresponding to the given application domain and the assembly evidence objects and types. - A bitwise combination of the enumeration values. - An object that contains the application domain identity. - The identity type to choose from the application domain evidence. - An object that contains the code assembly identity. - The identity type to choose from the application code assembly evidence. - An object that represents the parameters. - Sufficient isolated storage permissions have not been granted. - The or identity has not been passed in. - The is invalid. - An isolated storage location cannot be initialized. -or- - contains the enumeration value , but the application identity of the caller cannot be determined, because the for the current application domain returned .-or- - contains the value , but the permissions for the application domain cannot be determined.-or- - contains the value , but the permissions for the calling assembly cannot be determined. - - - Obtains isolated storage corresponding to the isolation scope and the application identity object. - A bitwise combination of the enumeration values. - An object that contains the application identity. - An object that represents the parameters. - Sufficient isolated storage permissions have not been granted. - The identity has not been passed in. - The is invalid. - An isolated storage location cannot be initialized. -or- - contains the enumeration value , but the application identity of the caller cannot be determined, because the for the current application domain returned .-or- - contains the value , but the permissions for the application domain cannot be determined.-or- - contains the value , but the permissions for the calling assembly cannot be determined. - - - Obtains isolated storage corresponding to the isolated storage scope given the application domain and assembly evidence types. - A bitwise combination of the enumeration values. - The type of the that you can chose from the list of present in the domain of the calling application. lets the object choose the evidence. - The type of the that you can chose from the list of present in the domain of the calling application. lets the object choose the evidence. - An object that represents the parameters. - Sufficient isolated storage permissions have not been granted. - The is invalid. - The evidence type provided is missing in the assembly evidence list. -or-An isolated storage location cannot be initialized.-or- - contains the enumeration value , but the application identity of the caller cannot be determined, because the for the current application domain returned .-or- - contains the value , but the permissions for the application domain cannot be determined.-or- - contains , but the permissions for the calling assembly cannot be determined. - - - Obtains user-scoped isolated storage corresponding to the calling code's application identity. - An object corresponding to the isolated storage scope based on the calling code's assembly identity. - Sufficient isolated storage permissions have not been granted. - An isolated storage location cannot be initialized.-or-The application identity of the caller cannot be determined, because the property returned .-or-The permissions for the application domain cannot be determined. - - - Obtains user-scoped isolated storage corresponding to the calling code's assembly identity. - An object corresponding to the isolated storage scope based on the calling code's assembly identity. - Sufficient isolated storage permissions have not been granted. - An isolated storage location cannot be initialized.-or-The permissions for the calling assembly cannot be determined. - - - Obtains user-scoped isolated storage corresponding to the application domain identity and assembly identity. - An object corresponding to the , based on a combination of the application domain identity and the assembly identity. - Sufficient isolated storage permissions have not been granted. - The store failed to open.-or- The assembly specified has insufficient permissions to create isolated stores.-or-An isolated storage location cannot be initialized. -or-The permissions for the application domain cannot be determined. - - - Obtains a user-scoped isolated store for use by applications in a virtual host domain. - The isolated storage file that corresponds to the isolated storage scope based on the calling code's application identity. - - - Enables an application to explicitly request a larger quota size, in bytes. - The requested size, in bytes. - - if the new quota is accepted; otherwise, . - - is less than current quota size. - - is less than zero, or less than or equal to the current quota size. - The isolated store has been closed. - The current scope is not for an application user. - The isolated store has been disposed. - The isolated store has been removed.-or-Isolated storage is disabled. - - - Moves a specified directory and its contents to a new location. - The name of the directory to move. - The path to the new location for . This cannot be the path to an existing directory. - - oris a zero-length string, contains only white space, or contains one or more invalid characters defined by the method. - - oris . - The isolated store has been closed. - The isolated store has been disposed. - - does not exist. - The isolated store has been removed.-or-Isolated storage is disabled.-or- - already exists.-or- - and refer to the same directory. - - - Moves a specified file to a new location, and optionally lets you specify a new file name. - The name of the file to move. - The path to the new location for the file. If a file name is included, the moved file will have that name. - - oris a zero-length string, contains only white space, or contains one or more invalid characters defined by the method. - - oris . - The isolated store has been closed. - The isolated store has been disposed. - - was not found. - The isolated store has been removed.-or-Isolated storage is disabled. - - - Opens a file in the specified mode. - The relative path of the file within the isolated store. - One of the enumeration values that specifies how to open the file. - A file that is opened in the specified mode, with read/write access, and is unshared. - The isolated store has been removed. -or-Isolated storage is disabled. - - is malformed. - - is . - The directory in does not exist. - No file was found and the is set to . - The isolated store has been disposed. - - - Opens a file in the specified mode with the specified read/write access. - The relative path of the file within the isolated store. - One of the enumeration values that specifies how to open the file. - One of the enumeration values that specifies whether the file will be opened with read, write, or read/write access. - A file that is opened in the specified mode and access, and is unshared. - The isolated store has been removed. -or-Isolated storage is disabled. - - is malformed. - - is . - The directory in does not exist. - No file was found and the is set to . - The isolated store has been disposed. - - - Opens a file in the specified mode, with the specified read/write access and sharing permission. - The relative path of the file within the isolated store. - One of the enumeration values that specifies how to open or create the file. - One of the enumeration values that specifies whether the file will be opened with read, write, or read/write access - A bitwise combination of enumeration values that specify the type of access other objects have to this file. - A file that is opened in the specified mode and access, and with the specified sharing options. - The isolated store has been removed. -or-Isolated storage is disabled. - - is malformed. - - is . - The directory in does not exist. - No file was found and the is set to . - The isolated store has been disposed. - - - Removes the isolated storage scope and all its contents. - The isolated store cannot be deleted. - - - Removes the specified isolated storage scope for all identities. - A bitwise combination of the values. - The isolated store cannot be removed. - - - Initializes a new instance of an object giving access to the file designated by in the specified . - The relative path of the file within isolated storage. - One of the values. - The is badly formed. - The is . - The directory in does not exist. - No file was found and the is set to - - - Initializes a new instance of the class giving access to the file designated by , in the specified , with the kind of requested. - The relative path of the file within isolated storage. - One of the values. - A bitwise combination of the values. - The is badly formed. - The is . - No file was found and the is set to . - - - Initializes a new instance of the class giving access to the file designated by , in the specified , with the specified file , using the file sharing mode specified by . - The relative path of the file within isolated storage. - One of the values. - A bitwise combination of the values. - A bitwise combination of the values. - The is badly formed. - The is . - No file was found and the is set to . - - - Initializes a new instance of the class giving access to the file designated by , in the specified , with the specified file , using the file sharing mode specified by , with the specified. - The relative path of the file within isolated storage. - One of the values. - A bitwise combination of the values. - A bitwise combination of the values. - The buffer size. - The is badly formed. - The is . - No file was found and the is set to . - - - Initializes a new instance of the class giving access to the file designated by , in the specified , with the specified file , using the file sharing mode specified by , with the specified, and in the context of the specified by . - The relative path of the file within isolated storage. - One of the values. - A bitwise combination of the values. - A bitwise combination of the values - The buffer size. - The in which to open the . - The is badly formed. - The is . - No file was found and the is set to . - - does not have a quota. - - - Initializes a new instance of the class giving access to the file designated by , in the specified , with the specified file , using the file sharing mode specified by , and in the context of the specified by . - The relative path of the file within isolated storage. - One of the values. - A bitwise combination of the values. - A bitwise combination of the values. - The in which to open the . - The is badly formed. - The is . - No file was found and the is set to . - - does not have a quota. - - - Initializes a new instance of the class giving access to the file designated by in the specified , with the specified file , and in the context of the specified by . - The relative path of the file within isolated storage. - One of the values. - A bitwise combination of the values. - The in which to open the . - The is badly formed. - The is . - The isolated store is closed. - No file was found and the is set to . - - does not have a quota. - - - Initializes a new instance of the class giving access to the file designated by , in the specified , and in the context of the specified by . - The relative path of the file within isolated storage. - One of the values. - The in which to open the . - The is badly formed. - The is . - No file was found and the is set to . - - does not have a quota. - - - Begins an asynchronous read. - The buffer to read data into. - The byte offset in at which to begin reading. - The maximum number of bytes to read. - The method to call when the asynchronous read operation is completed. This parameter is optional. - The status of the asynchronous read. - An object that represents the asynchronous read, which is possibly still pending. This must be passed to this stream's method to determine how many bytes were read. This can be done either by the same code that called or in a callback passed to . - An asynchronous read was attempted past the end of the file. - - - Begins an asynchronous write. - The buffer to write data to. - The byte offset in at which to begin writing. - The maximum number of bytes to write. - The method to call when the asynchronous write operation is completed. This parameter is optional. - The status of the asynchronous write. - An that represents the asynchronous write, which is possibly still pending. This must be passed to this stream's method to ensure that the write is complete, then frees resources appropriately. This can be done either by the same code that called or in a callback passed to . - An asynchronous write was attempted past the end of the file. - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources - - - Ends a pending asynchronous read request. - The pending asynchronous request. - The number of bytes read from the stream, between zero and the number of requested bytes. Streams will only return zero at the end of the stream. Otherwise, they will block until at least one byte is available. - The is . - - - Ends an asynchronous write. - The pending asynchronous I/O request to end. - The parameter is . - - - Clears buffers for this stream and causes any buffered data to be written to the file. - - - Clears buffers for this stream and causes any buffered data to be written to the file, and also clears all intermediate file buffers. - - to flush all intermediate file buffers; otherwise, . - - - Prevents other processes from reading from or writing to the stream. - The starting position of the range to lock. The value of this parameter must be equal to or greater than 0 (zero). - The number of bytes to lock. - - or is negative. - The file is closed. - The process cannot access the file because another process has locked a portion of the file. - - - Copies bytes from the current buffered object to an array. - The buffer to read. - The offset in the buffer at which to begin writing. - The maximum number of bytes to read. - The total number of bytes read into the . This can be less than the number of bytes requested if that many bytes are not currently available, or zero if the end of the stream is reached. - - - Reads a single byte from the object in isolated storage. - The 8-bit unsigned integer value read from the isolated storage file. - - - Sets the current position of this object to the specified value. - The new position of the object. - One of the values. - The new position in the object. - The must be one of the values. - - - Sets the length of this object to the specified . - The new length of the object. - - is a negative number. - - - Allows other processes to access all or part of a file that was previously locked. - The starting position of the range to unlock. The value of this parameter must be equal to or greater than 0 (zero). - The number of bytes to unlock. - - or is negative. - - - Writes a block of bytes to the object using data read from a byte array. - The buffer to write. - The byte offset in buffer from which to begin. - The maximum number of bytes to write. - The write attempt exceeds the quota for the object. - - - Writes a single byte to the object. - The byte value to write to the isolated storage file. - The write attempt exceeds the quota for the object. - - - Ensures that the state that is represented by is available on the host. - The state is not available. - - - Initializes a new instance of the class with an expandable capacity initialized to zero. - - - Initializes a new non-resizable instance of the class based on the specified byte array. - The array of unsigned bytes from which to create the current stream. - - is . - - - Initializes a new non-resizable instance of the class based on the specified byte array with the property set as specified. - The array of unsigned bytes from which to create this stream. - The setting of the property, which determines whether the stream supports writing. - - is . - - - Initializes a new non-resizable instance of the class based on the specified region (index) of a byte array. - The array of unsigned bytes from which to create this stream. - The index into at which the stream begins. - The length of the stream in bytes. - - is . - - or is less than zero. - The buffer length minus is less than . - - - Initializes a new non-resizable instance of the class based on the specified region of a byte array, with the property set as specified. - The array of unsigned bytes from which to create this stream. - The index in at which the stream begins. - The length of the stream in bytes. - The setting of the property, which determines whether the stream supports writing. - - is . - - or are negative. - The buffer length minus is less than . - - - Initializes a new instance of the class based on the specified region of a byte array, with the property set as specified, and the ability to call set as specified. - The array of unsigned bytes from which to create this stream. - The index into at which the stream begins. - The length of the stream in bytes. - The setting of the property, which determines whether the stream supports writing. - - to enable , which returns the unsigned byte array from which the stream was created; otherwise, . - - is . - - or is negative. - The buffer length minus is less than . - - - Initializes a new instance of the class with an expandable capacity initialized as specified. - The initial size of the internal array in bytes. - - is negative. - - - Asynchronously reads all the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token. - The stream to which the contents of the current stream will be copied. - The size, in bytes, of the buffer. This value must be greater than zero. - The token to monitor for cancellation requests. - A task that represents the asynchronous copy operation. - - is . - - is negative or zero. - Either the current stream or the destination stream is disposed. - The current stream does not support reading, or the destination stream does not support writing. - - - Releases the unmanaged resources used by the class and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Overrides the method so that no action is performed. - - - Asynchronously clears all buffers for this stream, and monitors cancellation requests. - The token to monitor for cancellation requests. - A task that represents the asynchronous flush operation. - The stream has been disposed. - - - Returns the array of unsigned bytes from which this stream was created. - The byte array from which this stream was created, or the underlying array if a byte array was not provided to the constructor during construction of the current instance. - The instance was not created with a publicly visible buffer. - - - Reads a block of bytes from the current stream and writes the data to a buffer. - When this method returns, contains the specified byte array with the values between and ( + - 1) replaced by the characters read from the current stream. - The zero-based byte offset in at which to begin storing data from the current stream. - The maximum number of bytes to read. - The total number of bytes written into the buffer. This can be less than the number of bytes requested if that number of bytes are not currently available, or zero if the end of the stream is reached before any bytes are read. - - is . - - or is negative. - - subtracted from the buffer length is less than . - The current stream instance is closed. - - - Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests. - The buffer to write the data into. - The byte offset in at which to begin writing data from the stream. - The maximum number of bytes to read. - The token to monitor for cancellation requests. The default value is . - A task that represents the asynchronous read operation. The value of the parameter contains the total number of bytes read into the buffer. The result value can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the stream has been reached. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The stream does not support reading. - The stream has been disposed. - The stream is currently in use by a previous read operation. - - - Reads a byte from the current stream. - The byte cast to a , or -1 if the end of the stream has been reached. - The current stream instance is closed. - - - Sets the position within the current stream to the specified value. - The new position within the stream. This is relative to the parameter, and can be positive or negative. - A value of type , which acts as the seek reference point. - The new position within the stream, calculated by combining the initial reference point and the offset. - Seeking is attempted before the beginning of the stream. - - is greater than . - There is an invalid . -or- - caused an arithmetic overflow. - The current stream instance is closed. - - - Sets the length of the current stream to the specified value. - The value at which to set the length. - The current stream is not resizable and is larger than the current capacity.-or- The current stream does not support writing. - - is negative or is greater than the maximum length of the , where the maximum length is( - origin), and origin is the index into the underlying buffer at which the stream starts. - - - Writes the stream contents to a byte array, regardless of the property. - A new byte array. - - - Returns the array of unsigned bytes from which this stream was created. The return value indicates whether the conversion succeeded. - The byte array segment from which this stream was created. - - if the conversion was successful; otherwise, . - - - Writes a block of bytes to the current stream using data read from a buffer. - The buffer to write data from. - The zero-based byte offset in at which to begin copying bytes to the current stream. - The maximum number of bytes to write. - - is . - The stream does not support writing. For additional information see .-or- The current position is closer than bytes to the end of the stream, and the capacity cannot be modified. - - subtracted from the buffer length is less than . - - or are negative. - An I/O error occurs. - The current stream instance is closed. - - - Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests. - The buffer to write data from. - The zero-based byte offset in from which to begin copying bytes to the stream. - The maximum number of bytes to write. - The token to monitor for cancellation requests. The default value is . - A task that represents the asynchronous write operation. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The stream does not support writing. - The stream has been disposed. - The stream is currently in use by a previous write operation. - - - Writes a byte to the current stream at the current position. - The byte to write. - The stream does not support writing. For additional information see .-or- The current position is at the end of the stream, and the capacity cannot be modified. - The current stream is closed. - - - Writes the entire contents of this memory stream to another stream. - The stream to write this memory stream to. - - is . - The current or target stream is closed. - - - Changes the extension of a path string. - The path information to modify. The path cannot contain any of the characters defined in . - The new extension (with or without a leading period). Specify to remove an existing extension from . - The modified path information.On Windows-based desktop platforms, if is or an empty string (""), the path information is returned unmodified. If is , the returned string contains the specified path with its extension removed. If has no extension, and is not , the returned path string contains appended to the end of . - - contains one or more of the invalid characters defined in . - - - Combines two strings into a path. - The first path to combine. - The second path to combine. - The combined paths. If one of the specified paths is a zero-length string, this method returns the other path. If contains an absolute path, this method returns . - - or contains one or more of the invalid characters defined in . - - or is . - - - Combines three strings into a path. - The first path to combine. - The second path to combine. - The third path to combine. - The combined paths. - - , , or contains one or more of the invalid characters defined in . - - , , or is . - - - Combines four strings into a path. - The first path to combine. - The second path to combine. - The third path to combine. - The fourth path to combine. - The combined paths. - - , , , or contains one or more of the invalid characters defined in . - - , , , or is . - - - Combines an array of strings into a path. - An array of parts of the path. - The combined paths. - One of the strings in the array contains one or more of the invalid characters defined in . - One of the strings in the array is . - - - Returns the directory information for the specified path string. - The path of a file or directory. - Directory information for , or if denotes a root directory or is null. Returns if does not contain directory information. - The parameter contains invalid characters, is empty, or contains only white spaces. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The parameter is longer than the system-defined maximum length. - - - Returns the extension of the specified path string. - The path string from which to get the extension. - The extension of the specified path (including the period "."), or , or . If is , returns . If does not have extension information, returns . - - contains one or more of the invalid characters defined in . - - - Returns the file name and extension of the specified path string. - The path string from which to obtain the file name and extension. - The characters after the last directory character in . If the last character of is a directory or volume separator character, this method returns . If is , this method returns . - - contains one or more of the invalid characters defined in . - - - Returns the file name of the specified path string without the extension. - The path of the file. - The string returned by , minus the last period (.) and all characters following it. - - contains one or more of the invalid characters defined in . - - - Returns the absolute path for the specified path string. - The file or directory for which to obtain absolute path information. - The fully qualified location of , such as "C:\MyFile.txt". - - is a zero-length string, contains only white space, or contains one or more of the invalid characters defined in .-or- The system could not retrieve the absolute path. - The caller does not have the required permissions. - - is . - - contains a colon (":") that is not part of a volume identifier (for example, "c:\"). - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - - - Gets an array containing the characters that are not allowed in file names. - An array containing the characters that are not allowed in file names. - - - Gets an array containing the characters that are not allowed in path names. - An array containing the characters that are not allowed in path names. - - - Gets the root directory information of the specified path. - The path from which to obtain root directory information. - The root directory of , such as "C:\", or if is , or an empty string if does not contain root directory information. - - contains one or more of the invalid characters defined in .-or- - was passed to . - - - Returns a random folder name or file name. - A random folder name or file name. - - - Creates a uniquely named, zero-byte temporary file on disk and returns the full path of that file. - The full path of the temporary file. - An I/O error occurs, such as no unique temporary file name is available.- or -This method was unable to create a temporary file. - - - Returns the path of the current user's temporary folder. - The path to the temporary folder, ending with a backslash. - The caller does not have the required permissions. - - - Determines whether a path includes a file name extension. - The path to search for an extension. - - if the characters that follow the last directory separator (\\ or /) or volume separator (:) in the path include a period (.) followed by one or more characters; otherwise, . - - contains one or more of the invalid characters defined in . - - - Gets a value indicating whether the specified path string contains a root. - The path to test. - - if contains a root; otherwise, . - - contains one or more of the invalid characters defined in . - - - Initializes a new instance of the class with its HRESULT set to COR_E_PATHTOOLONG. - - - Initializes a new instance of the class with the specified serialization and context information. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with its message string set to and its HRESULT set to COR_E_PATHTOOLONG. - A that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - A that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Begins an asynchronous read operation. (Consider using instead; see the Remarks section.) - The buffer to read the data into. - The byte offset in at which to begin writing data read from the stream. - The maximum number of bytes to read. - An optional asynchronous callback, to be called when the read is complete. - A user-provided object that distinguishes this particular asynchronous read request from other requests. - An that represents the asynchronous read, which could still be pending. - Attempted an asynchronous read past the end of the stream, or a disk error occurs. - One or more of the arguments is invalid. - Methods were called after the stream was closed. - The current implementation does not support the read operation. - - - Begins an asynchronous write operation. (Consider using instead; see the Remarks section.) - The buffer to write data from. - The byte offset in from which to begin writing. - The maximum number of bytes to write. - An optional asynchronous callback, to be called when the write is complete. - A user-provided object that distinguishes this particular asynchronous write request from other requests. - An that represents the asynchronous write, which could still be pending. - Attempted an asynchronous write past the end of the stream, or a disk error occurs. - One or more of the arguments is invalid. - Methods were called after the stream was closed. - The current implementation does not support the write operation. - - - Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Instead of calling this method, ensure that the stream is properly disposed. - - - Reads the bytes from the current stream and writes them to another stream. - The stream to which the contents of the current stream will be copied. - - is . - The current stream does not support reading.-or- - does not support writing. - Either the current stream or were closed before the method was called. - An I/O error occurred. - - - Reads the bytes from the current stream and writes them to another stream, using a specified buffer size. - The stream to which the contents of the current stream will be copied. - The size of the buffer. This value must be greater than zero. The default size is 81920. - - is . - - is negative or zero. - The current stream does not support reading.-or- - does not support writing. - Either the current stream or were closed before the method was called. - An I/O error occurred. - - - Asynchronously reads the bytes from the current stream and writes them to another stream. - The stream to which the contents of the current stream will be copied. - A task that represents the asynchronous copy operation. - - is . - Either the current stream or the destination stream is disposed. - The current stream does not support reading, or the destination stream does not support writing. - - - Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size. - The stream to which the contents of the current stream will be copied. - The size, in bytes, of the buffer. This value must be greater than zero. The default size is 81920. - A task that represents the asynchronous copy operation. - - is . - - is negative or zero. - Either the current stream or the destination stream is disposed. - The current stream does not support reading, or the destination stream does not support writing. - - - Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token. - The stream to which the contents of the current stream will be copied. - The size, in bytes, of the buffer. This value must be greater than zero. The default size is 81920. - The token to monitor for cancellation requests. The default value is . - A task that represents the asynchronous copy operation. - - is . - - is negative or zero. - Either the current stream or the destination stream is disposed. - The current stream does not support reading, or the destination stream does not support writing. - - - Allocates a object. - A reference to the allocated . - - - Releases all resources used by the . - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Waits for the pending asynchronous read to complete. (Consider using instead; see the Remarks section.) - The reference to the pending asynchronous request to finish. - The number of bytes read from the stream, between zero (0) and the number of bytes you requested. Streams return zero (0) only at the end of the stream, otherwise, they should block until at least one byte is available. - - is . - A handle to the pending read operation is not available.-or-The pending operation does not support reading. - - did not originate from a method on the current stream. - The stream is closed or an internal error has occurred. - - - Ends an asynchronous write operation. (Consider using instead; see the Remarks section.) - A reference to the outstanding asynchronous I/O request. - - is . - A handle to the pending write operation is not available.-or-The pending operation does not support writing. - - did not originate from a method on the current stream. - The stream is closed or an internal error has occurred. - - - When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device. - An I/O error occurs. - - - Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device. - A task that represents the asynchronous flush operation. - The stream has been disposed. - - - Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests. - The token to monitor for cancellation requests. The default value is . - A task that represents the asynchronous flush operation. - The stream has been disposed. - - - Provides support for a . - - - When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. - An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. - The zero-based byte offset in at which to begin storing the data read from the current stream. - The maximum number of bytes to be read from the current stream. - The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. - The sum of and is larger than the buffer length. - - is . - - or is negative. - An I/O error occurs. - The stream does not support reading. - Methods were called after the stream was closed. - - - Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. - The buffer to write the data into. - The byte offset in at which to begin writing data from the stream. - The maximum number of bytes to read. - A task that represents the asynchronous read operation. The value of the parameter contains the total number of bytes read into the buffer. The result value can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the stream has been reached. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The stream does not support reading. - The stream has been disposed. - The stream is currently in use by a previous read operation. - - - Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests. - The buffer to write the data into. - The byte offset in at which to begin writing data from the stream. - The maximum number of bytes to read. - The token to monitor for cancellation requests. The default value is . - A task that represents the asynchronous read operation. The value of the parameter contains the total number of bytes read into the buffer. The result value can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the stream has been reached. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The stream does not support reading. - The stream has been disposed. - The stream is currently in use by a previous read operation. - - - Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream. - The unsigned byte cast to an , or -1 if at the end of the stream. - The stream does not support reading. - Methods were called after the stream was closed. - - - When overridden in a derived class, sets the position within the current stream. - A byte offset relative to the parameter. - A value of type indicating the reference point used to obtain the new position. - The new position within the current stream. - An I/O error occurs. - The stream does not support seeking, such as if the stream is constructed from a pipe or console output. - Methods were called after the stream was closed. - - - When overridden in a derived class, sets the length of the current stream. - The desired length of the current stream in bytes. - An I/O error occurs. - The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. - Methods were called after the stream was closed. - - - Creates a thread-safe (synchronized) wrapper around the specified object. - The object to synchronize. - A thread-safe object. - - is . - - - When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. - An array of bytes. This method copies bytes from to the current stream. - The zero-based byte offset in at which to begin copying bytes to the current stream. - The number of bytes to be written to the current stream. - The sum of  and  is greater than the buffer length. - - is . - - or  is negative. - An I/O error occured, such as the specified file cannot be found. - The stream does not support writing. - - was called after the stream was closed. - - - Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. - The buffer to write data from. - The zero-based byte offset in from which to begin copying bytes to the stream. - The maximum number of bytes to write. - A task that represents the asynchronous write operation. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The stream does not support writing. - The stream has been disposed. - The stream is currently in use by a previous write operation. - - - Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests. - The buffer to write data from. - The zero-based byte offset in from which to begin copying bytes to the stream. - The maximum number of bytes to write. - The token to monitor for cancellation requests. The default value is . - A task that represents the asynchronous write operation. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The stream does not support writing. - The stream has been disposed. - The stream is currently in use by a previous write operation. - - - Writes a byte to the current position in the stream and advances the position within the stream by one byte. - The byte to write to the stream. - An I/O error occurs. - The stream does not support writing, or the stream is already closed. - Methods were called after the stream was closed. - - - Initializes a new instance of the class for the specified stream. - The stream to be read. - - does not support reading. - - is . - - - Initializes a new instance of the class for the specified stream, with the specified byte order mark detection option. - The stream to be read. - Indicates whether to look for byte order marks at the beginning of the file. - - does not support reading. - - is . - - - Initializes a new instance of the class for the specified stream, with the specified character encoding. - The stream to be read. - The character encoding to use. - - does not support reading. - - or is . - - - Initializes a new instance of the class for the specified stream, with the specified character encoding and byte order mark detection option. - The stream to be read. - The character encoding to use. - Indicates whether to look for byte order marks at the beginning of the file. - - does not support reading. - - or is . - - - Initializes a new instance of the class for the specified stream, with the specified character encoding, byte order mark detection option, and buffer size. - The stream to be read. - The character encoding to use. - Indicates whether to look for byte order marks at the beginning of the file. - The minimum buffer size. - The stream does not support reading. - - or is . - - is less than or equal to zero. - - - Initializes a new instance of the class for the specified stream based on the specified character encoding, byte order mark detection option, and buffer size, and optionally leaves the stream open. - The stream to read. - The character encoding to use. - - to look for byte order marks at the beginning of the file; otherwise, . - The minimum buffer size. - - to leave the stream open after the object is disposed; otherwise, . - - - Initializes a new instance of the class for the specified file name. - The complete file path to be read. - - is an empty string (""). - - is . - The file cannot be found. - The specified path is invalid, such as being on an unmapped drive. - - includes an incorrect or invalid syntax for file name, directory name, or volume label. - - - Initializes a new instance of the class for the specified file name, with the specified byte order mark detection option. - The complete file path to be read. - Indicates whether to look for byte order marks at the beginning of the file. - - is an empty string (""). - - is . - The file cannot be found. - The specified path is invalid, such as being on an unmapped drive. - - includes an incorrect or invalid syntax for file name, directory name, or volume label. - - - Initializes a new instance of the class for the specified file name, with the specified character encoding. - The complete file path to be read. - The character encoding to use. - - is an empty string (""). - - or is . - The file cannot be found. - The specified path is invalid, such as being on an unmapped drive. - - includes an incorrect or invalid syntax for file name, directory name, or volume label. - - - Initializes a new instance of the class for the specified file name, with the specified character encoding and byte order mark detection option. - The complete file path to be read. - The character encoding to use. - Indicates whether to look for byte order marks at the beginning of the file. - - is an empty string (""). - - or is . - The file cannot be found. - The specified path is invalid, such as being on an unmapped drive. - - includes an incorrect or invalid syntax for file name, directory name, or volume label. - - - Initializes a new instance of the class for the specified file name, with the specified character encoding, byte order mark detection option, and buffer size. - The complete file path to be read. - The character encoding to use. - Indicates whether to look for byte order marks at the beginning of the file. - The minimum buffer size, in number of 16-bit characters. - - is an empty string (""). - - or is . - The file cannot be found. - The specified path is invalid, such as being on an unmapped drive. - - includes an incorrect or invalid syntax for file name, directory name, or volume label. - - is less than or equal to zero. - - - Closes the object and the underlying stream, and releases any system resources associated with the reader. - - - Clears the internal buffer. - - - Closes the underlying stream, releases the unmanaged resources used by the , and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Returns the next available character but does not consume it. - An integer representing the next character to be read, or -1 if there are no characters to be read or if the stream does not support seeking. - An I/O error occurs. - - - Reads the next character from the input stream and advances the character position by one character. - The next character from the input stream represented as an object, or -1 if no more characters are available. - An I/O error occurs. - - - Reads a specified maximum of characters from the current stream into a buffer, beginning at the specified index. - When this method returns, contains the specified character array with the values between and () replaced by the characters read from the current source. - The index of at which to begin writing. - The maximum number of characters to read. - The number of characters that have been read, or 0 if at the end of the stream and no data was read. The number will be less than or equal to the parameter, depending on whether the data is available within the stream. - The buffer length minus is less than . - - is . - - or is negative. - An I/O error occurs, such as the stream is closed. - - - Reads a specified maximum number of characters from the current stream asynchronously and writes the data to a buffer, beginning at the specified index. - When this method returns, contains the specified character array with the values between and ( + - 1) replaced by the characters read from the current source. - The position in at which to begin writing. - The maximum number of characters to read. If the end of the stream is reached before the specified number of characters is written into the buffer, the current method returns. - A task that represents the asynchronous read operation. The value of the parameter contains the total number of characters read into the buffer. The result value can be less than the number of characters requested if the number of characters currently available is less than the requested number, or it can be 0 (zero) if the end of the stream has been reached. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The stream has been disposed. - The reader is currently in use by a previous read operation. - - - Reads a specified maximum number of characters from the current stream and writes the data to a buffer, beginning at the specified index. - When this method returns, contains the specified character array with the values between and () replaced by the characters read from the current source. - The position in at which to begin writing. - The maximum number of characters to read. - The number of characters that have been read. The number will be less than or equal to , depending on whether all input characters have been read. - - is . - The buffer length minus is less than . - - or is negative. - The is closed. - An I/O error occurred. - - - Reads a specified maximum number of characters from the current stream asynchronously and writes the data to a buffer, beginning at the specified index. - When this method returns, contains the specified character array with the values between and ( + - 1) replaced by the characters read from the current source. - The position in at which to begin writing. - The maximum number of characters to read. If the end of the stream is reached before the specified number of characters is written into the buffer, the method returns. - A task that represents the asynchronous read operation. The value of the parameter contains the total number of characters read into the buffer. The result value can be less than the number of characters requested if the number of characters currently available is less than the requested number, or it can be 0 (zero) if the end of the stream has been reached. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The stream has been disposed. - The reader is currently in use by a previous read operation. - - - Reads a line of characters from the current stream and returns the data as a string. - The next line from the input stream, or if the end of the input stream is reached. - There is insufficient memory to allocate a buffer for the returned string. - An I/O error occurs. - - - Reads a line of characters asynchronously from the current stream and returns the data as a string. - A task that represents the asynchronous read operation. The value of the parameter contains the next line from the stream, or is if all the characters have been read. - The number of characters in the next line is larger than . - The stream has been disposed. - The reader is currently in use by a previous read operation. - - - Reads all characters from the current position to the end of the stream. - The rest of the stream as a string, from the current position to the end. If the current position is at the end of the stream, returns an empty string (""). - There is insufficient memory to allocate a buffer for the returned string. - An I/O error occurs. - - - Reads all characters from the current position to the end of the stream asynchronously and returns them as one string. - A task that represents the asynchronous read operation. The value of the parameter contains a string with the characters from the current position to the end of the stream. - The number of characters is larger than . - The stream has been disposed. - The reader is currently in use by a previous read operation. - - - Initializes a new instance of the class for the specified stream by using UTF-8 encoding and the default buffer size. - The stream to write to. - - is not writable. - - is . - - - Initializes a new instance of the class for the specified stream by using the specified encoding and the default buffer size. - The stream to write to. - The character encoding to use. - - or is . - - is not writable. - - - Initializes a new instance of the class for the specified stream by using the specified encoding and buffer size. - The stream to write to. - The character encoding to use. - The buffer size, in bytes. - - or is . - - is negative. - - is not writable. - - - Initializes a new instance of the class for the specified stream by using the specified encoding and buffer size, and optionally leaves the stream open. - The stream to write to. - The character encoding to use. - The buffer size, in bytes. - - to leave the stream open after the object is disposed; otherwise, . - - or is . - - is negative. - - is not writable. - - - Initializes a new instance of the class for the specified file by using the default encoding and buffer size. - The complete file path to write to. can be a file name. - Access is denied. - - is an empty string (""). -or- - contains the name of a system device (com1, com2, and so on). - - is . - The specified path is invalid (for example, it is on an unmapped drive). - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must not exceed 248 characters, and file names must not exceed 260 characters. - - includes an incorrect or invalid syntax for file name, directory name, or volume label syntax. - The caller does not have the required permission. - - - Initializes a new instance of the class for the specified file by using the default encoding and buffer size. If the file exists, it can be either overwritten or appended to. If the file does not exist, this constructor creates a new file. - The complete file path to write to. - - to append data to the file; to overwrite the file. If the specified file does not exist, this parameter has no effect, and the constructor creates a new file. - Access is denied. - - is empty. -or- - contains the name of a system device (com1, com2, and so on). - - is . - The specified path is invalid (for example, it is on an unmapped drive). - - includes an incorrect or invalid syntax for file name, directory name, or volume label syntax. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must not exceed 248 characters, and file names must not exceed 260 characters. - The caller does not have the required permission. - - - Initializes a new instance of the class for the specified file by using the specified encoding and default buffer size. If the file exists, it can be either overwritten or appended to. If the file does not exist, this constructor creates a new file. - The complete file path to write to. - - to append data to the file; to overwrite the file. If the specified file does not exist, this parameter has no effect, and the constructor creates a new file. - The character encoding to use. - Access is denied. - - is empty. -or- - contains the name of a system device (com1, com2, and so on). - - is . - The specified path is invalid (for example, it is on an unmapped drive). - - includes an incorrect or invalid syntax for file name, directory name, or volume label syntax. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must not exceed 248 characters, and file names must not exceed 260 characters. - The caller does not have the required permission. - - - Initializes a new instance of the class for the specified file on the specified path, using the specified encoding and buffer size. If the file exists, it can be either overwritten or appended to. If the file does not exist, this constructor creates a new file. - The complete file path to write to. - - to append data to the file; to overwrite the file. If the specified file does not exist, this parameter has no effect, and the constructor creates a new file. - The character encoding to use. - The buffer size, in bytes. - - is an empty string (""). -or- - contains the name of a system device (com1, com2, and so on). - - or is . - - is negative. - - includes an incorrect or invalid syntax for file name, directory name, or volume label syntax. - The caller does not have the required permission. - Access is denied. - The specified path is invalid (for example, it is on an unmapped drive). - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must not exceed 248 characters, and file names must not exceed 260 characters. - - - Closes the current object and the underlying stream. - The current encoding does not support displaying half of a Unicode surrogate pair. - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - The current encoding does not support displaying half of a Unicode surrogate pair. - - - Clears all buffers for the current writer and causes any buffered data to be written to the underlying stream. - The current writer is closed. - An I/O error has occurred. - The current encoding does not support displaying half of a Unicode surrogate pair. - - - Clears all buffers for this stream asynchronously and causes any buffered data to be written to the underlying device. - A task that represents the asynchronous flush operation. - The stream has been disposed. - - - Writes a character to the stream. - The character to write to the stream. - An I/O error occurs. - - is true or the buffer is full, and current writer is closed. - - is true or the buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the is at the end the stream. - - - Writes a character array to the stream. - A character array containing the data to write. If is , nothing is written. - An I/O error occurs. - - is true or the buffer is full, and current writer is closed. - - is true or the buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the is at the end the stream. - - - Writes a subarray of characters to the stream. - A character array that contains the data to write. - The character position in the buffer at which to start reading data. - The maximum number of characters to write. - - is . - The buffer length minus is less than . - - or is negative. - An I/O error occurs. - - is true or the buffer is full, and current writer is closed. - - is true or the buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the is at the end the stream. - - - Writes a string to the stream. - The string to write to the stream. If is null, nothing is written. - - is true or the buffer is full, and current writer is closed. - - is true or the buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the is at the end the stream. - An I/O error occurs. - - - Writes a character to the stream asynchronously. - The character to write to the stream. - A task that represents the asynchronous write operation. - The stream writer is disposed. - The stream writer is currently in use by a previous write operation. - - - Writes a subarray of characters to the stream asynchronously. - A character array that contains the data to write. - The character position in the buffer at which to begin reading data. - The maximum number of characters to write. - A task that represents the asynchronous write operation. - - is . - The plus is greater than the buffer length. - - or is negative. - The stream writer is disposed. - The stream writer is currently in use by a previous write operation. - - - Writes a string to the stream asynchronously. - The string to write to the stream. If is , nothing is written. - A task that represents the asynchronous write operation. - The stream writer is disposed. - The stream writer is currently in use by a previous write operation. - - - Writes a line terminator asynchronously to the stream. - A task that represents the asynchronous write operation. - The stream writer is disposed. - The stream writer is currently in use by a previous write operation. - - - Writes a character followed by a line terminator asynchronously to the stream. - The character to write to the stream. - A task that represents the asynchronous write operation. - The stream writer is disposed. - The stream writer is currently in use by a previous write operation. - - - Writes a subarray of characters followed by a line terminator asynchronously to the stream. - The character array to write data from. - The character position in the buffer at which to start reading data. - The maximum number of characters to write. - A task that represents the asynchronous write operation. - - is . - The plus is greater than the buffer length. - - or is negative. - The stream writer is disposed. - The stream writer is currently in use by a previous write operation. - - - Writes a string followed by a line terminator asynchronously to the stream. - The string to write. If the value is , only a line terminator is written. - A task that represents the asynchronous write operation. - The stream writer is disposed. - The stream writer is currently in use by a previous write operation. - - - Initializes a new instance of the class that reads from the specified string. - The string to which the should be initialized. - The parameter is . - - - Closes the . - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Returns the next available character but does not consume it. - An integer representing the next character to be read, or -1 if no more characters are available or the stream does not support seeking. - The current reader is closed. - - - Reads the next character from the input string and advances the character position by one character. - The next character from the underlying string, or -1 if no more characters are available. - The current reader is closed. - - - Reads a block of characters from the input string and advances the character position by . - When this method returns, contains the specified character array with the values between and ( + - 1) replaced by the characters read from the current source. - The starting index in the buffer. - The number of characters to read. - The total number of characters read into the buffer. This can be less than the number of characters requested if that many characters are not currently available, or zero if the end of the underlying string has been reached. - - is . - The buffer length minus is less than . - - or is negative. - The current reader is closed. - - - Reads a specified maximum number of characters from the current string asynchronously and writes the data to a buffer, beginning at the specified index. - When this method returns, contains the specified character array with the values between and ( + - 1) replaced by the characters read from the current source. - The position in at which to begin writing. - The maximum number of characters to read. If the end of the string is reached before the specified number of characters is written into the buffer, the method returns. - A task that represents the asynchronous read operation. The value of the parameter contains the total number of bytes read into the buffer. The result value can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the string has been reached. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The string reader has been disposed. - The reader is currently in use by a previous read operation. - - - Reads a specified maximum number of characters from the current string asynchronously and writes the data to a buffer, beginning at the specified index. - When this method returns, contains the specified character array with the values between and ( + - 1) replaced by the characters read from the current source. - The position in at which to begin writing. - The maximum number of characters to read. If the end of the string is reached before the specified number of characters is written into the buffer, the method returns. - A task that represents the asynchronous read operation. The value of the parameter contains the total number of bytes read into the buffer. The result value can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the string has been reached. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The string reader has been disposed. - The reader is currently in use by a previous read operation. - - - Reads a line of characters from the current string and returns the data as a string. - The next line from the current string, or if the end of the string is reached. - The current reader is closed. - There is insufficient memory to allocate a buffer for the returned string. - - - Reads a line of characters asynchronously from the current string and returns the data as a string. - A task that represents the asynchronous read operation. The value of the parameter contains the next line from the string reader, or is if all the characters have been read. - The number of characters in the next line is larger than . - The string reader has been disposed. - The reader is currently in use by a previous read operation. - - - Reads all characters from the current position to the end of the string and returns them as a single string. - The content from the current position to the end of the underlying string. - There is insufficient memory to allocate a buffer for the returned string. - The current reader is closed. - - - Reads all characters from the current position to the end of the string asynchronously and returns them as a single string. - A task that represents the asynchronous read operation. The value of the parameter contains a string with the characters from the current position to the end of the string. - The number of characters is larger than . - The string reader has been disposed. - The reader is currently in use by a previous read operation. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified format control. - An object that controls formatting. - - - Initializes a new instance of the class that writes to the specified . - The object to write to. - - is . - - - Initializes a new instance of the class that writes to the specified and has the specified format provider. - The object to write to. - An object that controls formatting. - - is . - - - Closes the current and the underlying stream. - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Asynchronously clears all buffers for the current writer and causes any buffered data to be written to the underlying device. - A task that represents the asynchronous flush operation. - - - Returns the underlying . - The underlying . - - - Returns a string containing the characters written to the current so far. - The string containing the characters written to the current . - - - Writes a character to the string. - The character to write. - The writer is closed. - - - Writes a subarray of characters to the string. - The character array to write data from. - The position in the buffer at which to start reading data. - The maximum number of characters to write. - - is . - - or is negative. - ( + )> . . - The writer is closed. - - - Writes a string to the current string. - The string to write. - The writer is closed. - - - Writes a character to the string asynchronously. - The character to write to the string. - A task that represents the asynchronous write operation. - The string writer is disposed. - The string writer is currently in use by a previous write operation. - - - Writes a subarray of characters to the string asynchronously. - The character array to write data from. - The position in the buffer at which to start reading data. - The maximum number of characters to write. - A task that represents the asynchronous write operation. - - is . - The plus is greater than the buffer length. - - or is negative. - The string writer is disposed. - The string writer is currently in use by a previous write operation. - - - Writes a string to the current string asynchronously. - The string to write. If is , nothing is written to the text stream. - A task that represents the asynchronous write operation. - The string writer is disposed. - The string writer is currently in use by a previous write operation. - - - Writes a character followed by a line terminator asynchronously to the string. - The character to write to the string. - A task that represents the asynchronous write operation. - The string writer is disposed. - The string writer is currently in use by a previous write operation. - - - Writes a subarray of characters followed by a line terminator asynchronously to the string. - The character array to write data from. - The position in the buffer at which to start reading data. - The maximum number of characters to write. - A task that represents the asynchronous write operation. - - is . - The plus is greater than the buffer length. - - or is negative. - The string writer is disposed. - The string writer is currently in use by a previous write operation. - - - Writes a string followed by a line terminator asynchronously to the current string. - The string to write. If the value is , only a line terminator is written. - A task that represents the asynchronous write operation. - The string writer is disposed. - The string writer is currently in use by a previous write operation. - - - Initializes a new instance of the class. - - - Closes the and releases any system resources associated with the . - - - Releases all resources used by the object. - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Reads the next character without changing the state of the reader or the character source. Returns the next available character without actually reading it from the reader. - An integer representing the next character to be read, or -1 if no more characters are available or the reader does not support seeking. - The is closed. - An I/O error occurs. - - - Reads the next character from the text reader and advances the character position by one character. - The next character from the text reader, or -1 if no more characters are available. The default implementation returns -1. - The is closed. - An I/O error occurs. - - - Reads a specified maximum number of characters from the current reader and writes the data to a buffer, beginning at the specified index. - When this method returns, contains the specified character array with the values between and ( + - 1) replaced by the characters read from the current source. - The position in at which to begin writing. - The maximum number of characters to read. If the end of the reader is reached before the specified number of characters is read into the buffer, the method returns. - The number of characters that have been read. The number will be less than or equal to , depending on whether the data is available within the reader. This method returns 0 (zero) if it is called when no more characters are left to read. - - is . - The buffer length minus is less than . - - or is negative. - The is closed. - An I/O error occurs. - - - Reads a specified maximum number of characters from the current text reader asynchronously and writes the data to a buffer, beginning at the specified index. - When this method returns, contains the specified character array with the values between and ( + - 1) replaced by the characters read from the current source. - The position in at which to begin writing. - The maximum number of characters to read. If the end of the text is reached before the specified number of characters is read into the buffer, the current method returns. - A task that represents the asynchronous read operation. The value of the parameter contains the total number of bytes read into the buffer. The result value can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the text has been reached. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The text reader has been disposed. - The reader is currently in use by a previous read operation. - - - Reads a specified maximum number of characters from the current text reader and writes the data to a buffer, beginning at the specified index. - When this method returns, this parameter contains the specified character array with the values between and ( + -1) replaced by the characters read from the current source. - The position in at which to begin writing. - The maximum number of characters to read. - The number of characters that have been read. The number will be less than or equal to , depending on whether all input characters have been read. - - is . - The buffer length minus is less than . - - or is negative. - The is closed. - An I/O error occurs. - - - Reads a specified maximum number of characters from the current text reader asynchronously and writes the data to a buffer, beginning at the specified index. - When this method returns, contains the specified character array with the values between and ( + - 1) replaced by the characters read from the current source. - The position in at which to begin writing. - The maximum number of characters to read. If the end of the text is reached before the specified number of characters is read into the buffer, the current method returns. - A task that represents the asynchronous read operation. The value of the parameter contains the total number of bytes read into the buffer. The result value can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the text has been reached. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The text reader has been disposed. - The reader is currently in use by a previous read operation. - - - Reads a line of characters from the text reader and returns the data as a string. - The next line from the reader, or if all characters have been read. - An I/O error occurs. - There is insufficient memory to allocate a buffer for the returned string. - The is closed. - The number of characters in the next line is larger than - - - Reads a line of characters asynchronously and returns the data as a string. - A task that represents the asynchronous read operation. The value of the parameter contains the next line from the text reader, or is if all of the characters have been read. - The number of characters in the next line is larger than . - The text reader has been disposed. - The reader is currently in use by a previous read operation. - - - Reads all characters from the current position to the end of the text reader and returns them as one string. - A string that contains all characters from the current position to the end of the text reader. - An I/O error occurs. - The is closed. - There is insufficient memory to allocate a buffer for the returned string. - The number of characters in the next line is larger than - - - Reads all characters from the current position to the end of the text reader asynchronously and returns them as one string. - A task that represents the asynchronous read operation. The value of the parameter contains a string with the characters from the current position to the end of the text reader. - The number of characters is larger than . - The text reader has been disposed. - The reader is currently in use by a previous read operation. - - - Creates a thread-safe wrapper around the specified . - The to synchronize. - A thread-safe . - - is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified format provider. - An object that controls formatting. - - - Closes the current writer and releases any system resources associated with the writer. - - - Releases all resources used by the object. - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. - - - Asynchronously clears all buffers for the current writer and causes any buffered data to be written to the underlying device. - A task that represents the asynchronous flush operation. - The text writer is disposed. - The writer is currently in use by a previous write operation. - - - Creates a thread-safe wrapper around the specified . - The to synchronize. - A thread-safe wrapper. - - is . - - - Writes the text representation of a value to the text string or stream. - The value to write. - The is closed. - An I/O error occurs. - - - Writes a character to the text string or stream. - The character to write to the text stream. - The is closed. - An I/O error occurs. - - - Writes a character array to the text string or stream. - The character array to write to the text stream. - The is closed. - An I/O error occurs. - - - Writes a subarray of characters to the text string or stream. - The character array to write data from. - The character position in the buffer at which to start retrieving data. - The number of characters to write. - The buffer length minus is less than . - The parameter is . - - or is negative. - The is closed. - An I/O error occurs. - - - Writes the text representation of a decimal value to the text string or stream. - The decimal value to write. - The is closed. - An I/O error occurs. - - - Writes the text representation of an 8-byte floating-point value to the text string or stream. - The 8-byte floating-point value to write. - The is closed. - An I/O error occurs. - - - Writes the text representation of a 4-byte signed integer to the text string or stream. - The 4-byte signed integer to write. - The is closed. - An I/O error occurs. - - - Writes the text representation of an 8-byte signed integer to the text string or stream. - The 8-byte signed integer to write. - The is closed. - An I/O error occurs. - - - Writes the text representation of an object to the text string or stream by calling the method on that object. - The object to write. - The is closed. - An I/O error occurs. - - - Writes the text representation of a 4-byte floating-point value to the text string or stream. - The 4-byte floating-point value to write. - The is closed. - An I/O error occurs. - - - Writes a string to the text string or stream. - The string to write. - The is closed. - An I/O error occurs. - - - Writes a formatted string to the text string or stream, using the same semantics as the method. - A composite format string (see Remarks). - The object to format and write. - - is . - The is closed. - An I/O error occurs. - - is not a valid composite format string.-or- The index of a format item is less than 0 (zero), or greater than or equal to the number of objects to be formatted (which, for this method overload, is one). - - - Writes a formatted string to the text string or stream, using the same semantics as the method. - A composite format string (see Remarks). - The first object to format and write. - The second object to format and write. - - is . - The is closed. - An I/O error occurs. - - is not a valid composite format string.-or- The index of a format item is less than 0 (zero) or greater than or equal to the number of objects to be formatted (which, for this method overload, is two). - - - Writes a formatted string to the text string or stream, using the same semantics as the method. - A composite format string (see Remarks). - The first object to format and write. - The second object to format and write. - The third object to format and write. - - is . - The is closed. - An I/O error occurs. - - is not a valid composite format string.-or- The index of a format item is less than 0 (zero), or greater than or equal to the number of objects to be formatted (which, for this method overload, is three). - - - Writes a formatted string to the text string or stream, using the same semantics as the method. - A composite format string (see Remarks). - An object array that contains zero or more objects to format and write. - - or is . - The is closed. - An I/O error occurs. - - is not a valid composite format string.-or- The index of a format item is less than 0 (zero), or greater than or equal to the length of the array. - - - Writes the text representation of a 4-byte unsigned integer to the text string or stream. - The 4-byte unsigned integer to write. - The is closed. - An I/O error occurs. - - - Writes the text representation of an 8-byte unsigned integer to the text string or stream. - The 8-byte unsigned integer to write. - The is closed. - An I/O error occurs. - - - Writes a character to the text string or stream asynchronously. - The character to write to the text stream. - A task that represents the asynchronous write operation. - The text writer is disposed. - The text writer is currently in use by a previous write operation. - - - Writes a character array to the text string or stream asynchronously. - The character array to write to the text stream. If is , nothing is written. - A task that represents the asynchronous write operation. - The text writer is disposed. - The text writer is currently in use by a previous write operation. - - - Writes a subarray of characters to the text string or stream asynchronously. - The character array to write data from. - The character position in the buffer at which to start retrieving data. - The number of characters to write. - A task that represents the asynchronous write operation. - - is . - The plus is greater than the buffer length. - - or is negative. - The text writer is disposed. - The text writer is currently in use by a previous write operation. - - - Writes a string to the text string or stream asynchronously. - The string to write. If is , nothing is written to the text stream. - A task that represents the asynchronous write operation. - The text writer is disposed. - The text writer is currently in use by a previous write operation. - - - Writes a line terminator to the text string or stream. - The is closed. - An I/O error occurs. - - - Writes the text representation of a value followed by a line terminator to the text string or stream. - The value to write. - The is closed. - An I/O error occurs. - - - Writes a character followed by a line terminator to the text string or stream. - The character to write to the text stream. - The is closed. - An I/O error occurs. - - - Writes an array of characters followed by a line terminator to the text string or stream. - The character array from which data is read. - The is closed. - An I/O error occurs. - - - Writes a subarray of characters followed by a line terminator to the text string or stream. - The character array from which data is read. - The character position in at which to start reading data. - The maximum number of characters to write. - The buffer length minus is less than . - The parameter is . - - or is negative. - The is closed. - An I/O error occurs. - - - Writes the text representation of a decimal value followed by a line terminator to the text string or stream. - The decimal value to write. - The is closed. - An I/O error occurs. - - - Writes the text representation of a 8-byte floating-point value followed by a line terminator to the text string or stream. - The 8-byte floating-point value to write. - The is closed. - An I/O error occurs. - - - Writes the text representation of a 4-byte signed integer followed by a line terminator to the text string or stream. - The 4-byte signed integer to write. - The is closed. - An I/O error occurs. - - - Writes the text representation of an 8-byte signed integer followed by a line terminator to the text string or stream. - The 8-byte signed integer to write. - The is closed. - An I/O error occurs. - - - Writes the text representation of an object by calling the method on that object, followed by a line terminator to the text string or stream. - The object to write. If is , only the line terminator is written. - The is closed. - An I/O error occurs. - - - Writes the text representation of a 4-byte floating-point value followed by a line terminator to the text string or stream. - The 4-byte floating-point value to write. - The is closed. - An I/O error occurs. - - - Writes a string followed by a line terminator to the text string or stream. - The string to write. If is , only the line terminator is written. - The is closed. - An I/O error occurs. - - - Writes a formatted string and a new line to the text string or stream, using the same semantics as the method. - A composite format string (see Remarks). - The object to format and write. - - is . - The is closed. - An I/O error occurs. - - is not a valid composite format string.-or- The index of a format item is less than 0 (zero), or greater than or equal to the number of objects to be formatted (which, for this method overload, is one). - - - Writes a formatted string and a new line to the text string or stream, using the same semantics as the method. - A composite format string (see Remarks). - The first object to format and write. - The second object to format and write. - - is . - The is closed. - An I/O error occurs. - - is not a valid composite format string.-or- The index of a format item is less than 0 (zero), or greater than or equal to the number of objects to be formatted (which, for this method overload, is two). - - - Writes out a formatted string and a new line, using the same semantics as . - A composite format string (see Remarks). - The first object to format and write. - The second object to format and write. - The third object to format and write. - - is . - The is closed. - An I/O error occurs. - - is not a valid composite format string.-or- The index of a format item is less than 0 (zero), or greater than or equal to the number of objects to be formatted (which, for this method overload, is three). - - - Writes out a formatted string and a new line, using the same semantics as . - A composite format string (see Remarks). - An object array that contains zero or more objects to format and write. - A string or object is passed in as . - The is closed. - An I/O error occurs. - - is not a valid composite format string.-or- The index of a format item is less than 0 (zero), or greater than or equal to the length of the array. - - - Writes the text representation of a 4-byte unsigned integer followed by a line terminator to the text string or stream. - The 4-byte unsigned integer to write. - The is closed. - An I/O error occurs. - - - Writes the text representation of an 8-byte unsigned integer followed by a line terminator to the text string or stream. - The 8-byte unsigned integer to write. - The is closed. - An I/O error occurs. - - - Writes a line terminator asynchronously to the text string or stream. - A task that represents the asynchronous write operation. - The text writer is disposed. - The text writer is currently in use by a previous write operation. - - - Writes a character followed by a line terminator asynchronously to the text string or stream. - The character to write to the text stream. - A task that represents the asynchronous write operation. - The text writer is disposed. - The text writer is currently in use by a previous write operation. - - - Writes an array of characters followed by a line terminator asynchronously to the text string or stream. - The character array to write to the text stream. If the character array is , only the line terminator is written. - A task that represents the asynchronous write operation. - The text writer is disposed. - The text writer is currently in use by a previous write operation. - - - Writes a subarray of characters followed by a line terminator asynchronously to the text string or stream. - The character array to write data from. - The character position in the buffer at which to start retrieving data. - The number of characters to write. - A task that represents the asynchronous write operation. - - is . - The plus is greater than the buffer length. - - or is negative. - The text writer is disposed. - The text writer is currently in use by a previous write operation. - - - Writes a string followed by a line terminator asynchronously to the text string or stream. - The string to write. If the value is , only a line terminator is written. - A task that represents the asynchronous write operation. - The text writer is disposed. - The text writer is currently in use by a previous write operation. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a specified buffer, offset, and capacity. - The buffer to contain the accessor. - The byte at which to start the accessor. - The size, in bytes, of memory to allocate. - - plus is greater than . - - is . - - or is less than zero. - - plus would wrap around the high end of the address space. - - - Initializes a new instance of the class with a specified buffer, offset, capacity, and access right. - The buffer to contain the accessor. - The byte at which to start the accessor. - The size, in bytes, of memory to allocate. - The type of access allowed to the memory. The default is . - - plus is greater than . - - is . - - or is less than zero.-or- - is not a valid enumeration value. - - plus would wrap around the high end of the address space. - - - Releases all resources used by the . - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Sets the initial values for the accessor. - The buffer to contain the accessor. - The byte at which to start the accessor. - The size, in bytes, of memory to allocate. - The type of access allowed to the memory. The default is . - - plus is greater than . - - is . - - or is less than zero.-or- - is not a valid enumeration value. - - plus would wrap around the high end of the address space. - - - Reads a structure of type from the accessor into a provided reference. - The position in the accessor at which to begin reading. - The structure to contain the read data. - The type of structure. - There are not enough bytes after to read in a structure of type .-or- - is a value type that contains one or more reference types. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Reads structures of type from the accessor into an array of type . - The number of bytes in the accessor at which to begin reading. - The array to contain the structures read from the accessor. - The index in in which to place the first copied structure. - The number of structures of type to read from the accessor. - The type of structure. - The number of structures read into . This value can be less than if there are fewer structures available, or zero if the end of the accessor is reached. - - is not large enough to contain of structures (starting from ). - - is . - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Reads a Boolean value from the accessor. - The number of bytes into the accessor at which to begin reading. - - or . - There are not enough bytes after to read a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Reads a byte value from the accessor. - The number of bytes into the accessor at which to begin reading. - The value that was read. - There are not enough bytes after to read a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Reads a character from the accessor. - The number of bytes into the accessor at which to begin reading. - The value that was read. - There are not enough bytes after to read a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Reads a decimal value from the accessor. - The number of bytes into the accessor at which to begin reading. - The value that was read. - There are not enough bytes after to read a value.-or-The decimal to read is invalid. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Reads a double-precision floating-point value from the accessor. - The number of bytes into the accessor at which to begin reading. - The value that was read. - There are not enough bytes after to read a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Reads a 16-bit integer from the accessor. - The number of bytes into the accessor at which to begin reading. - The value that was read. - There are not enough bytes after to read a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Reads a 32-bit integer from the accessor. - The number of bytes into the accessor at which to begin reading. - The value that was read. - There are not enough bytes after to read a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Reads a 64-bit integer from the accessor. - The number of bytes into the accessor at which to begin reading. - The value that was read. - There are not enough bytes after to read a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Reads an 8-bit signed integer from the accessor. - The number of bytes into the accessor at which to begin reading. - The value that was read. - There are not enough bytes after to read a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Reads a single-precision floating-point value from the accessor. - The number of bytes into the accessor at which to begin reading. - The value that was read. - There are not enough bytes after to read a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Reads an unsigned 16-bit integer from the accessor. - The number of bytes into the accessor at which to begin reading. - The value that was read. - There are not enough bytes after to read a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Reads an unsigned 32-bit integer from the accessor. - The number of bytes into the accessor at which to begin reading. - The value that was read. - There are not enough bytes after to read a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Reads an unsigned 64-bit integer from the accessor. - The number of bytes into the accessor at which to begin reading. - The value that was read. - There are not enough bytes after to read a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support reading. - The accessor has been disposed. - - - Writes a Boolean value into the accessor. - The number of bytes into the accessor at which to begin writing. - The value to write. - There are not enough bytes after to write a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support writing. - The accessor has been disposed. - - - Writes a byte value into the accessor. - The number of bytes into the accessor at which to begin writing. - The value to write. - There are not enough bytes after to write a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support writing. - The accessor has been disposed. - - - Writes a character into the accessor. - The number of bytes into the accessor at which to begin writing. - The value to write. - There are not enough bytes after to write a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support writing. - The accessor has been disposed. - - - Writes a decimal value into the accessor. - The number of bytes into the accessor at which to begin writing. - The value to write. - There are not enough bytes after to write a value.-or-The decimal is invalid. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support writing. - The accessor has been disposed. - - - Writes a value into the accessor. - The number of bytes into the accessor at which to begin writing. - The value to write. - There are not enough bytes after to write a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support writing. - The accessor has been disposed. - - - Writes a 16-bit integer into the accessor. - The number of bytes into the accessor at which to begin writing. - The value to write. - There are not enough bytes after to write a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support writing. - The accessor has been disposed. - - - Writes a 32-bit integer into the accessor. - The number of bytes into the accessor at which to begin writing. - The value to write. - There are not enough bytes after to write a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support writing. - The accessor has been disposed. - - - Writes a 64-bit integer into the accessor. - The number of bytes into the accessor at which to begin writing. - The value to write. - There are not enough bytes after position to write a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support writing. - The accessor has been disposed. - - - Writes an 8-bit integer into the accessor. - The number of bytes into the accessor at which to begin writing. - The value to write. - There are not enough bytes after to write a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support writing. - The accessor has been disposed. - - - Writes a into the accessor. - The number of bytes into the accessor at which to begin writing. - The value to write. - There are not enough bytes after to write a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support writing. - The accessor has been disposed. - - - Writes an unsigned 16-bit integer into the accessor. - The number of bytes into the accessor at which to begin writing. - The value to write. - There are not enough bytes after to write a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support writing. - The accessor has been disposed. - - - Writes an unsigned 32-bit integer into the accessor. - The number of bytes into the accessor at which to begin writing. - The value to write. - There are not enough bytes after to write a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support writing. - The accessor has been disposed. - - - Writes an unsigned 64-bit integer into the accessor. - The number of bytes into the accessor at which to begin writing. - The value to write. - There are not enough bytes after to write a value. - - is less than zero or greater than the capacity of the accessor. - The accessor does not support writing. - The accessor has been disposed. - - - Writes a structure into the accessor. - The number of bytes into the accessor at which to begin writing. - The structure to write. - The type of structure. - There are not enough bytes in the accessor after to write a structure of type . - - is less than zero or greater than the capacity of the accessor. - The accessor does not support writing. - The accessor has been disposed. - - - Writes structures from an array of type into the accessor. - The number of bytes into the accessor at which to begin writing. - The array to write into the accessor. - The index in to start writing from. - The number of structures in to write. - The type of structure. - There are not enough bytes in the accessor after to write the number of structures specified by . - - is less than zero or greater than the capacity of the accessor.-or- - or is less than zero. - - is . - The accessor does not support writing. - The accessor has been disposed. - - - Initializes a new instance of the class. - The user does not have the required permission. - - - Initializes a new instance of the class using the specified location and memory length. - A pointer to an unmanaged memory location. - The length of the memory to use. - The user does not have the required permission. - The value is . - The value is less than zero.- or -The is large enough to cause an overflow. - - - Initializes a new instance of the class using the specified location, memory length, total amount of memory, and file access values. - A pointer to an unmanaged memory location. - The length of the memory to use. - The total amount of memory assigned to the stream. - One of the values. - The user does not have the required permission. - The value is . - The value is less than zero.- or - The value is less than zero.- or -The value is greater than the value. - - - Initializes a new instance of the class in a safe buffer with a specified offset and length. - The buffer to contain the unmanaged memory stream. - The byte position in the buffer at which to start the unmanaged memory stream. - The length of the unmanaged memory stream. - - - Initializes a new instance of the class in a safe buffer with a specified offset, length, and file access. - The buffer to contain the unmanaged memory stream. - The byte position in the buffer at which to start the unmanaged memory stream. - The length of the unmanaged memory stream. - The mode of file access to the unmanaged memory stream. - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Overrides the method so that no action is performed. - The stream is closed. - - - Overrides the method so that the operation is cancelled if specified, but no other action is performed.Available starting in .NET Framework 4.6 - The token to monitor for cancellation requests. The default value is . - A task that represents the asynchronous flush operation. - - - Initializes a new instance of the class by using a pointer to an unmanaged memory location. - A pointer to an unmanaged memory location. - The length of the memory to use. - The total amount of memory assigned to the stream. - One of the values. - The user does not have the required permission. - The value is . - The value is less than zero.- or - The value is less than zero.- or -The value is large enough to cause an overflow. - - - Initializes a new instance of the class in a safe buffer with a specified offset, length, and file access. - The buffer to contain the unmanaged memory stream. - The byte position in the buffer at which to start the unmanaged memory stream. - The length of the unmanaged memory stream. - The mode of file access to the unmanaged memory stream. - - - Reads the specified number of bytes into the specified array. - When this method returns, contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. This parameter is passed uninitialized. - The zero-based byte offset in at which to begin storing the data read from the current stream. - The maximum number of bytes to read from the current stream. - The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. - The stream is closed. - The underlying memory does not support reading.- or - The property is set to . - The parameter is set to . - The parameter is less than zero. - or - The parameter is less than zero. - The length of the buffer array minus the parameter is less than the parameter. - - - Asynchronously reads the specified number of bytes into the specified array.Available starting in .NET Framework 4.6 - The buffer to write the data into. - The byte offset in at which to begin writing data from the stream. - The maximum number of bytes to read. - The token to monitor for cancellation requests. The default value is . - A task that represents the asynchronous read operation. The value of the parameter contains the total number of bytes read into the buffer. The result value can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the stream has been reached. - - - Reads a byte from a stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream. - The unsigned byte cast to an object, or -1 if at the end of the stream. - The stream is closed. - The underlying memory does not support reading.- or -The current position is at the end of the stream. - - - Sets the current position of the current stream to the given value. - The point relative to to begin seeking from. - Specifies the beginning, the end, or the current position as a reference point for , using a value of type . - The new position in the stream. - An attempt was made to seek before the beginning of the stream. - The value is larger than the maximum size of the stream. - - is invalid. - The stream is closed. - - - Sets the length of a stream to a specified value. - The length of the stream. - An I/O error has occurred. - The stream is closed. - The underlying memory does not support writing.- or -An attempt is made to write to the stream and the property is . - The specified exceeds the capacity of the stream.- or -The specified is negative. - - - Writes a block of bytes to the current stream using data from a buffer. - The byte array from which to copy bytes to the current stream. - The offset in the buffer at which to begin copying bytes to the current stream. - The number of bytes to write to the current stream. - The stream is closed. - The underlying memory does not support writing. - or -An attempt is made to write to the stream and the property is .- or -The value is greater than the capacity of the stream.- or -The position is at the end of the stream capacity. - An I/O error occurs. - One of the specified parameters is less than zero. - The parameter minus the length of the parameter is less than the parameter. - The parameter is . - - - Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.Available starting in .NET Framework 4.6 - The buffer to write data from. - The zero-based byte offset in from which to begin copying bytes to the stream. - The maximum number of bytes to write. - The token to monitor for cancellation requests. The default value is . - A task that represents the asynchronous write operation. - - - Writes a byte to the current position in the file stream. - A byte value written to the stream. - The stream is closed. - The underlying memory does not support writing.- or -An attempt is made to write to the stream and the property is .- or - The current position is at the end of the capacity of the stream. - The supplied causes the stream exceed its maximum capacity. - - - Notifies the provider that an observer is to receive notifications. - The object that is to receive notifications. - A reference to an interface that allows observers to stop receiving notifications before the provider has finished sending them. - - - Notifies the observer that the provider has finished sending push-based notifications. - - - Notifies the observer that the provider has experienced an error condition. - An object that provides additional information about the error. - - - Provides the observer with new data. - The current notification information. - - - Reports a progress update. - The value of the updated progress. - - - Gets the service object of the specified type. - An object that specifies the type of service object to get. - A service object of type .-or- - if there is no service object of type . - - - Initializes a new instance of the class. When lazy initialization occurs, the default constructor of the target type is used. - - - Initializes a new instance of the class. When lazy initialization occurs, the default constructor of the target type and the specified initialization mode are used. - - to make this instance usable concurrently by multiple threads; to make the instance usable by only one thread at a time. - - - Initializes a new instance of the class. When lazy initialization occurs, the specified initialization function is used. - The delegate that is invoked to produce the lazily initialized value when it is needed. - - is . - - - Initializes a new instance of the class. When lazy initialization occurs, the specified initialization function and initialization mode are used. - The delegate that is invoked to produce the lazily initialized value when it is needed. - - to make this instance usable concurrently by multiple threads; to make this instance usable by only one thread at a time. - - is . - - - Initializes a new instance of the class that uses the specified initialization function and thread-safety mode. - The delegate that is invoked to produce the lazily initialized value when it is needed. - One of the enumeration values that specifies the thread safety mode. - - contains an invalid value. - - is . - - - Initializes a new instance of the class that uses the default constructor of and the specified thread-safety mode. - One of the enumeration values that specifies the thread safety mode. - - contains an invalid value. - - - Creates and returns a string representation of the property for this instance. - The result of calling the method on the property for this instance, if the value has been created (that is, if the property returns ). Otherwise, a string indicating that the value has not been created. - The property is . - - - Initializes a new instance of the class to the specified value. - A value equivalent to a constant. - - - Initializes a new instance of the class to the specified value. - A constant. - - - Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the object. - - - Initializes a new instance of the class. - - - Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. - The of the object that the new will reference. - Information required to generate a proxy. - This instance is not a valid remoting object. - The immediate caller does not have infrastructure permission. - - - Retrieves the current lifetime service object that controls the lifetime policy for this instance. - An object of type used to control the lifetime policy for this instance. - The immediate caller does not have infrastructure permission. - - - Obtains a lifetime service object to control the lifetime policy for this instance. - An object of type used to control the lifetime policy for this instance. This is the current lifetime service object for this instance if one exists; otherwise, a new lifetime service object initialized to the value of the property. - The immediate caller does not have infrastructure permission. - - - Creates a shallow copy of the current object. - - to delete the current object's identity, which will cause the object to be assigned a new identity when it is marshaled across a remoting boundary. A value of is usually appropriate. to copy the current object's identity to its clone, which will cause remoting client calls to be routed to the remote server object. - A shallow copy of the current object. - - - Returns the absolute value of a number. - A number that is greater than or equal to , but less than or equal to . - A decimal number, x, such that 0 ≤ x ≤. - - - Returns the absolute value of a double-precision floating-point number. - A number that is greater than or equal to , but less than or equal to . - A double-precision floating-point number, x, such that 0 ≤ x ≤. - - - Returns the absolute value of a 16-bit signed integer. - A number that is greater than , but less than or equal to . - A 16-bit signed integer, x, such that 0 ≤ x ≤. - - equals . - - - Returns the absolute value of a 32-bit signed integer. - A number that is greater than , but less than or equal to . - A 32-bit signed integer, x, such that 0 ≤ x ≤. - - equals . - - - Returns the absolute value of a 64-bit signed integer. - A number that is greater than , but less than or equal to . - A 64-bit signed integer, x, such that 0 ≤ x ≤. - - equals . - - - Returns the absolute value of an 8-bit signed integer. - A number that is greater than , but less than or equal to . - An 8-bit signed integer, x, such that 0 ≤ x ≤. - - equals . - - - Returns the absolute value of a single-precision floating-point number. - A number that is greater than or equal to , but less than or equal to . - A single-precision floating-point number, x, such that 0 ≤ x ≤. - - - Returns the angle whose cosine is the specified number. - A number representing a cosine, where must be greater than or equal to -1, but less than or equal to 1. - An angle, θ, measured in radians, such that 0 ≤θ≤π-or- - if < -1 or > 1 or equals . - - - Returns the angle whose sine is the specified number. - A number representing a sine, where must be greater than or equal to -1, but less than or equal to 1. - An angle, θ, measured in radians, such that -π/2 ≤θ≤π/2 -or- - if < -1 or > 1 or equals . - - - Returns the angle whose tangent is the specified number. - A number representing a tangent. - An angle, θ, measured in radians, such that -π/2 ≤θ≤π/2.-or- - if equals , -π/2 rounded to double precision (-1.5707963267949) if equals , or π/2 rounded to double precision (1.5707963267949) if equals . - - - Returns the angle whose tangent is the quotient of two specified numbers. - The y coordinate of a point. - The x coordinate of a point. - An angle, θ, measured in radians, such that -π≤θ≤π, and tan(θ) = / , where (, ) is a point in the Cartesian plane. Observe the following: For (, ) in quadrant 1, 0 < θ < π/2.For (, ) in quadrant 2, π/2 < θ≤π.For (, ) in quadrant 3, -π < θ < -π/2.For (, ) in quadrant 4, -π/2 < θ < 0. - For points on the boundaries of the quadrants, the return value is the following:If y is 0 and x is not negative, θ = 0.If y is 0 and x is negative, θ = π.If y is positive and x is 0, θ = π/2.If y is negative and x is 0, θ = -π/2. - If y is 0 and x is 0, θ = 0. If or is , or if and are either or , the method returns . - - - Produces the full product of two 32-bit numbers. - The first number to multiply. - The second number to multiply. - The number containing the product of the specified numbers. - - - Returns the smallest integral value that is greater than or equal to the specified decimal number. - A decimal number. - The smallest integral value that is greater than or equal to . Note that this method returns a instead of an integral type. - - - Returns the smallest integral value that is greater than or equal to the specified double-precision floating-point number. - A double-precision floating-point number. - The smallest integral value that is greater than or equal to . If is equal to , , or , that value is returned. Note that this method returns a instead of an integral type. - - - Returns the cosine of the specified angle. - An angle, measured in radians. - The cosine of . If is equal to , , or , this method returns . - - - Returns the hyperbolic cosine of the specified angle. - An angle, measured in radians. - The hyperbolic cosine of . If is equal to or , is returned. If is equal to , is returned. - - - Calculates the quotient of two 32-bit signed integers and also returns the remainder in an output parameter. - The dividend. - The divisor. - The remainder. - The quotient of the specified numbers. - - is zero. - - - Calculates the quotient of two 64-bit signed integers and also returns the remainder in an output parameter. - The dividend. - The divisor. - The remainder. - The quotient of the specified numbers. - - is zero. - - - Returns raised to the specified power. - A number specifying a power. - The number raised to the power . If equals or , that value is returned. If equals , 0 is returned. - - - Returns the largest integer less than or equal to the specified decimal number. - A decimal number. - The largest integer less than or equal to . Note that the method returns an integral value of type . - - - Returns the largest integer less than or equal to the specified double-precision floating-point number. - A double-precision floating-point number. - The largest integer less than or equal to . If is equal to , , or , that value is returned. - - - Returns the remainder resulting from the division of a specified number by another specified number. - A dividend. - A divisor. - A number equal to - ( Q), where Q is the quotient of / rounded to the nearest integer (if / falls halfway between two integers, the even integer is returned).If - ( Q) is zero, the value +0 is returned if is positive, or -0 if is negative.If = 0, is returned. - - - Returns the natural (base ) logarithm of a specified number. - The number whose logarithm is to be found. - One of the values in the following table. - parameterReturn value Positive The natural logarithm of ; that is, ln , or log eZero - - Negative - - Equal to - - Equal to - - - - - Returns the logarithm of a specified number in a specified base. - The number whose logarithm is to be found. - The base of the logarithm. - One of the values in the following table. (+Infinity denotes , -Infinity denotes , and NaN denotes .) - - - - Return value - - > 0(0 << 1) -or-(> 1)lognewBase(a) - - < 0(any value)NaN(any value) - - < 0NaN - != 1 - = 0NaN - != 1 - = +InfinityNaN - = NaN(any value)NaN(any value) - = NaNNaN(any value) - = 1NaN - = 00 << 1 +Infinity - = 0 - - > 1-Infinity - = +Infinity0 << 1-Infinity - = +Infinity - - > 1+Infinity - = 1 - = 00 - = 1 - = +Infinity0 - - - Returns the base 10 logarithm of a specified number. - A number whose logarithm is to be found. - One of the values in the following table. - parameter Return value Positive The base 10 log of ; that is, log 10. Zero - - Negative - - Equal to - - Equal to - - - - - Returns the larger of two 8-bit unsigned integers. - The first of two 8-bit unsigned integers to compare. - The second of two 8-bit unsigned integers to compare. - Parameter or , whichever is larger. - - - Returns the larger of two decimal numbers. - The first of two decimal numbers to compare. - The second of two decimal numbers to compare. - Parameter or , whichever is larger. - - - Returns the larger of two double-precision floating-point numbers. - The first of two double-precision floating-point numbers to compare. - The second of two double-precision floating-point numbers to compare. - Parameter or , whichever is larger. If , , or both and are equal to , is returned. - - - Returns the larger of two 16-bit signed integers. - The first of two 16-bit signed integers to compare. - The second of two 16-bit signed integers to compare. - Parameter or , whichever is larger. - - - Returns the larger of two 32-bit signed integers. - The first of two 32-bit signed integers to compare. - The second of two 32-bit signed integers to compare. - Parameter or , whichever is larger. - - - Returns the larger of two 64-bit signed integers. - The first of two 64-bit signed integers to compare. - The second of two 64-bit signed integers to compare. - Parameter or , whichever is larger. - - - Returns the larger of two 8-bit signed integers. - The first of two 8-bit signed integers to compare. - The second of two 8-bit signed integers to compare. - Parameter or , whichever is larger. - - - Returns the larger of two single-precision floating-point numbers. - The first of two single-precision floating-point numbers to compare. - The second of two single-precision floating-point numbers to compare. - Parameter or , whichever is larger. If , or , or both and are equal to , is returned. - - - Returns the larger of two 16-bit unsigned integers. - The first of two 16-bit unsigned integers to compare. - The second of two 16-bit unsigned integers to compare. - Parameter or , whichever is larger. - - - Returns the larger of two 32-bit unsigned integers. - The first of two 32-bit unsigned integers to compare. - The second of two 32-bit unsigned integers to compare. - Parameter or , whichever is larger. - - - Returns the larger of two 64-bit unsigned integers. - The first of two 64-bit unsigned integers to compare. - The second of two 64-bit unsigned integers to compare. - Parameter or , whichever is larger. - - - Returns the smaller of two 8-bit unsigned integers. - The first of two 8-bit unsigned integers to compare. - The second of two 8-bit unsigned integers to compare. - Parameter or , whichever is smaller. - - - Returns the smaller of two decimal numbers. - The first of two decimal numbers to compare. - The second of two decimal numbers to compare. - Parameter or , whichever is smaller. - - - Returns the smaller of two double-precision floating-point numbers. - The first of two double-precision floating-point numbers to compare. - The second of two double-precision floating-point numbers to compare. - Parameter or , whichever is smaller. If , , or both and are equal to , is returned. - - - Returns the smaller of two 16-bit signed integers. - The first of two 16-bit signed integers to compare. - The second of two 16-bit signed integers to compare. - Parameter or , whichever is smaller. - - - Returns the smaller of two 32-bit signed integers. - The first of two 32-bit signed integers to compare. - The second of two 32-bit signed integers to compare. - Parameter or , whichever is smaller. - - - Returns the smaller of two 64-bit signed integers. - The first of two 64-bit signed integers to compare. - The second of two 64-bit signed integers to compare. - Parameter or , whichever is smaller. - - - Returns the smaller of two 8-bit signed integers. - The first of two 8-bit signed integers to compare. - The second of two 8-bit signed integers to compare. - Parameter or , whichever is smaller. - - - Returns the smaller of two single-precision floating-point numbers. - The first of two single-precision floating-point numbers to compare. - The second of two single-precision floating-point numbers to compare. - Parameter or , whichever is smaller. If , , or both and are equal to , is returned. - - - Returns the smaller of two 16-bit unsigned integers. - The first of two 16-bit unsigned integers to compare. - The second of two 16-bit unsigned integers to compare. - Parameter or , whichever is smaller. - - - Returns the smaller of two 32-bit unsigned integers. - The first of two 32-bit unsigned integers to compare. - The second of two 32-bit unsigned integers to compare. - Parameter or , whichever is smaller. - - - Returns the smaller of two 64-bit unsigned integers. - The first of two 64-bit unsigned integers to compare. - The second of two 64-bit unsigned integers to compare. - Parameter or , whichever is smaller. - - - Returns a specified number raised to the specified power. - A double-precision floating-point number to be raised to a power. - A double-precision floating-point number that specifies a power. - The number raised to the power . - - - Rounds a decimal value to the nearest integral value. - A decimal number to be rounded. - The integer nearest parameter . If the fractional component of is halfway between two integers, one of which is even and the other odd, the even number is returned. Note that this method returns a instead of an integral type. - The result is outside the range of a . - - - Rounds a decimal value to a specified number of fractional digits. - A decimal number to be rounded. - The number of decimal places in the return value. - The number nearest to that contains a number of fractional digits equal to . - - is less than 0 or greater than 28. - The result is outside the range of a . - - - Rounds a decimal value to a specified number of fractional digits. A parameter specifies how to round the value if it is midway between two numbers. - A decimal number to be rounded. - The number of decimal places in the return value. - Specification for how to round if it is midway between two other numbers. - The number nearest to that contains a number of fractional digits equal to . If has fewer fractional digits than , is returned unchanged. - - is less than 0 or greater than 28. - - is not a valid value of . - The result is outside the range of a . - - - Rounds a decimal value to the nearest integer. A parameter specifies how to round the value if it is midway between two numbers. - A decimal number to be rounded. - Specification for how to round if it is midway between two other numbers. - The integer nearest . If is halfway between two numbers, one of which is even and the other odd, then determines which of the two is returned. - - is not a valid value of . - The result is outside the range of a . - - - Rounds a double-precision floating-point value to the nearest integral value. - A double-precision floating-point number to be rounded. - The integer nearest . If the fractional component of is halfway between two integers, one of which is even and the other odd, then the even number is returned. Note that this method returns a instead of an integral type. - - - Rounds a double-precision floating-point value to a specified number of fractional digits. - A double-precision floating-point number to be rounded. - The number of fractional digits in the return value. - The number nearest to that contains a number of fractional digits equal to . - - is less than 0 or greater than 15. - - - Rounds a double-precision floating-point value to a specified number of fractional digits. A parameter specifies how to round the value if it is midway between two numbers. - A double-precision floating-point number to be rounded. - The number of fractional digits in the return value. - Specification for how to round if it is midway between two other numbers. - The number nearest to that has a number of fractional digits equal to . If has fewer fractional digits than , is returned unchanged. - - is less than 0 or greater than 15. - - is not a valid value of . - - - Rounds a double-precision floating-point value to the nearest integer. A parameter specifies how to round the value if it is midway between two numbers. - A double-precision floating-point number to be rounded. - Specification for how to round if it is midway between two other numbers. - The integer nearest . If is halfway between two integers, one of which is even and the other odd, then determines which of the two is returned. - - is not a valid value of . - - - Returns an integer that indicates the sign of a decimal number. - A signed decimal number. - A number that indicates the sign of , as shown in the following table.Return value Meaning -1 - is less than zero. 0 - is equal to zero. 1 - is greater than zero. - - - Returns an integer that indicates the sign of a double-precision floating-point number. - A signed number. - A number that indicates the sign of , as shown in the following table.Return value Meaning -1 - is less than zero. 0 - is equal to zero. 1 - is greater than zero. - - is equal to . - - - Returns an integer that indicates the sign of a 16-bit signed integer. - A signed number. - A number that indicates the sign of , as shown in the following table.Return value Meaning -1 - is less than zero. 0 - is equal to zero. 1 - is greater than zero. - - - Returns an integer that indicates the sign of a 32-bit signed integer. - A signed number. - A number that indicates the sign of , as shown in the following table.Return value Meaning -1 - is less than zero. 0 - is equal to zero. 1 - is greater than zero. - - - Returns an integer that indicates the sign of a 64-bit signed integer. - A signed number. - A number that indicates the sign of , as shown in the following table.Return value Meaning -1 - is less than zero. 0 - is equal to zero. 1 - is greater than zero. - - - Returns an integer that indicates the sign of an 8-bit signed integer. - A signed number. - A number that indicates the sign of , as shown in the following table.Return value Meaning -1 - is less than zero. 0 - is equal to zero. 1 - is greater than zero. - - - Returns an integer that indicates the sign of a single-precision floating-point number. - A signed number. - A number that indicates the sign of , as shown in the following table.Return value Meaning -1 - is less than zero. 0 - is equal to zero. 1 - is greater than zero. - - is equal to . - - - Returns the sine of the specified angle. - An angle, measured in radians. - The sine of . If is equal to , , or , this method returns . - - - Returns the hyperbolic sine of the specified angle. - An angle, measured in radians. - The hyperbolic sine of . If is equal to , , or , this method returns a equal to . - - - Returns the square root of a specified number. - The number whose square root is to be found. - One of the values in the following table. - parameter Return value Zero or positive The positive square root of . Negative - - Equals - - Equals - - - - - Returns the tangent of the specified angle. - An angle, measured in radians. - The tangent of . If is equal to , , or , this method returns . - - - Returns the hyperbolic tangent of the specified angle. - An angle, measured in radians. - The hyperbolic tangent of . If is equal to , this method returns -1. If value is equal to , this method returns 1. If is equal to , this method returns . - - - Calculates the integral part of a specified decimal number. - A number to truncate. - The integral part of ; that is, the number that remains after any fractional digits have been discarded. - - - Calculates the integral part of a specified double-precision floating-point number. - A number to truncate. - The integral part of ; that is, the number that remains after any fractional digits have been discarded, or one of the values listed in the following table. - - Return value - - - - - - - - - - - - - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class, setting the property of the new instance to a system-supplied message that describes the error, such as "Attempt to access the method failed." This message takes into account the current system culture. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - A that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - A that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with the specified class name and field name. - The name of the class in which access to a nonexistent field was attempted. - The name of the field that cannot be accessed. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the root cause of this exception. - The error message that explains the reason for the exception. - An instance of that is the cause of the current . If is not a null reference ( in Visual Basic), then the current is raised in a catch block handling . - - - Initializes a new instance of the class with the specified class name and member name. - The name of the class in which access to a nonexistent member was attempted. - The name of the member that cannot be accessed. - - - Sets the object with the class name, the member name, the signature of the missing member, and additional exception information. - The object that holds the serialized object data. - The contextual information about the source or destination. - The object is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - A that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with the specified class name and method name. - The name of the class in which access to a nonexistent method was attempted. - The name of the method that cannot be accessed. - - - Returns a value indicating whether the specified structure is equal to the current . - The structure to be compared with the current . - - if is equal to the current structure; otherwise . - - - Returns a value indicating whether the specified object is a structure, and equal to the current . - The object to be compared with the current structure. - - if is a structure, and is equal to the current structure; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer that is the hash code for this instance. - - - Returns a runtime handle for the field identified by the specified metadata token. - A metadata token that identifies a field in the module. - A for the field identified by . - - - Returns a runtime method handle for the method or constructor identified by the specified metadata token. - A metadata token that identifies a method or constructor in the module. - A for the method or constructor identified by . - - - Returns a runtime type handle for the type identified by the specified metadata token. - A metadata token that identifies a type in the module. - A for the type identified by . - - - Tests whether two structures are equal. - The structure to the left of the equality operator. - The structure to the right of the equality operator. - - if the structures are equal; otherwise, . - - - Tests whether two structures are unequal. - The structure to the left of the inequality operator. - The structure to the right of the inequality operator. - - if the structures are unequal; otherwise, . - - - Returns a runtime handle for the field identified by the specified metadata token. - A metadata token that identifies a field in the module. - A for the field identified by . - - is not a valid token in the scope of the current module.-or- - is not a token for a field in the scope of the current module.-or- - identifies a field whose parent has a signature containing element type or . - The method is called on an empty field handle. - - - Returns a runtime field handle for the field identified by the specified metadata token, specifying the generic type arguments of the type and method where the token is in scope. - A metadata token that identifies a field in the module. - An array of structures representing the generic type arguments of the type where the token is in scope, or if that type is not generic. - An array of structures representing the generic type arguments of the method where the token is in scope, or if that method is not generic. - A for the field identified by . - - is not a valid token in the scope of the current module.-or- - is not a token for a field in the scope of the current module.-or- - identifies a field whose parent has a signature containing element type or . - The method is called on an empty field handle. - - is not a valid token. - - - Returns a runtime method handle for the method or constructor identified by the specified metadata token. - A metadata token that identifies a method or constructor in the module. - A for the method or constructor identified by . - - is not a valid metadata token for a method in the current module.-or- - is not a token for a method or constructor in the scope of the current module.-or- - is a whose signature contains element type or . - The method is called on an empty method handle. - - - Returns a runtime method handle for the method or constructor identified by the specified metadata token, specifying the generic type arguments of the type and method where the token is in scope. - A metadata token that identifies a method or constructor in the module. - An array of structures representing the generic type arguments of the type where the token is in scope, or if that type is not generic. - An array of structures representing the generic type arguments of the method where the token is in scope, or if that method is not generic. - A for the method or constructor identified by . - - is not a valid metadata token for a method in the current module.-or- - is not a token for a method or constructor in the scope of the current module.-or- - is a whose signature contains element type or . - The method is called on an empty method handle. - - is not a valid token. - - - Returns a runtime type handle for the type identified by the specified metadata token. - A metadata token that identifies a type in the module. - A for the type identified by . - - is not a valid metadata token for a type in the current module.-or- - is not a token for a type in the scope of the current module.-or- - is a whose signature contains element type or . - The method is called on an empty type handle. - - - Returns a runtime type handle for the type identified by the specified metadata token, specifying the generic type arguments of the type and method where the token is in scope. - A metadata token that identifies a type in the module. - An array of structures representing the generic type arguments of the type where the token is in scope, or if that type is not generic. - An array of structures objects representing the generic type arguments of the method where the token is in scope, or if that method is not generic. - A for the type identified by . - - is not a valid metadata token for a type in the current module.-or- - is not a token for a type in the scope of the current module.-or- - is a whose signature contains element type or . - The method is called on an empty type handle. - - is not a valid token. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - The object on which is defined. - The name of the method for which a delegate is created. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - - - Initializes a new instance of the class. - The type of object on which is defined. - The name of the static method for which a delegate is created. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - - - Combines this with the specified to form a new delegate. - The delegate to combine with this delegate. - A delegate that is the new root of the invocation list. - - does not have the same type as this instance. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - - - Determines whether this multicast delegate and the specified object are equal. - The object to compare with this instance. - - if and this instance have the same invocation lists; otherwise, . - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - - - Returns the invocation list of this multicast delegate, in invocation order. - An array of delegates whose invocation lists collectively match the invocation list of this instance. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - - - Returns a static method represented by the current . - A static method represented by the current . - - - Populates a object with all the data needed to serialize this instance. - An object that holds all the data needed to serialize or deserialize this instance. - (Reserved) The location where serialized data is stored and retrieved. - - is . - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - A serialization error occurred. - - - Determines whether two objects are equal. - The left operand. - The right operand. - - if and have the same invocation lists; otherwise, . - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - - - Determines whether two objects are not equal. - The left operand. - The right operand. - - if and do not have the same invocation lists; otherwise, . - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - - - Removes an element from the invocation list of this that is equal to the specified delegate. - The delegate to search for in the invocation list. - If is found in the invocation list for this instance, then a new without in its invocation list; otherwise, this instance with its original invocation list. - Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the invalid number. - The value of the argument that caused the exception. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and the invalid number. - The message that describes the error. - The value of the argument that caused the exception. - - - Initializes a new instance of the class with a specified error message, the invalid number, and a reference to the inner exception that is root cause of this exception. - The error message that explains the reason for the exception. - The value of the argument that caused the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is root cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Sets the object with the invalid number and additional exception information. - The object that holds the serialized object data. - The contextual information about the source or destination. - The object is . - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class, setting the property of the new instance to a system-supplied message that describes the error. This message takes into account the current system culture. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - A that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference, the current exception is raised in a block that handles the inner exception. - - - Compares the relative values of two objects. - A object. - A object. - The underlying value type of the and parameters. - An integer that indicates the relative values of the and parameters.Return ValueDescriptionLess than zeroThe property for is , and the property for is .-or-The properties for and are , and the value of the property for is less than the value of the property for .ZeroThe properties for and are .-or-The properties for and are , and the value of the property for is equal to the value of the property for .Greater than zeroThe property for is , and the property for is .-or-The properties for and are , and the value of the property for is greater than the value of the property for . - - - Indicates whether two specified objects are equal. - A object. - A object. - The underlying value type of the and parameters. - - if the parameter is equal to the parameter; otherwise, . The return value depends on the and properties of the two parameters that are compared.Return ValueDescription - - The properties for and are . -or-The properties for and are , and the properties of the parameters are equal. - - The property is for one parameter and for the other parameter.-or-The properties for and are , and the properties of the parameters are unequal. - - - Returns the underlying type argument of the specified nullable type. - A object that describes a closed generic nullable type. - The type argument of the parameter, if the parameter is a closed generic nullable type; otherwise, . - - is . - - - Initializes a new instance of the structure to the specified value. - A value type. - - - Indicates whether the current object is equal to a specified object. - An object. - - if the parameter is equal to the current object; otherwise, . This table describes how equality is defined for the compared values: Return ValueDescription - - The property is , and the parameter is . That is, two null values are equal by definition.-or-The property is , and the value returned by the property is equal to the parameter. - - The property for the current structure is , and the parameter is .-or-The property for the current structure is , and the parameter is not .-or-The property for the current structure is , and the value returned by the property is not equal to the parameter. - - - Retrieves the hash code of the object returned by the property. - The hash code of the object returned by the property if the property is , or zero if the property is . - - - Retrieves the value of the current object, or the object's default value. - The value of the property if the property is ; otherwise, the default value of the current object. The type of the default value is the type argument of the current object, and the value of the default value consists solely of binary zeroes. - - - Retrieves the value of the current object, or the specified default value. - A value to return if the property is . - The value of the property if the property is ; otherwise, the parameter. - - - Defines an explicit conversion of a instance to its underlying value. - A nullable value. - The value of the property for the parameter. - - - Creates a new object initialized to a specified value. - A value type. - A object whose property is initialized with the parameter. - - - Returns the text representation of the value of the current object. - The text representation of the value of the current object if the property is , or an empty string ("") if the property is . - - - Initializes a new instance of the class, setting the property of the new instance to a system-supplied message that describes the error, such as "The value 'null' was found where an instance of an object was required." This message takes into account the current system culture. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - A that describes the error. The content of is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - - if the specified object is equal to the current object; otherwise, . - - - Determines whether the specified object instances are considered equal. - The first object to compare. - The second object to compare. - - if the objects are considered equal; otherwise, . If both and are null, the method returns . - - - Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. - - - Serves as the default hash function. - A hash code for the current object. - - - Gets the of the current instance. - The exact runtime type of the current instance. - - - Creates a shallow copy of the current . - A shallow copy of the current . - - - Determines whether the specified instances are the same instance. - The first object to compare. - The second object to compare. - - if is the same instance as or if both are null; otherwise, . - - - Returns a string that represents the current object. - A string that represents the current object. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with a string containing the name of the disposed object. - A string containing the name of the disposed object. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with the specified object name and message. - The name of the disposed object. - The error message that explains the reason for the exception. - - - Retrieves the object with the parameter name and additional exception information. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with a specified workaround message. - The text string that describes alternative workarounds. - - - Initializes a new instance of the class with a workaround message and a Boolean value indicating whether the obsolete element usage is considered an error. - The text string that describes alternative workarounds. - - if the obsolete element usage generates a compiler error; if it generates a compiler warning. - - - Initializes a new instance of the class, using the specified platform identifier value and version object. - One of the values that indicates the operating system platform. - A object that indicates the version of the operating system. - - is . - - is not a enumeration value. - - - Creates an object that is identical to this instance. - An object that is a copy of this instance. - - - Populates a object with the data necessary to deserialize this instance. - The object to populate with serialization information. - The place to store and retrieve serialized data. Reserved for future use. - - is . - - - Converts the value of this object to its equivalent string representation. - The string representation of the values returned by the , , and properties. - - - Initializes a new instance of the class with a system-supplied error message. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - A that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message, a reference to the inner exception that is the cause of this exception, and a cancellation token. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - A cancellation token associated with the operation that was canceled. - - - Initializes a new instance of the class with a specified error message and a cancellation token. - The error message that explains the reason for the exception. - A cancellation token associated with the operation that was canceled. - - - Initializes a new instance of the class with a cancellation token. - A cancellation token associated with the operation that was canceled. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The text message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes the object. - - - Initializes the object with the specified callback. - A handler to invoke for each reported progress value. This handler will be invoked in addition to any delegates registered with the event. Depending on the instance captured by the at construction, it is possible that this handler instance could be invoked concurrently with itself. - - - Reports a progress change. - The value of the updated progress. - - - Reports a progress change. - The value of the updated progress. - - - Initializes a new instance of the class, using a time-dependent default seed value. - - - Initializes a new instance of the class, using the specified seed value. - A number used to calculate a starting value for the pseudo-random number sequence. If a negative number is specified, the absolute value of the number is used. - - - Returns a non-negative random integer. - A 32-bit signed integer that is greater than or equal to 0 and less than . - - - Returns a non-negative random integer that is less than the specified maximum. - The exclusive upper bound of the random number to be generated. must be greater than or equal to 0. - A 32-bit signed integer that is greater than or equal to 0, and less than ; that is, the range of return values ordinarily includes 0 but not . However, if equals 0, is returned. - - is less than 0. - - - Returns a random integer that is within a specified range. - The inclusive lower bound of the random number returned. - The exclusive upper bound of the random number returned. must be greater than or equal to . - A 32-bit signed integer greater than or equal to and less than ; that is, the range of return values includes but not . If equals , is returned. - - is greater than . - - - Fills the elements of a specified array of bytes with random numbers. - An array of bytes to contain random numbers. - - is . - - - Returns a random floating-point number that is greater than or equal to 0.0, and less than 1.0. - A double-precision floating point number that is greater than or equal to 0.0, and less than 1.0. - - - Returns a random floating-point number between 0.0 and 1.0. - A double-precision floating point number that is greater than or equal to 0.0, and less than 1.0. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - A that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with an empty message string and the root cause exception set to . - - - Initializes a new instance of the class with its message string set to the given message and the root cause exception set to . - A string indicating the reason this exception was thrown. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Locates the specified type from this assembly and creates an instance of it using the system activator, using case-sensitive search. - The of the type to locate. - An instance of the specified type created with the default constructor; or if is not found. The type is resolved using the default binder, without specifying culture or activation attributes, and with set to or . - - is an empty string ("") or a string beginning with a null character.-or-The current assembly was loaded into the reflection-only context. - - is . - No matching constructor was found. - - requires a dependent assembly that could not be found. - - requires a dependent assembly that was found but could not be loaded.-or-The current assembly was loaded into the reflection-only context, and requires a dependent assembly that was not preloaded. - - requires a dependent assembly, but the file is not a valid assembly. -or- - requires a dependent assembly that was compiled for a version of the runtime that is later than the currently loaded version. - - - Locates the specified type from this assembly and creates an instance of it using the system activator, with optional case-sensitive search. - The of the type to locate. - - to ignore the case of the type name; otherwise, . - An instance of the specified type created with the default constructor; or if is not found. The type is resolved using the default binder, without specifying culture or activation attributes, and with set to or . - - is an empty string ("") or a string beginning with a null character. -or-The current assembly was loaded into the reflection-only context. - No matching constructor was found. - - is . - - requires a dependent assembly that could not be found. - - requires a dependent assembly that was found but could not be loaded.-or-The current assembly was loaded into the reflection-only context, and requires a dependent assembly that was not preloaded. - - requires a dependent assembly, but the file is not a valid assembly. -or- - requires a dependent assembly that was compiled for a version of the runtime that is later than the currently loaded version. - - - Locates the specified type from this assembly and creates an instance of it using the system activator, with optional case-sensitive search and having the specified culture, arguments, and binding and activation attributes. - The of the type to locate. - - to ignore the case of the type name; otherwise, . - A bitmask that affects the way in which the search is conducted. The value is a combination of bit flags from . - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects via reflection. If is , the default binder is used. - An array that contains the arguments to be passed to the constructor. This array of arguments must match in number, order, and type the parameters of the constructor to be invoked. If the default constructor is desired, must be an empty array or . - An instance of used to govern the coercion of types. If this is , the for the current thread is used. (This is necessary to convert a that represents 1000 to a value, for example, since 1000 is represented differently by different cultures.) - An array of one or more attributes that can participate in activation. Typically, an array that contains a single object that specifies the URL that is required to activate a remote object. This parameter is related to client-activated objects. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Distributed applications should instead use Windows Communication Foundation. - An instance of the specified type, or if is not found. The supplied arguments are used to resolve the type, and to bind the constructor that is used to create the instance. - - is an empty string ("") or a string beginning with a null character. -or-The current assembly was loaded into the reflection-only context. - - is . - No matching constructor was found. - A non-empty activation attributes array is passed to a type that does not inherit from . - - requires a dependent assembly that could not be found. - - requires a dependent assembly that was found but could not be loaded.-or-The current assembly was loaded into the reflection-only context, and requires a dependent assembly that was not preloaded. - - requires a dependent assembly, but the file is not a valid assembly. -or- - requires a dependent assembly which that was compiled for a version of the runtime that is later than the currently loaded version. - - - Creates the name of a type qualified by the display name of its assembly. - The display name of an assembly. - The full name of a type. - The full name of the type qualified by the display name of the assembly. - - - Determines whether this assembly and the specified object are equal. - The object to compare with this instance. - - if is equal to this instance; otherwise, . - - - Gets the currently loaded assembly in which the specified type is defined. - An object representing a type in the assembly that will be returned. - The assembly in which the specified type is defined. - - is . - - - Returns the of the method that invoked the currently executing method. - The object of the method that invoked the currently executing method. - - - Gets all the custom attributes for this assembly. - This argument is ignored for objects of type . - An array that contains the custom attributes for this assembly. - - - Gets the custom attributes for this assembly as specified by type. - The type for which the custom attributes are to be returned. - This argument is ignored for objects of type . - An array that contains the custom attributes for this assembly as specified by . - - is . - - is not a runtime type. - - - Returns information about the attributes that have been applied to the current , expressed as objects. - A generic list of objects representing data about the attributes that have been applied to the current assembly. - - - Gets the process executable in the default application domain. In other application domains, this is the first executable that was executed by . - The assembly that is the process executable in the default application domain, or the first executable that was executed by . Can return when called from unmanaged code. - - - Gets the assembly that contains the code that is currently executing. - The assembly that contains the code that is currently executing. - - - Gets the public types defined in this assembly that are visible outside the assembly. - An array that represents the types defined in this assembly that are visible outside the assembly. - The assembly is a dynamic assembly. - - - Gets a for the specified file in the file table of the manifest of this assembly. - The name of the specified file. Do not include the path to the file. - A stream that contains the specified file, or if the file is not found. - A file that was found could not be loaded. - The parameter is . - The parameter is an empty string (""). - - was not found. - - is not a valid assembly. - - - Gets the files in the file table of an assembly manifest. - An array of streams that contain the files. - A file that was found could not be loaded. - A file was not found. - A file was not a valid assembly. - - - Gets the files in the file table of an assembly manifest, specifying whether to include resource modules. - - to include resource modules; otherwise, . - An array of streams that contain the files. - A file that was found could not be loaded. - A file was not found. - A file was not a valid assembly. - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Gets all the loaded modules that are part of this assembly. - An array of modules. - - - Gets all the loaded modules that are part of this assembly, specifying whether to include resource modules. - - to include resource modules; otherwise, . - An array of modules. - - - Returns information about how the given resource has been persisted. - The case-sensitive name of the resource. - An object that is populated with information about the resource's topology, or if the resource is not found. - - is . - The parameter is an empty string (""). - - - Returns the names of all the resources in this assembly. - An array that contains the names of all the resources. - - - Loads the specified manifest resource from this assembly. - The case-sensitive name of the manifest resource being requested. - The manifest resource; or if no resources were specified during compilation or if the resource is not visible to the caller. - The parameter is . - The parameter is an empty string (""). - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.A file that was found could not be loaded. - - was not found. - - is not a valid assembly. - Resource length is greater than . - - - Loads the specified manifest resource, scoped by the namespace of the specified type, from this assembly. - The type whose namespace is used to scope the manifest resource name. - The case-sensitive name of the manifest resource being requested. - The manifest resource; or if no resources were specified during compilation or if the resource is not visible to the caller. - The parameter is . - The parameter is an empty string (""). - A file that was found could not be loaded. - - was not found. - - is not a valid assembly. - Resource length is greater than . - - - Gets the specified module in this assembly. - The name of the module being requested. - The module being requested, or if the module is not found. - The parameter is . - The parameter is an empty string (""). - A file that was found could not be loaded. - - was not found. - - is not a valid assembly. - - - Gets all the modules that are part of this assembly. - An array of modules. - The module to be loaded does not specify a file name extension. - - - Gets all the modules that are part of this assembly, specifying whether to include resource modules. - - to include resource modules; otherwise, . - An array of modules. - - - Gets an for this assembly. - An object that contains the fully parsed display name for this assembly. - - - Gets an for this assembly, setting the codebase as specified by . - - to set the to the location of the assembly after it was shadow copied; to set to the original location. - An object that contains the fully parsed display name for this assembly. - - - Gets serialization information with all of the data needed to reinstantiate this assembly. - The object to be populated with serialization information. - The destination context of the serialization. - - is . - - - Gets the objects for all the assemblies referenced by this assembly. - An array that contains the fully parsed display names of all the assemblies referenced by this assembly. - - - Gets the satellite assembly for the specified culture. - The specified culture. - The specified satellite assembly. - - is . - The assembly cannot be found. - The satellite assembly with a matching file name was found, but the did not match the one specified. - The satellite assembly is not a valid assembly. - - - Gets the specified version of the satellite assembly for the specified culture. - The specified culture. - The version of the satellite assembly. - The specified satellite assembly. - - is . - The satellite assembly with a matching file name was found, but the or the version did not match the one specified. - The assembly cannot be found. - The satellite assembly is not a valid assembly. - - - Gets the object with the specified name in the assembly instance. - The full name of the type. - An object that represents the specified class, or if the class is not found. - - is invalid. - - is . - - - - requires a dependent assembly that could not be found. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead. - requires a dependent assembly that was found but could not be loaded.-or-The current assembly was loaded into the reflection-only context, and requires a dependent assembly that was not preloaded. - - requires a dependent assembly, but the file is not a valid assembly. -or- - requires a dependent assembly which was compiled for a version of the runtime later than the currently loaded version. - - - Gets the object with the specified name in the assembly instance and optionally throws an exception if the type is not found. - The full name of the type. - - to throw an exception if the type is not found; to return . - An object that represents the specified class. - - is invalid.-or- The length of exceeds 1024 characters. - - is . - - is , and the type cannot be found. - - requires a dependent assembly that could not be found. - - requires a dependent assembly that was found but could not be loaded.-or-The current assembly was loaded into the reflection-only context, and requires a dependent assembly that was not preloaded. - - requires a dependent assembly, but the file is not a valid assembly. -or- - requires a dependent assembly which was compiled for a version of the runtime later than the currently loaded version. - - - Gets the object with the specified name in the assembly instance, with the options of ignoring the case, and of throwing an exception if the type is not found. - The full name of the type. - - to throw an exception if the type is not found; to return . - - to ignore the case of the type name; otherwise, . - An object that represents the specified class. - - is invalid.-or- The length of exceeds 1024 characters. - - is . - - is , and the type cannot be found. - - - - requires a dependent assembly that could not be found. - - requires a dependent assembly that was found but could not be loaded.-or-The current assembly was loaded into the reflection-only context, and requires a dependent assembly that was not preloaded. - - requires a dependent assembly, but the file is not a valid assembly. -or- - requires a dependent assembly which was compiled for a version of the runtime later than the currently loaded version. - - - Gets the types defined in this assembly. - An array that contains all the types that are defined in this assembly. - The assembly contains one or more types that cannot be loaded. The array returned by the property of this exception contains a object for each type that was loaded and for each type that could not be loaded, while the property contains an exception for each type that could not be loaded. - - - Indicates whether or not a specified attribute has been applied to the assembly. - The type of the attribute to be checked for this assembly. - This argument is ignored for objects of this type. - - if the attribute has been applied to the assembly; otherwise, . - - is . - - uses an invalid type. - - - Loads the assembly with a common object file format (COFF)-based image containing an emitted assembly. The assembly is loaded into the application domain of the caller. - A byte array that is a COFF-based image containing an emitted assembly. - The loaded assembly. - - is . - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - - - Loads the assembly with a common object file format (COFF)-based image containing an emitted assembly, optionally including symbols for the assembly. The assembly is loaded into the application domain of the caller. - A byte array that is a COFF-based image containing an emitted assembly. - A byte array that contains the raw bytes representing the symbols for the assembly. - The loaded assembly. - - is . - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - - - Loads the assembly with a common object file format (COFF)-based image containing an emitted assembly, optionally including symbols and evidence for the assembly. The assembly is loaded into the application domain of the caller. - A byte array that is a COFF-based image containing an emitted assembly. - A byte array that contains the raw bytes representing the symbols for the assembly. - Evidence for loading the assembly. - The loaded assembly. - - is . - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - An assembly or module was loaded twice with two different evidences. - - is not . By default, legacy CAS policy is not enabled in the .NET Framework 4; when it is not enabled,  must be . - - - Loads the assembly with a common object file format (COFF)-based image containing an emitted assembly, optionally including symbols and specifying the source for the security context. The assembly is loaded into the application domain of the caller. - A byte array that is a COFF-based image containing an emitted assembly. - A byte array that contains the raw bytes representing the symbols for the assembly. - The source of the security context. - - The loaded assembly. - - is . - - is not a valid assembly. -or- - was compiled with a later version of the common language runtime than the version that is currently loaded. - The value of is not one of the enumeration values. - - - Loads an assembly given its . - The object that describes the assembly to be loaded. - The loaded assembly. - - is . - - is not found. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.A file that was found could not be loaded. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - - - Loads an assembly given its . The assembly is loaded into the domain of the caller using the supplied evidence. - The object that describes the assembly to be loaded. - Evidence for loading the assembly. - The loaded assembly. - - is . - - is not found. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - An assembly or module was loaded twice with two different evidences. - - - Loads an assembly given the long form of its name. - The long form of the assembly name. - The loaded assembly. - - is . - - is a zero-length string. - - is not found. - A file that was found could not be loaded. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - - - Loads an assembly given its display name, loading the assembly into the domain of the caller using the supplied evidence. - The display name of the assembly. - Evidence for loading the assembly. - The loaded assembly. - - is . - - is not found. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - A file that was found could not be loaded.-or-An assembly or module was loaded twice with two different evidences. - - - Loads the contents of an assembly file on the specified path. - The fully qualified path of the file to load. - The loaded assembly. - The argument is not an absolute path. - The parameter is . - A file that was found could not be loaded. - The parameter is an empty string ("") or does not exist. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - - - Loads an assembly given its path, loading the assembly into the domain of the caller using the supplied evidence. - The fully qualified path of the assembly file. - Evidence for loading the assembly. - The loaded assembly. - The argument is not an absolute path. - The parameter is . - The parameter is an empty string ("") or does not exist. - A file that was found could not be loaded. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - - is not . By default, legacy CAS policy is not enabled in the .NET Framework 4; when it is not enabled,  must be . - - - Loads an assembly given its file name or path. - The name or path of the file that contains the manifest of the assembly. - The loaded assembly. - - is . - - is not found, or the module you are trying to load does not specify a filename extension. - A file that was found could not be loaded. - - is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. See the exception topic for more information. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - A codebase that does not start with "file://" was specified without the required . - The parameter is an empty string (""). - The assembly name is longer than MAX_PATH characters. - - - Loads an assembly given its file name or path, hash value, and hash algorithm. - The name or path of the file that contains the manifest of the assembly. - The value of the computed hash code. - The hash algorithm used for hashing files and for generating the strong name. - The loaded assembly. - - is . - - is not found, or the module you are trying to load does not specify a file name extension. - A file that was found could not be loaded. - - is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. See the exception topic for more information. -or- - was compiled with a later version of the common language runtime than the version that is currently loaded. - A codebase that does not start with "file://" was specified without the required . - The parameter is an empty string (""). - The assembly name is longer than MAX_PATH characters. - - - Loads an assembly given its file name or path and supplying security evidence. - The name or path of the file that contains the manifest of the assembly. - Evidence for loading the assembly. - The loaded assembly. - - is . - - is not found, or the module you are trying to load does not specify a filename extension. - A file that was found could not be loaded.-or-The is not ambiguous and is determined to be invalid. - - is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. See the exception topic for more information. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - A codebase that does not start with "file://" was specified without the required . - The parameter is an empty string (""). - The assembly name is longer than MAX_PATH characters. - - - Loads an assembly given its file name or path, security evidence, hash value, and hash algorithm. - The name or path of the file that contains the manifest of the assembly. - Evidence for loading the assembly. - The value of the computed hash code. - The hash algorithm used for hashing files and for generating the strong name. - The loaded assembly. - - is . - - is not found, or the module you are trying to load does not specify a filename extension. - A file that was found could not be loaded.-or-The is not ambiguous and is determined to be invalid. - - is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. See the exception topic for more information. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - A codebase that does not start with "file://" was specified without the required . - The parameter is an empty string (""). - The assembly name is longer than MAX_PATH characters. - - - Loads the module, internal to this assembly, with a common object file format (COFF)-based image containing an emitted module, or a resource file. - The name of the module. This string must correspond to a file name in this assembly's manifest. - A byte array that is a COFF-based image containing an emitted module, or a resource. - The loaded module. - - or is . - - does not match a file entry in this assembly's manifest. - - is not a valid module. - A file that was found could not be loaded. - - - Loads the module, internal to this assembly, with a common object file format (COFF)-based image containing an emitted module, or a resource file. The raw bytes representing the symbols for the module are also loaded. - The name of the module. This string must correspond to a file name in this assembly's manifest. - A byte array that is a COFF-based image containing an emitted module, or a resource. - A byte array containing the raw bytes representing the symbols for the module. Must be if this is a resource file. - The loaded module. - - or is . - - does not match a file entry in this assembly's manifest. - - is not a valid module. - A file that was found could not be loaded. - - - Loads an assembly from the application directory or from the global assembly cache using a partial name. - The display name of the assembly. - The loaded assembly. If is not found, this method returns . - The parameter is . - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - - - Loads an assembly from the application directory or from the global assembly cache using a partial name. The assembly is loaded into the domain of the caller using the supplied evidence. - The display name of the assembly. - Evidence for loading the assembly. - The loaded assembly. If is not found, this method returns . - An assembly or module was loaded twice with two different sets of evidence. - The parameter is . - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - - - Indicates whether two objects are equal. - The assembly to compare to . - The assembly to compare to . - - if is equal to ; otherwise, . - - - Indicates whether two objects are not equal. - The assembly to compare to . - The assembly to compare to . - - if is not equal to ; otherwise, . - - - Loads the assembly from a common object file format (COFF)-based image containing an emitted assembly. The assembly is loaded into the reflection-only context of the caller's application domain. - A byte array that is a COFF-based image containing an emitted assembly. - The loaded assembly. - - is . - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - - cannot be loaded. - - - Loads an assembly into the reflection-only context, given its display name. - The display name of the assembly, as returned by the property. - The loaded assembly. - - is . - - is an empty string (""). - - is not found. - - is found, but cannot be loaded. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - - - Loads an assembly into the reflection-only context, given its path. - The path of the file that contains the manifest of the assembly. - The loaded assembly. - - is . - - is not found, or the module you are trying to load does not specify a file name extension. - - is found, but could not be loaded. - - is not a valid assembly. -or-Version 2.0 or later of the common language runtime is currently loaded and was compiled with a later version. - A codebase that does not start with "file://" was specified without the required . - The assembly name is longer than MAX_PATH characters. - - is an empty string (""). - - - Returns the type of the current instance. - An object that represents the type. - - - Returns the full name of the assembly, also known as the display name. - The full name of the assembly, or the class name if the full name of the assembly cannot be determined. - - - Loads an assembly into the load-from context, bypassing some security checks. - The name or path of the file that contains the manifest of the assembly. - The loaded assembly. - - is . - - is not found, or the module you are trying to load does not specify a filename extension. - A file that was found could not be loaded. - - is not a valid assembly. -or- - was compiled with a later version of the common language runtime than the version that is currently loaded. - A codebase that does not start with "file://" was specified without the required . - The parameter is an empty string (""). - The assembly name is longer than MAX_PATH characters. - - - Initializes a new instance of the class with the specified hash algorithm, using one of the members of to represent the hash algorithm. - A member of that represents the hash algorithm. - - - Initializes a new instance of the class with the specified hash algorithm, using an unsigned integer to represent the hash algorithm. - An unsigned integer representing the hash algorithm. - - - Initializes a new instance of the class. - The company name information. - - - Initializes a new instance of the class. - The assembly configuration. - - - Initializes a new instance of the class. - The copyright information. - - - Initializes a new instance of the class with the culture supported by the assembly being attributed. - The culture supported by the attributed assembly. - - - Initializes a new instance of the class. - The assembly default alias information. - - - Initializes a new instance of the class. - - if the feature this attribute represents is activated; otherwise, . - - - Initializes a new instance of the class. - The assembly description. - - - Initializes a new instance of the class, specifying the file version. - The file version. - - is . - - - Initializes a new instance of the class with the specified combination of flags, cast as an integer value. - A bitwise combination of flags, cast as an integer value, representing just-in-time (JIT) compiler options, longevity, whether an assembly is retargetable, and whether it has a full or tokenized public key. - - - Initializes a new instance of the class with the specified combination of flags. - A bitwise combination of flags representing just-in-time (JIT) compiler options, longevity, whether an assembly is retargetable, and whether it has a full or tokenized public key. - - - Initializes a new instance of the class with the specified combination of flags, cast as an unsigned integer value. - A bitwise combination of flags, cast as an unsigned integer value, representing just-in-time (JIT) compiler options, longevity, whether an assembly is retargetable, and whether it has a full or tokenized public key. - - - Initializes a new instance of the class. - The assembly version information. - - - Initializes a new instance of the class with the name of the file containing the key pair to generate a strong name for the assembly being attributed. - The name of the file containing the key pair. - - - Initializes a new instance of the class with the name of the container holding the key pair used to generate a strong name for the assembly being attributed. - The name of the container containing the key pair. - - - Initializes a new instance of the class by using the specified metadata key and value. - The metadata key. - The metadata value. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified display name. - The display name of the assembly, as returned by the property. - - is . - - is a zero length string. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The referenced assembly could not be found, or could not be loaded. - - - Makes a copy of this object. - An object that is a copy of this object. - - - Gets the for a given file. - The path for the assembly whose is to be returned. - An object that represents the given assembly file. - - is . - - is invalid, such as an assembly with an invalid culture. - - is not found. - The caller does not have path discovery permission. - - is not a valid assembly. - An assembly or module was loaded twice with two different sets of evidence. - - - Gets serialization information with all the data needed to recreate an instance of this . - The object to be populated with serialization information. - The destination context of the serialization. - - is . - - - Gets the public key of the assembly. - A byte array that contains the public key of the assembly. - A public key was provided (for example, by using the method), but no public key token was provided. - - - Gets the public key token, which is the last 8 bytes of the SHA-1 hash of the public key under which the application or assembly is signed. - A byte array that contains the public key token. - - - Implements the interface and is called back by the deserialization event when deserialization is complete. - The source of the deserialization event. - - - Returns a value indicating whether two assembly names are the same. The comparison is based on the simple assembly names. - The reference assembly name. - The assembly name that is compared to the reference assembly. - - if the simple assembly names are the same; otherwise, . - - - Sets the public key identifying the assembly. - A byte array containing the public key of the assembly. - - - Sets the public key token, which is the last 8 bytes of the SHA-1 hash of the public key under which the application or assembly is signed. - A byte array containing the public key token of the assembly. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array that receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DispIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Returns the full name of the assembly, also known as the display name. - The full name of the assembly, or the class name if the full name cannot be determined. - - - Initializes a new instance of the class. - - - Gets the for a given file. - The assembly file for which to get the . - An object representing the given file. - - is . - - is empty. - - is not found. - The caller does not have the required permission. - - is not a valid assembly. - - - Initializes a new instance of the class. - The product name information. - - - Creates a new instance of the class by using the specified public key and countersignature. - The public or identity key. - The countersignature, which is the signature key portion of the strong-name key. - - - Initializes a new instance of the class. - The assembly title. - - - Initializes a new instance of the class. - The trademark information. - - - Initializes a new instance of the class with the version number of the assembly being attributed. - The version number of the attributed assembly. - - - Initializes a new instance of the class. - - - Selects a field from the given set of fields, based on the specified criteria. - A bitwise combination of values. - The set of fields that are candidates for matching. For example, when a object is used by , this parameter specifies the set of fields that reflection has determined to be possible matches, typically because they have the correct member name. The default implementation provided by changes the order of this array. - The field value used to locate a matching field. - An instance of that is used to control the coercion of data types, in binder implementations that coerce types. If is , the for the current thread is used.Note   For example, if a binder implementation allows coercion of string values to numeric types, this parameter is necessary to convert a that represents 1000 to a value, because 1000 is represented differently by different cultures. The default binder does not do such string coercions. - The matching field. - For the default binder, includes , and contains multiple fields that are equally good matches for . For example, contains a MyClass object that implements the IMyClass interface, and contains a field of type MyClass and a field of type IMyClass. - For the default binder, includes , and contains no fields that can accept . - For the default binder, includes , and is or an empty array.-or- - includes , and is . - - - Selects a method to invoke from the given set of methods, based on the supplied arguments. - A bitwise combination of values. - The set of methods that are candidates for matching. For example, when a object is used by , this parameter specifies the set of methods that reflection has determined to be possible matches, typically because they have the correct member name. The default implementation provided by changes the order of this array. - The arguments that are passed in. The binder can change the order of the arguments in this array; for example, the default binder changes the order of arguments if the parameter is used to specify an order other than positional order. If a binder implementation coerces argument types, the types and values of the arguments can be changed as well. - An array of parameter modifiers that enable binding to work with parameter signatures in which the types have been modified. The default binder implementation does not use this parameter. - An instance of that is used to control the coercion of data types, in binder implementations that coerce types. If is , the for the current thread is used. Note   For example, if a binder implementation allows coercion of string values to numeric types, this parameter is necessary to convert a that represents 1000 to a value, because 1000 is represented differently by different cultures. The default binder does not do such string coercions. - The parameter names, if parameter names are to be considered when matching, or if arguments are to be treated as purely positional. For example, parameter names must be used if arguments are not supplied in positional order. - After the method returns, contains a binder-provided object that keeps track of argument reordering. The binder creates this object, and the binder is the sole consumer of this object. If is not when returns, you must pass to the method if you want to restore to its original order, for example, so that you can retrieve the values of parameters ( parameters in Visual Basic). - The matching method. - For the default binder, contains multiple methods that are equally good matches for . For example, contains a MyClass object that implements the IMyClass interface, and contains a method that takes MyClass and a method that takes IMyClass. - For the default binder, contains no methods that can accept the arguments supplied in . - For the default binder, is or an empty array. - - - Changes the type of the given to the given . - The object to change into a new . - The new that will become. - An instance of that is used to control the coercion of data types. If is , the for the current thread is used.Note   For example, this parameter is necessary to convert a that represents 1000 to a value, because 1000 is represented differently by different cultures. - An object that contains the given value as the new type. - - - Upon returning from , restores the argument to what it was when it came from . - The actual arguments that are passed in. Both the types and values of the arguments can be changed. - A binder-provided object that keeps track of argument reordering. - - - Selects a method from the given set of methods, based on the argument type. - A bitwise combination of values. - The set of methods that are candidates for matching. For example, when a object is used by , this parameter specifies the set of methods that reflection has determined to be possible matches, typically because they have the correct member name. The default implementation provided by changes the order of this array. - The parameter types used to locate a matching method. - An array of parameter modifiers that enable binding to work with parameter signatures in which the types have been modified. - The matching method, if found; otherwise, . - For the default binder, contains multiple methods that are equally good matches for the parameter types described by . For example, the array in contains a object for MyClass and the array in contains a method that takes a base class of MyClass and a method that takes an interface that MyClass implements. - For the default binder, is or an empty array.-or-An element of derives from , but is not of type . - - - Selects a property from the given set of properties, based on the specified criteria. - A bitwise combination of values. - The set of properties that are candidates for matching. For example, when a object is used by , this parameter specifies the set of properties that reflection has determined to be possible matches, typically because they have the correct member name. The default implementation provided by changes the order of this array. - The return value the matching property must have. - The index types of the property being searched for. Used for index properties such as the indexer for a class. - An array of parameter modifiers that enable binding to work with parameter signatures in which the types have been modified. - The matching property. - For the default binder, contains multiple properties that are equally good matches for and . - For the default binder, is or an empty array. - - - Initializes a new instance of the class. - - - Returns a value that indicates whether this instance is equal to a specified object. - An object to compare with this instance, or . - - if equals the type and value of this instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Invokes the constructor reflected by the instance that has the specified parameters, providing default values for the parameters not commonly used. - An array of values that matches the number, order and type (under the constraints of the default binder) of the parameters for this constructor. If this constructor takes no parameters, then use either an array with zero elements or , as in Object[] parameters = new Object[0]. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference-type elements, this value is . For value-type elements, this value is 0, 0.0, or , depending on the specific element type. - An instance of the class associated with the constructor. - The class is abstract.-or- The constructor is a class initializer. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The constructor is private or protected, and the caller lacks . - The array does not contain values that match the types accepted by this constructor. - The invoked constructor throws an exception. - An incorrect number of parameters was passed. - Creation of , , and types is not supported. - The caller does not have the necessary code access permission. - - - When implemented in a derived class, invokes the constructor reflected by this with the specified arguments, under the constraints of the specified . - One of the values that specifies the type of binding. - A that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. If is , then is used. - An array of type used to match the number, order and type of the parameters for this constructor, under the constraints of . If this constructor does not require parameters, pass an array with zero elements, as in Object[] parameters = new Object[0]. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference-type elements, this value is . For value-type elements, this value is 0, 0.0, or , depending on the specific element type. - A used to govern the coercion of types. If this is , the for the current thread is used. - An instance of the class associated with the constructor. - The array does not contain values that match the types accepted by this constructor, under the constraints of the . - The invoked constructor throws an exception. - An incorrect number of parameters was passed. - Creation of , , and types is not supported. - The caller does not have the necessary code access permissions. - The class is abstract.-or- The constructor is a class initializer. - The constructor is private or protected, and the caller lacks . - - - Indicates whether two objects are equal. - The first to compare. - The second to compare. - - if is equal to ; otherwise . - - - Indicates whether two objects are not equal. - The first to compare. - The second to compare. - - if is not equal to ; otherwise . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Gets a object representing the type. - A object representing the type. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides COM objects with version-independent access to the method. - The instance that created this method. - One of the values that specifies the type of binding. - A that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. If is , then is used. - An array of objects used to match the number, order, and type of the parameters for this constructor, under the constraints of . If this constructor does not require parameters, pass an array with zero elements. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference-type elements, this value is . For value-type elements, this value is 0, 0.0, or , depending on the specific element type. - A used to govern the coercion of types. If this is , the for the current thread is used. - An instance of the type. - - - Provides COM objects with version-independent access to the method. - The instance that created this method. - An array of objects used to match the number, order, and type of the parameters for this constructor, under the constraints of . If this constructor does not require parameters, pass an array with zero elements. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference-type elements, this value is . For value-type elements, this value is 0, 0.0, or , depending on the specific element type. - An instance of the type. - - - Provides COM objects with version-independent access to the method. - One of the values that specifies the type of binding. - A that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. If is , then is used. - An array of objects used to match the number, order, and type of the parameters for this constructor, under the constraints of . If this constructor does not require parameters, pass an array with zero elements. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference-type elements, this value is . For value-type elements, this value is 0, 0.0, or , depending on the specific element type. - A used to govern the coercion of types. If this is , the for the current thread is used. - An instance of the type. - - - Provides COM objects with version-independent access to the method. - An array of objects used to match the number, order, and type of the parameters for this constructor, under the constraints of . If this constructor does not require parameters, pass an array with zero elements. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference-type elements, this value is . For value-type elements, this value is 0, 0.0, or , depending on the specific element type. - An instance of the type. - - - Initializes a new instance of the class. - - - Returns a value that indicates whether this instance is equal to a specified object. - An object to compare with this instance, or . - - if is equal to the current instance; otherwise, . - - - Returns a list of objects representing data about the attributes that have been applied to the target assembly. - The assembly whose custom attribute data is to be retrieved. - A list of objects that represent data about the attributes that have been applied to the target assembly. - - is . - - - Returns a list of objects representing data about the attributes that have been applied to the target member. - The member whose attribute data is to be retrieved. - A list of objects that represent data about the attributes that have been applied to the target member. - - is . - - - Returns a list of objects representing data about the attributes that have been applied to the target module. - The module whose custom attribute data is to be retrieved. - A list of objects that represent data about the attributes that have been applied to the target module. - - is . - - - Returns a list of objects representing data about the attributes that have been applied to the target parameter. - The parameter whose attribute data is to be retrieved. - A list of objects that represent data about the attributes that have been applied to the target parameter. - - is . - - - Serves as a hash function for a particular type. - A hash code for the current . - - - Returns a string representation of the custom attribute. - A string value that represents the custom attribute. - - - - Retrieves a custom attribute of a specified type that is applied to a specified assembly. - The assembly to inspect. - The type of attribute to search for. - A custom attribute that matches , or if no such attribute is found. - - or is . - - is not derived from . - More than one of the requested attributes was found. - - - Retrieves a custom attribute of a specified type that is applied to a specified member. - The member to inspect. - The type of attribute to search for. - A custom attribute that matches , or if no such attribute is found. - - or is . - - is not derived from . - - is not a constructor, method, property, event, type, or field. - More than one of the requested attributes was found. - A custom attribute type cannot be loaded. - - - Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member. - The member to inspect. - The type of attribute to search for. - - to inspect the ancestors of ; otherwise, . - A custom attribute that matches , or if no such attribute is found. - - or is . - - is not derived from . - - is not a constructor, method, property, event, type, or field. - More than one of the requested attributes was found. - A custom attribute type cannot be loaded. - - - Retrieves a custom attribute of a specified type that is applied to a specified module. - The module to inspect. - The type of attribute to search for. - A custom attribute that matches , or if no such attribute is found. - - or is . - - is not derived from . - More than one of the requested attributes was found. - - - Retrieves a custom attribute of a specified type that is applied to a specified parameter. - The parameter to inspect. - The type of attribute to search for. - A custom attribute that matches , or if no such attribute is found. - - or is . - - is not derived from . - More than one of the requested attributes was found. - A custom attribute type cannot be loaded. - - - Retrieves a custom attribute of a specified type that is applied to a specified parameter, and optionally inspects the ancestors of that parameter. - The parameter to inspect. - The type of attribute to search for. - - to inspect the ancestors of ; otherwise, . - A custom attribute matching , or if no such attribute is found. - - or is . - - is not derived from . - More than one of the requested attributes was found. - A custom attribute type cannot be loaded. - - - Retrieves a custom attribute of a specified type that is applied to a specified assembly. - The assembly to inspect. - The type of attribute to search for. - A custom attribute that matches , or if no such attribute is found. - - is . - More than one of the requested attributes was found. - - - Retrieves a custom attribute of a specified type that is applied to a specified member. - The member to inspect. - The type of attribute to search for. - A custom attribute that matches , or if no such attribute is found. - - is . - - is not a constructor, method, property, event, type, or field. - More than one of the requested attributes was found. - A custom attribute type cannot be loaded. - - - Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member. - The member to inspect. - - to inspect the ancestors of ; otherwise, . - The type of attribute to search for. - A custom attribute that matches , or if no such attribute is found. - - is . - - is not a constructor, method, property, event, type, or field. - More than one of the requested attributes was found. - A custom attribute type cannot be loaded. - - - Retrieves a custom attribute of a specified type that is applied to a specified module. - The module to inspect. - The type of attribute to search for. - A custom attribute that matches , or if no such attribute is found. - - is . - More than one of the requested attributes was found. - - - Retrieves a custom attribute of a specified type that is applied to a specified parameter. - The parameter to inspect. - The type of attribute to search for. - A custom attribute that matches , or if no such attribute is found. - - is . - - is not a constructor, method, property, event, type, or field. - More than one of the requested attributes was found. - A custom attribute type cannot be loaded. - - - Retrieves a custom attribute of a specified type that is applied to a specified parameter, and optionally inspects the ancestors of that parameter. - The parameter to inspect. - - to inspect the ancestors of ; otherwise, . - The type of attribute to search for. - A custom attribute that matches , or if no such attribute is found. - - is . - - is not a constructor, method, property, event, type, or field. - More than one of the requested attributes was found. - A custom attribute type cannot be loaded. - - - Retrieves a collection of custom attributes that are applied to a specified assembly. - The assembly to inspect. - A collection of the custom attributes that are applied to , or an empty collection if no such attributes exist. - - is . - - - Retrieves a collection of custom attributes of a specified type that are applied to a specified assembly. - The assembly to inspect. - The type of attribute to search for. - A collection of the custom attributes that are applied to and that match , or an empty collection if no such attributes exist. - - or is . - - is not derived from . - - - Retrieves a collection of custom attributes that are applied to a specified member. - The member to inspect. - A collection of the custom attributes that are applied to , or an empty collection if no such attributes exist. - - is . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves a collection of custom attributes that are applied to a specified member, and optionally inspects the ancestors of that member. - The member to inspect. - - to inspect the ancestors of ; otherwise, . - A collection of the custom attributes that are applied to that match the specified criteria, or an empty collection if no such attributes exist. - - is . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves a collection of custom attributes of a specified type that are applied to a specified member. - The member to inspect. - The type of attribute to search for. - A collection of the custom attributes that are applied to and that match , or an empty collection if no such attributes exist. - - or is . - - is not derived from . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves a collection of custom attributes of a specified type that are applied to a specified member, and optionally inspects the ancestors of that member. - The member to inspect. - The type of attribute to search for. - - to inspect the ancestors of ; otherwise, . - A collection of the custom attributes that are applied to and that match , or an empty collection if no such attributes exist. - - or is . - - is not derived from . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves a collection of custom attributes that are applied to a specified module. - The module to inspect. - A collection of the custom attributes that are applied to , or an empty collection if no such attributes exist. - - is . - - - Retrieves a collection of custom attributes of a specified type that are applied to a specified module. - The module to inspect. - The type of attribute to search for. - A collection of the custom attributes that are applied to and that match , or an empty collection if no such attributes exist. - - or is . - - is not derived from . - - - Retrieves a collection of custom attributes that are applied to a specified parameter. - The parameter to inspect. - A collection of the custom attributes that are applied to , or an empty collection if no such attributes exist. - - is . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves a collection of custom attributes that are applied to a specified parameter, and optionally inspects the ancestors of that parameter. - The parameter to inspect. - - to inspect the ancestors of ; otherwise, . - A collection of the custom attributes that are applied to , or an empty collection if no such attributes exist. - - is . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves a collection of custom attributes of a specified type that are applied to a specified parameter. - The parameter to inspect. - The type of attribute to search for. - A collection of the custom attributes that are applied to and that match , or an empty collection if no such attributes exist. - - or is . - - is not derived from . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves a collection of custom attributes of a specified type that are applied to a specified parameter, and optionally inspects the ancestors of that parameter. - The parameter to inspect. - The type of attribute to search for. - - to inspect the ancestors of ; otherwise, . - A collection of the custom attributes that are applied to and that match , or an empty collection if no such attributes exist. - - or is . - - is not derived from . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves a collection of custom attributes of a specified type that are applied to a specified assembly. - The assembly to inspect. - The type of attribute to search for. - A collection of the custom attributes that are applied to and that match , or an empty collection if no such attributes exist. - - is . - - - Retrieves a collection of custom attributes of a specified type that are applied to a specified member. - The member to inspect. - The type of attribute to search for. - A collection of the custom attributes that are applied to and that match , or an empty collection if no such attributes exist. - - is . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves a collection of custom attributes of a specified type that are applied to a specified member, and optionally inspects the ancestors of that member. - The member to inspect. - - to inspect the ancestors of ; otherwise, . - The type of attribute to search for. - A collection of the custom attributes that are applied to and that match , or an empty collection if no such attributes exist. - - is . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves a collection of custom attributes of a specified type that are applied to a specified module. - The module to inspect. - The type of attribute to search for. - A collection of the custom attributes that are applied to and that match , or an empty collection if no such attributes exist. - - is . - - - Retrieves a collection of custom attributes of a specified type that are applied to a specified parameter. - The parameter to inspect. - The type of attribute to search for. - A collection of the custom attributes that are applied to and that match , or an empty collection if no such attributes exist. - - is . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Retrieves a collection of custom attributes of a specified type that are applied to a specified parameter, and optionally inspects the ancestors of that parameter. - The parameter to inspect. - - to inspect the ancestors of ; otherwise, . - The type of attribute to search for. - A collection of the custom attributes that are applied to and that match , or an empty collection if no such attributes exist. - - is . - - is not a constructor, method, property, event, type, or field. - A custom attribute type cannot be loaded. - - - Indicates whether custom attributes of a specified type are applied to a specified assembly. - The assembly to inspect. - The type of the attribute to search for. - - if an attribute of the specified type is applied to ; otherwise, . - - or is . - - is not derived from . - - - Indicates whether custom attributes of a specified type are applied to a specified member. - The member to inspect. - The type of attribute to search for. - - if an attribute of the specified type is applied to ; otherwise, . - - or is . - - is not derived from . - - is not a constructor, method, property, event, type, or field. - - - Indicates whether custom attributes of a specified type are applied to a specified member, and, optionally, applied to its ancestors. - The member to inspect. - The type of the attribute to search for. - - to inspect the ancestors of ; otherwise, . - - if an attribute of the specified type is applied to ; otherwise, . - - or is . - - is not derived from . - - is not a constructor, method, property, event, type, or field. - - - Indicates whether custom attributes of a specified type are applied to a specified module. - The module to inspect. - The type of attribute to search for. - - if an attribute of the specified type is applied to ; otherwise, . - - or is . - - is not derived from . - - - Indicates whether custom attributes of a specified type are applied to a specified parameter. - The parameter to inspect. - The type of attribute to search for. - - if an attribute of the specified type is applied to ; otherwise, . - - or is . - - is not derived from . - - - Indicates whether custom attributes of a specified type are applied to a specified parameter, and, optionally, applied to its ancestors. - The parameter to inspect. - The type of attribute to search for. - - to inspect the ancestors of ; otherwise, . - - if an attribute of the specified type is applied to ; otherwise, . - - or is . - - is not derived from . - - - Initializes a new instance of the class with the default properties. - - - Initializes a new instance of the class with the specified serialization and context information. - The data for serializing or deserializing the custom attribute. - The source and destination for the custom attribute. - - - Initializes a new instance of the class with the specified message. - The message that indicates the reason this exception was thrown. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class, which represents the specified field or property of the custom attribute, and specifies the value of the field or property. - A field or property of the custom attribute. The new object represents this member and its value. - The value of the field or property of the custom attribute. - - is . - - is not a field or property of the custom attribute. - - - Initializes a new instance of the class, which represents the specified field or property of the custom attribute, and specifies a object that describes the type and value of the field or property. - A field or property of the custom attribute. The new object represents this member and its value. - An object that describes the type and value of the field or property. - - is . - - - Returns a value that indicates whether this instance is equal to a specified object. - An object to compare with this instance, or . - - if equals the type and value of this instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Tests whether two structures are equivalent. - The structure to the left of the equality operator. - The structure to the right of the equality operator. - - if the two structures are equal; otherwise, . - - - Tests whether two structures are different. - The structure to the left of the inequality operator. - The structure to the right of the inequality operator. - - if the two structures are different; otherwise, . - - - Returns a string that consists of the argument name, the equal sign, and a string representation of the argument value. - A string that consists of the argument name, the equal sign, and a string representation of the argument value. - - - Initializes a new instance of the class with the specified value. - The value of the custom attribute argument. - - is . - - - Initializes a new instance of the class with the specified type and value. - The type of the custom attribute argument. - The value of the custom attribute argument. - - is . - - - Indicates whether this instance and a specified object are equal. - Another object to compare to. - - if and this instance are the same type and represent the same value; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer that is the hash code for this instance. - - - Tests whether two structures are equivalent. - The structure to the left of the equality operator. - The structure to the right of the equality operator. - - if the two structures are equal; otherwise, . - - - Tests whether two structures are different. - The structure to the left of the inequality operator. - The structure to the right of the inequality operator. - - if the two structures are different; otherwise, . - - - Returns a string consisting of the argument name, the equal sign, and a string representation of the argument value. - A string consisting of the argument name, the equal sign, and a string representation of the argument value. - - - Initializes a new instance of the class. - A containing the name of the member to invoke. This may be a constructor, method, property, or field. A suitable invocation attribute must be specified when the member is invoked. The default member of a class can be specified by passing an empty as the name of the member.The default member of a type is marked with the custom attribute or marked in COM in the usual way. - - - Adds an existing resource file to this assembly. - The logical name of the resource. - The physical file name (.resources file) to which the logical name is mapped. This should not include a path; the file must be in the same directory as the assembly to which it is added. - - has been previously defined.-or- There is another file in the assembly named .-or- The length of is zero.-or- The length of is zero, or if includes a path. - - or is . - The file is not found. - The caller does not have the required permission. - - - Adds an existing resource file to this assembly. - The logical name of the resource. - The physical file name (.resources file) to which the logical name is mapped. This should not include a path; the file must be in the same directory as the assembly to which it is added. - The resource attributes. - - has been previously defined.-or- There is another file in the assembly named .-or- The length of is zero or if the length of is zero.-or- - includes a path. - - or is . - If the file is not found. - The caller does not have the required permission. - - - Defines a dynamic assembly that has the specified name and access rights. - The name of the assembly. - The access rights of the assembly. - An object that represents the new assembly. - - - Defines a new assembly that has the specified name, access rights, and attributes. - The name of the assembly. - The access rights of the assembly. - A collection that contains the attributes of the assembly. - An object that represents the new assembly. - - - Defines a named transient dynamic module in this assembly. - The name of the dynamic module. Must be less than 260 characters in length. - A representing the defined dynamic module. - - begins with white space.-or- The length of is zero.-or- The length of is greater than or equal to 260. - - is . - The caller does not have the required permission. - The assembly for default symbol writer cannot be loaded.-or- The type that implements the default symbol writer interface cannot be found. - - - Defines a named transient dynamic module in this assembly and specifies whether symbol information should be emitted. - The name of the dynamic module. Must be less than 260 characters in length. - - if symbol information is to be emitted; otherwise, . - A representing the defined dynamic module. - - begins with white space.-or- The length of is zero.-or- The length of is greater than or equal to 260. - - is . - The assembly for default symbol writer cannot be loaded.-or- The type that implements the default symbol writer interface cannot be found. - The caller does not have the required permission. - - - Defines a persistable dynamic module with the given name that will be saved to the specified file. No symbol information is emitted. - The name of the dynamic module. Must be less than 260 characters in length. - The name of the file to which the dynamic module should be saved. - A object representing the defined dynamic module. - - or is . - The length of or is zero.-or- The length of is greater than or equal to 260.-or- - contains a path specification (a directory component, for example).-or- There is a conflict with the name of another file that belongs to this assembly. - This assembly has been previously saved. - This assembly was called on a dynamic assembly with attribute. - The caller does not have the required permission. - The assembly for default symbol writer cannot be loaded.-or- The type that implements the default symbol writer interface cannot be found. - - - Defines a persistable dynamic module, specifying the module name, the name of the file to which the module will be saved, and whether symbol information should be emitted using the default symbol writer. - The name of the dynamic module. Must be less than 260 characters in length. - The name of the file to which the dynamic module should be saved. - If , symbolic information is written using the default symbol writer. - A object representing the defined dynamic module. - - or is . - The length of or is zero.-or- The length of is greater than or equal to 260.-or- - contains a path specification (a directory component, for example).-or- There is a conflict with the name of another file that belongs to this assembly. - This assembly has been previously saved. - This assembly was called on a dynamic assembly with the attribute. - The assembly for default symbol writer cannot be loaded.-or- The type that implements the default symbol writer interface cannot be found. - The caller does not have the required permission. - - - Defines a standalone managed resource for this assembly with the default public resource attribute. - The logical name of the resource. - A textual description of the resource. - The physical file name (.resources file) to which the logical name is mapped. This should not include a path. - A object for the specified resource. - - has been previously defined.-or- There is another file in the assembly named .-or- The length of is zero.-or- The length of is zero.-or- - includes a path. - - or is . - The caller does not have the required permission. - - - Defines a standalone managed resource for this assembly. Attributes can be specified for the managed resource. - The logical name of the resource. - A textual description of the resource. - The physical file name (.resources file) to which the logical name is mapped. This should not include a path. - The resource attributes. - A object for the specified resource. - - has been previously defined or if there is another file in the assembly named .-or- The length of is zero.-or- The length of is zero.-or- - includes a path. - - or is . - The caller does not have the required permission. - - - Defines an unmanaged resource for this assembly as an opaque blob of bytes. - The opaque blob of bytes representing the unmanaged resource. - An unmanaged resource was previously defined. - - is . - The caller does not have the required permission. - - - Defines an unmanaged resource file for this assembly given the name of the resource file. - The name of the resource file. - An unmanaged resource was previously defined.-or- The file is not readable.-or- - is the empty string (""). - - is . - - is not found.-or- - is a directory. - The caller does not have the required permission. - - - Defines an unmanaged version information resource using the information specified in the assembly's AssemblyName object and the assembly's custom attributes. - An unmanaged version information resource was previously defined.-or- The unmanaged version information is too large to persist. - The caller does not have the required permission. - - - Defines an unmanaged version information resource for this assembly with the given specifications. - The name of the product with which this assembly is distributed. - The version of the product with which this assembly is distributed. - The name of the company that produced this assembly. - Describes all copyright notices, trademarks, and registered trademarks that apply to this assembly. This should include the full text of all notices, legal symbols, copyright dates, trademark numbers, and so on. In English, this string should be in the format "Copyright Microsoft Corp. 1990-2001". - Describes all trademarks and registered trademarks that apply to this assembly. This should include the full text of all notices, legal symbols, trademark numbers, and so on. In English, this string should be in the format "Windows is a trademark of Microsoft Corporation". - An unmanaged version information resource was previously defined.-or- The unmanaged version information is too large to persist. - The caller does not have the required permission. - - - Returns a value that indicates whether this instance is equal to the specified object. - An object to compare with this instance, or . - - if equals the type and value of this instance; otherwise, . - - - Returns all the custom attributes that have been applied to the current . - This argument is ignored for objects of this type. - An array that contains the custom attributes; the array is empty if there are no attributes. - - - Returns all the custom attributes that have been applied to the current , and that derive from a specified attribute type. - The base type from which attributes derive. - This argument is ignored for objects of this type. - An array that contains the custom attributes that are derived at any level from ; the array is empty if there are no such attributes. - - is . - - is not a object supplied by the runtime. For example, is a object. - - - Returns objects that contain information about the attributes that have been applied to the current . - A generic list of objects representing data about the attributes that have been applied to the current module. - - - Returns the dynamic module with the specified name. - The name of the requested dynamic module. - A ModuleBuilder object representing the requested dynamic module. - - is . - The length of is zero. - The caller does not have the required permission. - - - Gets the exported types defined in this assembly. - An array of containing the exported types defined in this assembly. - This method is not implemented. - The caller does not have the required permission. - - - Gets a for the specified file in the file table of the manifest of this assembly. - The name of the specified file. - A for the specified file, or , if the file is not found. - This method is not currently supported. - The caller does not have the required permission. - - - Gets the files in the file table of an assembly manifest, specifying whether to include resource modules. - - to include resource modules; otherwise, . - An array of objects. - This method is not currently supported. - The caller does not have the required permission. - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns all the loaded modules that are part of this assembly, and optionally includes resource modules. - - to include resource modules; otherwise, . - The loaded modules that are part of this assembly. - - - Returns information about how the given resource has been persisted. - The name of the resource. - - populated with information about the resource's topology, or if the resource is not found. - This method is not currently supported. - The caller does not have the required permission. - - - Loads the specified manifest resource from this assembly. - An array of type containing the names of all the resources. - This method is not supported on a dynamic assembly. To get the manifest resource names, use . - The caller does not have the required permission. - - - Loads the specified manifest resource from this assembly. - The name of the manifest resource being requested. - A representing this manifest resource. - This method is not currently supported. - The caller does not have the required permission. - - - Loads the specified manifest resource, scoped by the namespace of the specified type, from this assembly. - The type whose namespace is used to scope the manifest resource name. - The name of the manifest resource being requested. - A representing this manifest resource. - This method is not currently supported. - The caller does not have the required permission. - - - Gets the specified module in this assembly. - The name of the requested module. - The module being requested, or if the module is not found. - - - Gets all the modules that are part of this assembly, and optionally includes resource modules. - - to include resource modules; otherwise, . - The modules that are part of this assembly. - - - Gets the that was specified when the current dynamic assembly was created, and sets the code base as specified. - - to set the code base to the location of the assembly after it is shadow-copied; to set the code base to the original location. - The name of the dynamic assembly. - - - Gets an incomplete list of objects for the assemblies that are referenced by this . - An array of assembly names for the referenced assemblies. This array is not a complete list. - - - Gets the satellite assembly for the specified culture. - The specified culture. - The specified satellite assembly. - - is . - The assembly cannot be found. - The satellite assembly with a matching file name was found, but the did not match the one specified. - The satellite assembly is not a valid assembly. - - - Gets the specified version of the satellite assembly for the specified culture. - The specified culture. - The version of the satellite assembly. - The specified satellite assembly. - - is . - The satellite assembly with a matching file name was found, but the or the version did not match the one specified. - The assembly cannot be found. - The satellite assembly is not a valid assembly. - - - Gets the specified type from the types that have been defined and created in the current . - The name of the type to search for. - - to throw an exception if the type is not found; otherwise, . - - to ignore the case of the type name when searching; otherwise, . - The specified type, or if the type is not found or has not been created yet. - - - Returns a value that indicates whether one or more instances of the specified attribute type is applied to this member. - The type of attribute to test for. - This argument is ignored for objects of this type. - - if one or more instances of is applied to this dynamic assembly; otherwise, . - - - Saves this dynamic assembly to disk. - The file name of the assembly. - The length of is 0.-or- There are two or more modules resource files in the assembly with the same name.-or- The target directory of the assembly is invalid.-or- - is not a simple file name (for example, has a directory or drive component), or more than one unmanaged resource, including a version information resource, was defined in this assembly.-or- The string in is not a valid string and was called prior to calling this method. - - is . - This assembly has been saved before.-or- This assembly has access - An output error occurs during the save. - - has not been called for any of the types in the modules of the assembly to be written to disk. - - - Saves this dynamic assembly to disk, specifying the nature of code in the assembly's executables and the target platform. - The file name of the assembly. - A bitwise combination of the values that specifies the nature of the code. - One of the values that specifies the target platform. - The length of is 0.-or- There are two or more modules resource files in the assembly with the same name.-or- The target directory of the assembly is invalid.-or- - is not a simple file name (for example, has a directory or drive component), or more than one unmanaged resource, including a version information resources, was defined in this assembly.-or- The string in is not a valid string and was called prior to calling this method. - - is . - This assembly has been saved before.-or- This assembly has access - An output error occurs during the save. - - has not been called for any of the types in the modules of the assembly to be written to disk. - - - Set a custom attribute on this assembly using a specified custom attribute blob. - The constructor for the custom attribute. - A byte blob representing the attributes. - - or is . - The caller does not have the required permission. - - is not a object. - - - Set a custom attribute on this assembly using a custom attribute builder. - An instance of a helper class to define the custom attribute. - - is . - The caller does not have the required permission. - - - Sets the entry point for this dynamic assembly, assuming that a console application is being built. - A reference to the method that represents the entry point for this dynamic assembly. - - is . - - is not contained within this assembly. - The caller does not have the required permission. - - - Sets the entry point for this assembly and defines the type of the portable executable (PE file) being built. - A reference to the method that represents the entry point for this dynamic assembly. - The type of the assembly executable being built. - - is . - - is not contained within this assembly. - The caller does not have the required permission. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - The method is called late-bound using the COM IDispatch interface. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - The method is called late-bound using the COM IDispatch interface. - - - Adds declarative security to this constructor. - The security action to be taken, such as Demand, Assert, and so on. - The set of permissions the action applies to. - - is invalid (RequestMinimum, RequestOptional, and RequestRefuse are invalid). - The containing type has been previously created using .-or- The permission set contains an action that was added earlier by . - - is . - - - Defines a parameter of this constructor. - The position of the parameter in the parameter list. Parameters are indexed beginning with the number 1 for the first parameter. - The attributes of the parameter. - The name of the parameter. The name can be the null string. - Returns a object that represents the new parameter of this constructor. - - is less than 0 (zero), or it is greater than the number of parameters of the constructor. - The containing type has been created using . - - - Returns all the custom attributes defined for this constructor. - Controls inheritance of custom attributes from base classes. This parameter is ignored. - Returns an array of objects representing all the custom attributes of the constructor represented by this instance. - This method is not currently supported. - - - Returns the custom attributes identified by the given type. - The custom attribute type. - Controls inheritance of custom attributes from base classes. This parameter is ignored. - Returns an array of type representing the attributes of this constructor. - This method is not currently supported. - - - Gets an for this constructor. - Returns an object for this constructor. - The constructor is a default constructor.-or-The constructor has or flags indicating that it should not have a method body. - - - Gets an object, with the specified MSIL stream size, that can be used to build a method body for this constructor. - The size of the MSIL stream, in bytes. - An for this constructor. - The constructor is a default constructor.-or-The constructor has or flags indicating that it should not have a method body. - - - Returns the method implementation flags for this constructor. - The method implementation flags for this constructor. - - - Returns a reference to the module that contains this constructor. - The module that contains this constructor. - - - Returns the parameters of this constructor. - Returns an array of objects that represent the parameters of this constructor. - - has not been called on this constructor's type, in the .NET Framework versions 1.0 and 1.1. - - has not been called on this constructor's type, in the .NET Framework version 2.0. - - - Returns the that represents the token for this constructor. - Returns the of this constructor. - - - Dynamically invokes the constructor reflected by this instance with the specified arguments, under the constraints of the specified . - The object that needs to be reinitialized. - One of the values that specifies the type of binding that is desired. - A that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. If is , then Binder.DefaultBinding is used. - An argument list. This is an array of arguments with the same number, order, and type as the parameters of the constructor to be invoked. If there are no parameters, this should be a null reference ( in Visual Basic). - A used to govern the coercion of types. If this is null, the for the current thread is used. - An instance of the class associated with the constructor. - This method is not currently supported. You can retrieve the constructor using and call on the returned . - - - Invokes the constructor dynamically reflected by this instance on the given object, passing along the specified parameters, and under the constraints of the given binder. - This must be a bit flag from , such as InvokeMethod, NonPublic, and so on. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects using reflection. If binder is , the default binder is used. See . - An argument list. This is an array of arguments with the same number, order, and type as the parameters of the constructor to be invoked. If there are no parameters this should be . - An instance of used to govern the coercion of types. If this is null, the for the current thread is used. (For example, this is necessary to convert a that represents 1000 to a value, since 1000 is represented differently by different cultures.) - Returns an that is the return value of the invoked constructor. - This method is not currently supported. You can retrieve the constructor using and call on the returned . - - - Checks if the specified custom attribute type is defined. - A custom attribute type. - Controls inheritance of custom attributes from base classes. This parameter is ignored. - - if the specified custom attribute type is defined; otherwise, . - This method is not currently supported. You can retrieve the constructor using and call on the returned . - - - Set a custom attribute using a specified custom attribute blob. - The constructor for the custom attribute. - A byte blob representing the attributes. - - or is . - - - Set a custom attribute using a custom attribute builder. - An instance of a helper class to define the custom attribute. - - is . - - - Sets the method implementation flags for this constructor. - The method implementation flags. - The containing type has been created using . - - - Creates the body of the constructor by using a specified byte array of Microsoft intermediate language (MSIL) instructions. - An array that contains valid MSIL instructions. - The maximum stack evaluation depth. - An array of bytes that contain the serialized local variable structure. Specify if the constructor has no local variables. - A collection that contains the exception handlers for the constructor. Specify if the constructor has no exception handlers. - A collection of values that represent offsets in , each of which specifies the beginning of a token that may be modified. Specify if the constructor has no tokens that have to be modified. - - is . - - is negative.-or- One of specifies an offset outside of .-or- One of specifies an offset that is outside the array. - The containing type was previously created using the method.-or- This method was called previously on this object. - - - Sets this constructor's custom attribute associated with symbolic information. - The name of the custom attribute. - The value of the custom attribute. - The containing type has been created using .-or- The module does not have a symbol writer defined. For example, the module is not a debug module. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Returns this instance as a . - Returns a containing the name, attributes, and exceptions of this constructor, followed by the current Microsoft intermediate language (MSIL) stream. - - - Initializes an instance of the class given the constructor for the custom attribute and the arguments to the constructor. - The constructor for the custom attribute. - The arguments to the constructor of the custom attribute. - - is static or private.-or- The number of supplied arguments does not match the number of parameters of the constructor as required by the calling convention of the constructor.-or- The type of supplied argument does not match the type of the parameter declared in the constructor. -or-A supplied argument is a reference type other than or . - - or is . - - - Initializes an instance of the class given the constructor for the custom attribute, the arguments to the constructor, and a set of named field/value pairs. - The constructor for the custom attribute. - The arguments to the constructor of the custom attribute. - Named fields of the custom attribute. - Values for the named fields of the custom attribute. - The lengths of the and arrays are different.-or- - is static or private.-or- The number of supplied arguments does not match the number of parameters of the constructor as required by the calling convention of the constructor.-or- The type of supplied argument does not match the type of the parameter declared in the constructor.-or- The types of the field values do not match the types of the named fields.-or- The field does not belong to the same class or base class as the constructor. -or-A supplied argument or named field is a reference type other than or . - One of the parameters is . - - - Initializes an instance of the class given the constructor for the custom attribute, the arguments to the constructor, and a set of named property or value pairs. - The constructor for the custom attribute. - The arguments to the constructor of the custom attribute. - Named properties of the custom attribute. - Values for the named properties of the custom attribute. - The lengths of the and arrays are different.-or- - is static or private.-or- The number of supplied arguments does not match the number of parameters of the constructor as required by the calling convention of the constructor.-or- The type of supplied argument does not match the type of the parameter declared in the constructor.-or- The types of the property values do not match the types of the named properties.-or- A property has no setter method.-or- The property does not belong to the same class or base class as the constructor. -or-A supplied argument or named property is a reference type other than or . - One of the parameters is . - - - Initializes an instance of the class given the constructor for the custom attribute, the arguments to the constructor, a set of named property or value pairs, and a set of named field or value pairs. - The constructor for the custom attribute. - The arguments to the constructor of the custom attribute. - Named properties of the custom attribute. - Values for the named properties of the custom attribute. - Named fields of the custom attribute. - Values for the named fields of the custom attribute. - The lengths of the and arrays are different.-or- The lengths of the and arrays are different.-or- - is static or private.-or- The number of supplied arguments does not match the number of parameters of the constructor as required by the calling convention of the constructor.-or- The type of supplied argument does not match the type of the parameter declared in the constructor.-or- The types of the property values do not match the types of the named properties.-or- The types of the field values do not match the types of the corresponding field types.-or- A property has no setter.-or- The property or field does not belong to the same class or base class as the constructor. -or-A supplied argument, named property, or named field is a reference type other than or . - One of the parameters is . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - The method is called late-bound using the COM IDispatch interface. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - The method is called late-bound using the COM IDispatch interface. - - - Gets a token, valid in the scope of the current , representing the signature for the associated dynamic method. - An array that contains the signature. - A token that can be embedded in the metadata and the MSIL stream for the associated dynamic method. - - - Gets a token, valid in the scope of the current , representing a dynamic method to be called from the associated method. - The dynamic method to call. - A token that can be embedded in the MSIL stream for the associated dynamic method, as the target of an MSIL instruction. - - - Gets a token, valid in the scope of the current , representing a field to be accessed from the associated dynamic method. - The field to be accessed. - A token that can be used as the operand of an MSIL instruction that accesses fields, in the scope of the current object. - - - Gets a token, valid in the scope of the current , representing a field to be accessed from the associated dynamic method; the field is on the specified generic type. - The field to be accessed. - The generic type the field belongs to. - A token that can be used as the operand of an MSIL instruction that accesses fields in the scope of the current object. - - - Gets a token, valid in the scope of the current , representing a method to be accessed from the associated dynamic method. - The method to be accessed. - A token that can be used as the operand of an MSIL instruction that accesses methods, such as or , in the scope of the current object. - - - Gets a token, valid in the scope of the current , representing a method on a generic type. - The method. - The generic type the method belongs to. - A token that can be used as the operand of an MSIL instruction that accesses methods, such as or , in the scope of the current object. - - - Gets a token, valid in the scope of the current , representing a type to be used in the associated dynamic method. - The type to be used. - A token that can be used as the operand of an MSIL instruction that requires a type, in the scope of the current object. - - - Gets a token, valid in the scope of the current , representing a string literal to be used in the associated dynamic method. - The string to be used. - A token that can be used as the operand of an MSIL instruction that requires a string, in the scope of the current object. - - - Sets the code body of the associated dynamic method. - A pointer to a byte array containing the MSIL stream. - The number of bytes in the MSIL stream. - The maximum number of items on the operand stack when the method is executing. - - is and is greater than 0. - - is less than 0. - - - Sets the code body of the associated dynamic method. - An array that contains the MSIL stream. - The maximum number of items on the operand stack when the method is executing. - - - Sets the exception metadata for the associated dynamic method. - A pointer to a byte array containing the exception metadata. - The number of bytes of exception metadata. - - is and is greater than 0. - - is less than 0. - - - Sets the exception metadata for the associated dynamic method. - An array that contains the exception metadata. - - - Sets the local variable signature that describes the layout of local variables for the associated dynamic method. - An array that contains the layout of local variables for the associated . - The number of bytes in the signature. - - is and is greater than 0. - - is less than 0. - - - Sets the local variable signature that describes the layout of local variables for the associated dynamic method. - An array that contains the layout of local variables for the associated . - - - Creates a dynamic method that is global to a module, specifying the method name, attributes, calling convention, return type, parameter types, module, and whether just-in-time (JIT) visibility checks should be skipped for types and members accessed by the Microsoft intermediate language (MSIL) of the dynamic method. - The name of the dynamic method. This can be a zero-length string, but it cannot be . - A bitwise combination of values that specifies the attributes of the dynamic method. The only combination allowed is and . - The calling convention for the dynamic method. Must be . - A object that specifies the return type of the dynamic method, or if the method has no return type. - An array of objects specifying the types of the parameters of the dynamic method, or if the method has no parameters. - A representing the module with which the dynamic method is to be logically associated. - - to skip JIT visibility checks on types and members accessed by the MSIL of the dynamic method; otherwise, . - An element of is or .-or- - is a module that provides anonymous hosting for dynamic methods. - - is . -or- - is . - - is a combination of flags other than and .-or- - is not .-or- - is a type for which returns . - - - Creates a dynamic method, specifying the method name, attributes, calling convention, return type, parameter types, the type with which the dynamic method is logically associated, and whether just-in-time (JIT) visibility checks should be skipped for types and members accessed by the Microsoft intermediate language (MSIL) of the dynamic method. - The name of the dynamic method. This can be a zero-length string, but it cannot be . - A bitwise combination of values that specifies the attributes of the dynamic method. The only combination allowed is and . - The calling convention for the dynamic method. Must be . - A object that specifies the return type of the dynamic method, or if the method has no return type. - An array of objects specifying the types of the parameters of the dynamic method, or if the method has no parameters. - A with which the dynamic method is logically associated. The dynamic method has access to all members of the type. - - to skip JIT visibility checks on types and members accessed by the MSIL of the dynamic method; otherwise, . - An element of is or . -or- - is an interface, an array, an open generic type, or a type parameter of a generic type or method. - - is . -or- - is . - - is a combination of flags other than and .-or- - is not .-or- - is a type for which returns . - - - Initializes an anonymously hosted dynamic method, specifying the method name, return type, and parameter types. - The name of the dynamic method. This can be a zero-length string, but it cannot be . - A object that specifies the return type of the dynamic method, or if the method has no return type. - An array of objects specifying the types of the parameters of the dynamic method, or if the method has no parameters. - An element of is or . - - is . - - is a type for which returns . - - - Initializes an anonymously hosted dynamic method, specifying the method name, return type, parameter types, and whether just-in-time (JIT) visibility checks should be skipped for types and members accessed by the Microsoft intermediate language (MSIL) of the dynamic method. - The name of the dynamic method. This can be a zero-length string, but it cannot be . - A object that specifies the return type of the dynamic method, or if the method has no return type. - An array of objects specifying the types of the parameters of the dynamic method, or if the method has no parameters. - - to skip JIT visibility checks on types and members accessed by the MSIL of the dynamic method, with this restriction: the trust level of the assemblies that contain those types and members must be equal to or less than the trust level of the call stack that emits the dynamic method; otherwise, . - An element of is or . - - is . - - is a type for which returns . - - - Creates a dynamic method that is global to a module, specifying the method name, return type, parameter types, and module. - The name of the dynamic method. This can be a zero-length string, but it cannot be . - A object that specifies the return type of the dynamic method, or if the method has no return type. - An array of objects specifying the types of the parameters of the dynamic method, or if the method has no parameters. - A representing the module with which the dynamic method is to be logically associated. - An element of is or . -or- - is a module that provides anonymous hosting for dynamic methods. - - is . -or- - is . - - is a type for which returns . - - - Creates a dynamic method that is global to a module, specifying the method name, return type, parameter types, module, and whether just-in-time (JIT) visibility checks should be skipped for types and members accessed by the Microsoft intermediate language (MSIL) of the dynamic method. - The name of the dynamic method. This can be a zero-length string, but it cannot be . - A object that specifies the return type of the dynamic method, or if the method has no return type. - An array of objects specifying the types of the parameters of the dynamic method, or if the method has no parameters. - A representing the module with which the dynamic method is to be logically associated. - - to skip JIT visibility checks on types and members accessed by the MSIL of the dynamic method. - An element of is or . -or- - is a module that provides anonymous hosting for dynamic methods. - - is . -or- - is . - - is a type for which returns . - - - Creates a dynamic method, specifying the method name, return type, parameter types, and the type with which the dynamic method is logically associated. - The name of the dynamic method. This can be a zero-length string, but it cannot be . - A object that specifies the return type of the dynamic method, or if the method has no return type. - An array of objects specifying the types of the parameters of the dynamic method, or if the method has no parameters. - A with which the dynamic method is logically associated. The dynamic method has access to all members of the type. - An element of is or .-or- - is an interface, an array, an open generic type, or a type parameter of a generic type or method. - - is . -or- - is . - - is , or is a type for which returns . - - - Creates a dynamic method, specifying the method name, return type, parameter types, the type with which the dynamic method is logically associated, and whether just-in-time (JIT) visibility checks should be skipped for types and members accessed by the Microsoft intermediate language (MSIL) of the dynamic method. - The name of the dynamic method. This can be a zero-length string, but it cannot be . - A object that specifies the return type of the dynamic method, or if the method has no return type. - An array of objects specifying the types of the parameters of the dynamic method, or if the method has no parameters. - A with which the dynamic method is logically associated. The dynamic method has access to all members of the type. - - to skip JIT visibility checks on types and members accessed by the MSIL of the dynamic method; otherwise, . - An element of is or .-or- - is an interface, an array, an open generic type, or a type parameter of a generic type or method. - - is . -or- - is . - - is , or is a type for which returns . - - - Completes the dynamic method and creates a delegate that can be used to execute it. - A delegate type whose signature matches that of the dynamic method. - A delegate of the specified type, which can be used to execute the dynamic method. - The dynamic method has no method body. - - has the wrong number of parameters or the wrong parameter types. - - - Completes the dynamic method and creates a delegate that can be used to execute it, specifying the delegate type and an object the delegate is bound to. - A delegate type whose signature matches that of the dynamic method, minus the first parameter. - An object the delegate is bound to. Must be of the same type as the first parameter of the dynamic method. - A delegate of the specified type, which can be used to execute the dynamic method with the specified target object. - The dynamic method has no method body. - - is not the same type as the first parameter of the dynamic method, and is not assignable to that type.-or- - has the wrong number of parameters or the wrong parameter types. - - - Defines a parameter of the dynamic method. - The position of the parameter in the parameter list. Parameters are indexed beginning with the number 1 for the first parameter. - A bitwise combination of values that specifies the attributes of the parameter. - The name of the parameter. The name can be a zero-length string. - Always returns . - The method has no parameters.-or- - is less than 0.-or- - is greater than the number of the method's parameters. - - - Returns the base implementation for the method. - The base implementation of the method. - - - Returns all the custom attributes defined for the method. - - to search the method's inheritance chain to find the custom attributes; to check only the current method. - An array of objects representing all the custom attributes of the method. - - - Returns the custom attributes of the specified type that have been applied to the method. - A representing the type of custom attribute to return. - - to search the method's inheritance chain to find the custom attributes; to check only the current method. - An array of objects representing the attributes of the method that are of type or derive from type . - - is . - - - Returns a object that can be used to generate a method body from metadata tokens, scopes, and Microsoft intermediate language (MSIL) streams. - A object that can be used to generate a method body from metadata tokens, scopes, and MSIL streams. - - - Returns a Microsoft intermediate language (MSIL) generator for the method with a default MSIL stream size of 64 bytes. - An object for the method. - - - Returns a Microsoft intermediate language (MSIL) generator for the method with the specified MSIL stream size. - The size of the MSIL stream, in bytes. - An object for the method, with the specified MSIL stream size. - - - Returns the implementation flags for the method. - A bitwise combination of values representing the implementation flags for the method. - - - Returns the parameters of the dynamic method. - An array of objects that represent the parameters of the dynamic method. - - - Invokes the dynamic method using the specified parameters, under the constraints of the specified binder, with the specified culture information. - This parameter is ignored for dynamic methods, because they are static. Specify . - A bitwise combination of values. - A object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects through reflection. If is , the default binder is used. For more details, see . - An argument list. This is an array of arguments with the same number, order, and type as the parameters of the method to be invoked. If there are no parameters this parameter should be . - An instance of used to govern the coercion of types. If this is , the for the current thread is used. For example, this information is needed to correctly convert a that represents 1000 to a value, because 1000 is represented differently by different cultures. - A containing the return value of the invoked method. - The calling convention is not supported. - The number of elements in does not match the number of parameters in the dynamic method. - The type of one or more elements of does not match the type of the corresponding parameter of the dynamic method. - The dynamic method is associated with a module, is not anonymously hosted, and was constructed with set to , but the dynamic method accesses members that are not or ( in Visual Basic).-or-The dynamic method is anonymously hosted and was constructed with set to , but it accesses members that are not .-or- - The dynamic method contains unverifiable code. See the "Verification" section in Remarks for . - - - Indicates whether the specified custom attribute type is defined. - A representing the type of custom attribute to search for. - - to search the method's inheritance chain to find the custom attributes; to check only the current method. - - if the specified custom attribute type is defined; otherwise, . - - - Returns the signature of the method, represented as a string. - A string representing the method signature. - - - Creates a object for this enum. - A object for this enum. - This type has been previously created.-or- The enclosing type has not been created. - - - Gets a object that represents this enumeration. - An object that represents this enumeration. - - - Defines the named static field in an enumeration type with the specified constant value. - The name of the static field. - The constant value of the literal. - The defined field. - - - Returns an array of objects representing the public and non-public constructors defined for this class, as specified. - This must be a bit flag from : , , and so on. - Returns an array of objects representing the specified constructors defined for this class. If no constructors are defined, an empty array is returned. - This method is not currently supported in types that are not complete. - - - Returns all the custom attributes defined for this constructor. - Specifies whether to search this member's inheritance chain to find the attributes. - Returns an array of objects representing all the custom attributes of the constructor represented by this instance. - This method is not currently supported in types that are not complete. - - - Returns the custom attributes identified by the given type. - The object to which the custom attributes are applied. - Specifies whether to search this member's inheritance chain to find the attributes. - Returns an array of objects representing the attributes of this constructor that are of . - This method is not currently supported in types that are not complete. - - - Calling this method always throws . - This method is not supported. No value is returned. - This method is not currently supported. - - - Returns the underlying integer type of the current enumeration, which is set when the enumeration builder is defined. - The underlying type. - - - Returns the event with the specified name. - The name of the event to get. - This invocation attribute. This must be a bit flag from : , , and so on. - Returns an object representing the event declared or inherited by this type with the specified name. If there are no matches, is returned. - This method is not currently supported in types that are not complete. - - - Returns the events for the public events declared or inherited by this type. - Returns an array of objects representing the public events declared or inherited by this type. An empty array is returned if there are no public events. - This method is not currently supported in types that are not complete. - - - Returns the public and non-public events that are declared by this type. - This must be a bit flag from , such as , , and so on. - Returns an array of objects representing the public and non-public events declared or inherited by this type. An empty array is returned if there are no events, as specified. - This method is not currently supported in types that are not complete. - - - Returns the field specified by the given name. - The name of the field to get. - This must be a bit flag from : , , and so on. - Returns the object representing the field declared or inherited by this type with the specified name and public or non-public modifier. If there are no matches, then null is returned. - This method is not currently supported in types that are not complete. - - - Returns the public and non-public fields that are declared by this type. - This must be a bit flag from , such as InvokeMethod, NonPublic, and so on. - Returns an array of objects representing the public and non-public fields declared or inherited by this type. An empty array is returned if there are no fields, as specified. - This method is not currently supported in types that are not complete. - - - Returns the interface implemented (directly or indirectly) by this type, with the specified fully-qualified name. - The name of the interface. - If , the search is case-insensitive. If , the search is case-sensitive. - Returns a object representing the implemented interface. Returns null if no interface matching name is found. - This method is not currently supported in types that are not complete. - - - Returns an interface mapping for the interface requested. - The type of the interface for which the interface mapping is to be retrieved. - The requested interface mapping. - The type does not implement the interface. - - - Returns an array of all the interfaces implemented on this a class and its base classes. - Returns an array of objects representing the implemented interfaces. If none are defined, an empty array is returned. - - - Returns all members with the specified name, type, and binding that are declared or inherited by this type. - The name of the member. - The type of member that is to be returned. - This must be a bit flag from : , , and so on. - Returns an array of objects representing the public and non-public members defined on this type if is used; otherwise, only the public members are returned. - This method is not currently supported in types that are not complete. - - - Returns the specified members declared or inherited by this type,. - This must be a bit flag from : , , and so on. - Returns an array of objects representing the public and non-public members declared or inherited by this type. An empty array is returned if there are no matching members. - This method is not currently supported in types that are not complete. - - - Returns all the public and non-public methods declared or inherited by this type, as specified. - This must be a bit flag from , such as , , and so on. - Returns an array of objects representing the public and non-public methods defined on this type if is used; otherwise, only the public methods are returned. - This method is not currently supported in types that are not complete. - - - Returns the specified nested type that is declared by this type. - The containing the name of the nested type to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to conduct a case-sensitive search for public methods. - A object representing the nested type that matches the specified requirements, if found; otherwise, . - This method is not currently supported in types that are not complete. - - - Returns the public and non-public nested types that are declared or inherited by this type. - This must be a bit flag from , such as , , and so on. - An array of objects representing all the types nested within the current that match the specified binding constraints.An empty array of type , if no types are nested within the current , or if none of the nested types match the binding constraints. - This method is not currently supported in types that are not complete. - - - Returns all the public and non-public properties declared or inherited by this type, as specified. - This invocation attribute. This must be a bit flag from : , , and so on. - Returns an array of objects representing the public and non-public properties defined on this type if is used; otherwise, only the public properties are returned. - This method is not currently supported in types that are not complete. - - - Invokes the specified member. The method that is to be invoked must be accessible and provide the most specific match with the specified argument list, under the contraints of the specified binder and invocation attributes. - The name of the member to invoke. This can be a constructor, method, property, or field. A suitable invocation attribute must be specified. Note that it is possible to invoke the default member of a class by passing an empty string as the name of the member. - The invocation attribute. This must be a bit flag from . - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects using reflection. If binder is , the default binder is used. See . - The object on which to invoke the specified member. If the member is static, this parameter is ignored. - An argument list. This is an array of objects that contains the number, order, and type of the parameters of the member to be invoked. If there are no parameters this should be null. - An array of the same length as with elements that represent the attributes associated with the arguments of the member to be invoked. A parameter has attributes associated with it in the metadata. They are used by various interoperability services. See the metadata specs for details such as this. - An instance of used to govern the coercion of types. If this is null, the for the current thread is used. (Note that this is necessary to, for example, convert a string that represents 1000 to a double value, since 1000 is represented differently by different cultures.) - Each parameter in the array gets the value in the corresponding element in the array. If the length of is greater than the length of , the remaining argument values are passed in order. - Returns the return value of the invoked member. - This method is not currently supported in types that are not complete. - - - Gets a value that indicates whether a specified object can be assigned to this object. - The object to test. - - if can be assigned to this object; otherwise, . - - - Checks if the specified custom attribute type is defined. - The object to which the custom attributes are applied. - Specifies whether to search this member's inheritance chain to find the attributes. - - if one or more instance of is defined on this member; otherwise, . - This method is not currently supported in types that are not complete. - - - Returns a object representing a one-dimensional array of the current type, with a lower bound of zero. - A object representing a one-dimensional array of the current type, with a lower bound of zero. - - - Returns a object representing an array of the current type, with the specified number of dimensions. - The number of dimensions for the array. This number must be less than or equal to 32. - An object representing an array of the current type, with the specified number of dimensions. - - is less than 1. - - - Returns a object that represents the current type when passed as a ref parameter (ByRef parameter in Visual Basic). - A object that represents the current type when passed as a ref parameter (ByRef parameter in Visual Basic). - - - Returns a object that represents a pointer to the current type. - A object that represents a pointer to the current type. - - - Sets a custom attribute using a specified custom attribute blob. - The constructor for the custom attribute. - A byte blob representing the attributes. - - or is . - - - Sets a custom attribute using a custom attribute builder. - An instance of a helper class to define the custom attribute. - - is . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - The method is called late-bound using the COM IDispatch interface. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - The method is called late-bound using the COM IDispatch interface. - - - Adds one of the "other" methods associated with this event. "Other" methods are methods other than the "on" and "raise" methods associated with an event. This function can be called many times to add as many "other" methods. - A object that represents the other method. - - is . - - has been called on the enclosing type. - - - Returns the token for this event. - Returns the for this event. - - - Sets the method used to subscribe to this event. - A object that represents the method used to subscribe to this event. - - is . - - has been called on the enclosing type. - - - Set a custom attribute using a specified custom attribute blob. - The constructor for the custom attribute. - A byte blob representing the attributes. - - or is . - - has been called on the enclosing type. - - - Sets a custom attribute using a custom attribute builder. - An instance of a helper class to describe the custom attribute. - - is . - - has been called on the enclosing type. - - - Sets the method used to raise this event. - A object that represents the method used to raise this event. - - is . - - has been called on the enclosing type. - - - Sets the method used to unsubscribe to this event. - A object that represents the method used to unsubscribe to this event. - - is . - - has been called on the enclosing type. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - The method is called late-bound using the COM IDispatch interface. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - The method is called late-bound using the COM IDispatch interface. - - - Checks if the given object is an instance of and is equal to this instance. - The object to be compared with this instance. - Returns if is an instance of and equals the current instance; otherwise, . - - - Indicates whether the current instance is equal to the specified . - The to compare to the current instance. - - if the value of is equal to the value of the current instance; otherwise, . - - - Generates the hash code for this event. - Returns the hash code for this instance. - - - Indicates whether two structures are equal. - The to compare to . - The to compare to . - - if is equal to ; otherwise, . - - - Indicates whether two structures are not equal. - The to compare to . - The to compare to . - - if is not equal to ; otherwise, . - - - Initializes a new instance of the class with the specified parameters. - The byte offset of the first instruction protected by this exception handler. - The number of bytes protected by this exception handler. - The byte offset of the beginning of the filter code. The filter code ends at the first instruction of the handler block. For non-filter exception handlers, specify 0 (zero) for this parameter. - The byte offset of the first instruction of this exception handler. - The number of bytes in this exception handler. - One of the enumeration values that specifies the kind of exception handler. - The token of the exception type handled by this exception handler. If not applicable, specify 0 (zero). - - , , , , or are negative. - - - Indicates whether this instance of the object is equal to a specified object. - The object to compare this instance to. - - if and this instance are equal; otherwise, . - - - Indicates whether this instance of the object is equal to another object. - The exception handler object to compare this instance to. - - if and this instance are equal; otherwise, . - - - Serves as the default hash function. - The hash code for the current object. - - - Determines whether two specified instances of are equal. - The first object to compare. - The second object to compare. - - if and are equal; otherwise, . - - - Determines whether two specified instances of are not equal. - The first object to compare. - The second object to compare. - - if and are not equal; otherwise, . - - - Returns all the custom attributes defined for this field. - Controls inheritance of custom attributes from base classes. - An array of type representing all the custom attributes of the constructor represented by this instance. - This method is not supported. - - - Returns all the custom attributes defined for this field identified by the given type. - The custom attribute type. - Controls inheritance of custom attributes from base classes. - An array of type representing all the custom attributes of the constructor represented by this instance. - This method is not supported. - - - Returns the token representing this field. - Returns the object that represents the token for this field. - - - Retrieves the value of the field supported by the given object. - The object on which to access the field. - An containing the value of the field reflected by this instance. - This method is not supported. - - - Indicates whether an attribute having the specified type is defined on a field. - The type of the attribute. - Controls inheritance of custom attributes from base classes. - - if one or more instance of is defined on this field; otherwise, . - This method is not currently supported. Retrieve the field using and call on the returned . - - - Sets the default value of this field. - The new default value for this field. - The containing type has been created using . - The field is not one of the supported types.-or-The type of does not match the type of the field.-or-The field is of type or other reference type, is not , and the value cannot be assigned to the reference type. - - - Sets a custom attribute using a specified custom attribute blob. - The constructor for the custom attribute. - A byte blob representing the attributes. - - or is . - The parent type of this field is complete. - - - Sets a custom attribute using a custom attribute builder. - An instance of a helper class to define the custom attribute. - - is . - The parent type of this field is complete. - - - Describes the native marshaling of the field. - A descriptor specifying the native marshalling of this field. - - is . - The containing type has been created using . - - - Specifies the field layout. - The offset of the field within the type containing this field. - The containing type has been created using . - - is less than zero. - - - Sets the value of the field supported by the given object. - The object on which to access the field. - The value to assign to the field. - A member of that specifies the type of binding that is desired (for example, IBinder.CreateInstance, IBinder.ExactBinding). - A set of properties and enabling for binding, coercion of argument types, and invocation of members using reflection. If binder is null, then IBinder.DefaultBinding is used. - The software preferences of a particular culture. - This method is not supported. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - The method is called late-bound using the COM IDispatch interface. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - The method is called late-bound using the COM IDispatch interface. - - - Determines if an object is an instance of and is equal to this instance. - The object to compare to this . - Returns if is an instance of and is equal to this object; otherwise, . - - - Indicates whether the current instance is equal to the specified . - The to compare to the current instance. - - if the value of is equal to the value of the current instance; otherwise, . - - - Generates the hash code for this field. - Returns the hash code for this instance. - - - Indicates whether two structures are equal. - The to compare to . - The to compare to . - - if is equal to ; otherwise, . - - - Indicates whether two structures are not equal. - The to compare to . - The to compare to . - - if is not equal to ; otherwise, . - - - Tests whether the given object is an instance of and is equal to the current instance. - The object to be compared with the current instance. - Returns if is an instance of and equals the current instance; otherwise, . - - - Not supported for incomplete generic type parameters. - Not supported. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - Specifies whether to search this member's inheritance chain to find the attributes. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - The type of attribute to search for. Only attributes that are assignable to this type are returned. - Specifies whether to search this member's inheritance chain to find the attributes. - Not supported for incomplete generic type parameters. - In all cases. - - - Throws a in all cases. - The type referred to by the current array type, pointer type, or type; or if the current type is not an array type, is not a pointer type, and is not passed by reference. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported. - Not supported. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported. - Not supported. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported. - Not supported for incomplete generic type parameters. - In all cases. - - - Not valid for generic type parameters. - Not valid for generic type parameters. - In all cases. - - - Not valid for generic type parameters. - Not valid for generic type parameters. - In all cases. - - - Returns a 32-bit integer hash code for the current instance. - A 32-bit integer hash code. - - - Not supported for incomplete generic type parameters. - The name of the interface. - - to search without regard for case; to make a case-sensitive search. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - A object that represents the interface type for which the mapping is to be retrieved. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported. - Not supported. - Not supported. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported. - Not supported. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported. - Not supported. - Not supported. - Not supported. - Not supported. - Not supported. - Not supported. - Not supported. - Not supported for incomplete generic type parameters. - In all cases. - - - Throws a exception in all cases. - The object to test. - Throws a exception in all cases. - In all cases. - - - Throws a exception in all cases. - The object to test. - Throws a exception in all cases. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported. - Not supported. - Not supported for incomplete generic type parameters. - In all cases. - - - Not supported for incomplete generic type parameters. - Not supported. - Not supported for incomplete generic type parameters. - In all cases. - - - Returns the type of a one-dimensional array whose element type is the generic type parameter. - A object that represents the type of a one-dimensional array whose element type is the generic type parameter. - - - Returns the type of an array whose element type is the generic type parameter, with the specified number of dimensions. - The number of dimensions for the array. - A object that represents the type of an array whose element type is the generic type parameter, with the specified number of dimensions. - - is not a valid number of dimensions. For example, its value is less than 1. - - - Returns a object that represents the current generic type parameter when passed as a reference parameter. - A object that represents the current generic type parameter when passed as a reference parameter. - - - Not valid for incomplete generic type parameters. - An array of type arguments. - This method is invalid for incomplete generic type parameters. - In all cases. - - - Returns a object that represents a pointer to the current generic type parameter. - A object that represents a pointer to the current generic type parameter. - - - Sets the base type that a type must inherit in order to be substituted for the type parameter. - The that must be inherited by any type that is to be substituted for the type parameter. - - - Sets a custom attribute using a specified custom attribute blob. - The constructor for the custom attribute. - A byte blob representing the attribute. - - is .-or- - is a null reference. - - - Set a custom attribute using a custom attribute builder. - An instance of a helper class that defines the custom attribute. - - is . - - - Sets the variance characteristics and special constraints of the generic parameter, such as the parameterless constructor constraint. - A bitwise combination of values that represent the variance characteristics and special constraints of the generic type parameter. - - - Sets the interfaces a type must implement in order to be substituted for the type parameter. - An array of objects that represent the interfaces a type must implement in order to be substituted for the type parameter. - - - Returns a string representation of the current generic type parameter. - A string that contains the name of the generic type parameter. - - - Begins a catch block. - The object that represents the exception. - The catch block is within a filtered exception. - - is , and the exception filter block has not returned a value that indicates that finally blocks should be run until this catch block is located. - The Microsoft intermediate language (MSIL) being generated is not currently in an exception block. - - - Begins an exception block for a filtered exception. - The Microsoft intermediate language (MSIL) being generated is not currently in an exception block. -or-This belongs to a . - - - Begins an exception block for a non-filtered exception. - The label for the end of the block. This will leave you in the correct place to execute finally blocks or to finish the try. - - - Begins an exception fault block in the Microsoft intermediate language (MSIL) stream. - The MSIL being generated is not currently in an exception block. -or-This belongs to a . - - - Begins a finally block in the Microsoft intermediate language (MSIL) instruction stream. - The MSIL being generated is not currently in an exception block. - - - Begins a lexical scope. - This belongs to a . - - - Declares a local variable of the specified type. - A object that represents the type of the local variable. - The declared local variable. - - is . - The containing type has been created by the method. - - - Declares a local variable of the specified type, optionally pinning the object referred to by the variable. - A object that represents the type of the local variable. - - to pin the object in memory; otherwise, . - A object that represents the local variable. - - is . - The containing type has been created by the method.-or-The method body of the enclosing method has been created by the method. - The method with which this is associated is not represented by a . - - - Declares a new label. - Returns a new label that can be used as a token for branching. - - - Puts the specified instruction onto the stream of instructions. - The Microsoft Intermediate Language (MSIL) instruction to be put onto the stream. - - - Puts the specified instruction and character argument onto the Microsoft intermediate language (MSIL) stream of instructions. - The MSIL instruction to be put onto the stream. - The character argument pushed onto the stream immediately after the instruction. - - - Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions. - The MSIL instruction to be put onto the stream. Defined in the enumeration. - The numerical argument pushed onto the stream immediately after the instruction. - - - Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions. - The MSIL instruction to be emitted onto the stream. - The argument pushed onto the stream immediately after the instruction. - - - Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions. - The MSIL instruction to be put onto the stream. - The numerical argument pushed onto the stream immediately after the instruction. - - - Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions. - The MSIL instruction to be put onto the stream. - The numerical argument pushed onto the stream immediately after the instruction. - - - Puts the specified instruction and metadata token for the specified constructor onto the Microsoft intermediate language (MSIL) stream of instructions. - The MSIL instruction to be emitted onto the stream. - A representing a constructor. - - is . This exception is new in the .NET Framework 4. - - - Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream and leaves space to include a label when fixes are done. - The MSIL instruction to be emitted onto the stream. - The label to which to branch from this location. - - - Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream and leaves space to include a label when fixes are done. - The MSIL instruction to be emitted onto the stream. - The array of label objects to which to branch from this location. All of the labels will be used. - - is . This exception is new in the .NET Framework 4. - - - Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the index of the given local variable. - The MSIL instruction to be emitted onto the stream. - A local variable. - The parent method of the parameter does not match the method associated with this . - - is . - - - - is a single-byte instruction, and represents a local variable with an index greater than . - - - Puts the specified instruction and a signature token onto the Microsoft intermediate language (MSIL) stream of instructions. - The MSIL instruction to be emitted onto the stream. - A helper for constructing a signature token. - - is . - - - Puts the specified instruction and metadata token for the specified field onto the Microsoft intermediate language (MSIL) stream of instructions. - The MSIL instruction to be emitted onto the stream. - A representing a field. - - - Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given method. - The MSIL instruction to be emitted onto the stream. - A representing a method. - - is . - - is a generic method for which the property is . - - - Puts the specified instruction and character argument onto the Microsoft intermediate language (MSIL) stream of instructions. - The MSIL instruction to be put onto the stream. - The character argument pushed onto the stream immediately after the instruction. - - - Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions. - The MSIL instruction to be put onto the stream. - The argument pushed onto the stream immediately after the instruction. - - - Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given string. - The MSIL instruction to be emitted onto the stream. - The to be emitted. - - - Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given type. - The MSIL instruction to be put onto the stream. - A . - - is . - - - Puts a or instruction onto the Microsoft intermediate language (MSIL) stream to call a method. - The MSIL instruction to be emitted onto the stream. Must be , , or . - The method to be called. - The types of the optional arguments if the method is a method; otherwise, . - - does not specify a method call. - - is . - The calling convention for the method is not , but optional parameter types are supplied. This exception is thrown in the .NET Framework versions 1.0 and 1.1, In subsequent versions, no exception is thrown. - - - Puts a instruction onto the Microsoft intermediate language (MSIL) stream, specifying a managed calling convention for the indirect call. - The MSIL instruction to be emitted onto the stream. Must be . - The managed calling convention to be used. - The of the result. - The types of the required arguments to the instruction. - The types of the optional arguments for calls. - - is not , but does not include the flag. - - - Puts a instruction onto the Microsoft intermediate language (MSIL) stream, specifying an unmanaged calling convention for the indirect call. - The MSIL instruction to be emitted onto the stream. Must be . - The unmanaged calling convention to be used. - The of the result. - The types of the required arguments to the instruction. - - - Emits the Microsoft intermediate language (MSIL) necessary to call with the given local variable. - The local variable whose value is to be written to the console. - The type of is or , which are not supported. -or-There is no overload of that accepts the type of . - - is . - - - Emits the Microsoft intermediate language (MSIL) necessary to call with the given field. - The field whose value is to be written to the console. - There is no overload of the method that accepts the type of the specified field. - - is . - The type of the field is or , which are not supported. - - - Emits the Microsoft intermediate language (MSIL) to call with a string. - The string to be printed. - - - Ends an exception block. - The end exception block occurs in an unexpected place in the code stream. - The Microsoft intermediate language (MSIL) being generated is not currently in an exception block. - - - Ends a lexical scope. - This belongs to a . - - - Marks the Microsoft intermediate language (MSIL) stream's current position with the given label. - The label for which to set an index. - - represents an invalid index into the label array.-or- An index for has already been defined. - - - Marks a sequence point in the Microsoft intermediate language (MSIL) stream. - The document for which the sequence point is being defined. - The line where the sequence point begins. - The column in the line where the sequence point begins. - The line where the sequence point ends. - The column in the line where the sequence point ends. - - or is <= 0. - This belongs to a . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array that receives the IDs corresponding to the names. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - The method is called late-bound using the COM IDispatch interface. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - The method is called late-bound using the COM IDispatch interface. - - - Emits an instruction to throw an exception. - The class of the type of exception to throw. - - is not the class or a derived class of .-or- The type does not have a default constructor. - - is . - - - Specifies the namespace to be used in evaluating locals and watches for the current active lexical scope. - The namespace to be used in evaluating locals and watches for the current active lexical scope - Length of is zero. - - is . - This belongs to a . - - - Checks if the given object is an instance of and is equal to this instance. - The object to compare with this instance. - Returns if is an instance of and is equal to this object; otherwise, . - - - Indicates whether the current instance is equal to the specified . - The to compare to the current instance. - - if the value of is equal to the value of the current instance; otherwise, . - - - Generates a hash code for this instance. - Returns a hash code for this instance. - - - Indicates whether two structures are equal. - The to compare to . - The to compare to . - - if is equal to ; otherwise, . - - - Indicates whether two structures are not equal. - The to compare to . - The to compare to . - - if is not equal to ; otherwise, . - - - Sets the name of this local variable. - The name of the local variable. - The containing type has been created with .-or- There is no symbolic writer defined for the containing module. - This local is defined in a dynamic method, rather than in a method of a dynamic type. - - - Sets the name and lexical scope of this local variable. - The name of the local variable. - The beginning offset of the lexical scope of the local variable. - The ending offset of the lexical scope of the local variable. - The containing type has been created with .-or- There is no symbolic writer defined for the containing module. - This local is defined in a dynamic method, rather than in a method of a dynamic type. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Adds declarative security to this method. - The security action to be taken (Demand, Assert, and so on). - The set of permissions the action applies to. - The is invalid (, , and are invalid). - The containing type has been created using .-or-The permission set contains an action that was added earlier by .-or-For the current method, the property is , but the property is . - - is . - - - Creates the body of the method using a supplied byte array of Microsoft intermediate language (MSIL) instructions. - An array containing valid MSIL instructions. If this parameter is , the method's body is cleared. - The number of valid bytes in the MSIL array. This value is ignored if MSIL is . - The is not within the range of indexes of the supplied MSIL instruction array and is not . - The containing type was previously created using .-or- This method was called previously on this with an argument that was not .-or-For the current method, the property is , but the property is . - - - Sets the number of generic type parameters for the current method, specifies their names, and returns an array of objects that can be used to define their constraints. - An array of strings that represent the names of the generic type parameters. - An array of objects representing the type parameters of the generic method. - Generic type parameters have already been defined for this method.-or-The method has been completed already.-or-The method has been called for the current method. - - is .-or-An element of is . - - is an empty array. - - - Sets the parameter attributes and the name of a parameter of this method, or of the return value of this method. Returns a ParameterBuilder that can be used to apply custom attributes. - The position of the parameter in the parameter list. Parameters are indexed beginning with the number 1 for the first parameter; the number 0 represents the return value of the method. - The parameter attributes of the parameter. - The name of the parameter. The name can be the null string. - Returns a object that represents a parameter of this method or the return value of this method. - The method has no parameters.-or- - is less than zero.-or- - is greater than the number of the method's parameters. - The containing type was previously created using .-or-For the current method, the property is , but the property is . - - - Determines whether the given object is equal to this instance. - The object to compare with this instance. - - if is an instance of and is equal to this object; otherwise, . - - - Return the base implementation for a method. - The base implementation of this method. - - - Returns all the custom attributes defined for this method. - Specifies whether to search this member's inheritance chain to find the custom attributes. - Returns an array of objects representing all the custom attributes of this method. - This method is not currently supported. Retrieve the method using and call on the returned . - - - Returns the custom attributes identified by the given type. - The custom attribute type. - Specifies whether to search this member's inheritance chain to find the custom attributes. - Returns an array of objects representing the attributes of this method that are of type . - This method is not currently supported. Retrieve the method using and call on the returned . - - - Returns an array of objects that represent the type parameters of the method, if it is generic. - An array of objects representing the type parameters, if the method is generic, or if the method is not generic. - - - Returns this method. - The current instance of . - The current method is not generic. That is, the property returns . - - - Gets the hash code for this method. - The hash code for this method. - - - Returns an for this method with a default Microsoft intermediate language (MSIL) stream size of 64 bytes. - Returns an object for this method. - The method should not have a body because of its or flags, for example because it has the flag. -or-The method is a generic method, but not a generic method definition. That is, the property is , but the property is . - - - Returns an for this method with the specified Microsoft intermediate language (MSIL) stream size. - The size of the MSIL stream, in bytes. - Returns an object for this method. - The method should not have a body because of its or flags, for example because it has the flag. -or-The method is a generic method, but not a generic method definition. That is, the property is , but the property is . - - - Returns the implementation flags for the method. - Returns the implementation flags for the method. - - - Returns a reference to the module that contains this method. - Returns a reference to the module that contains this method. - - - Returns the parameters of this method. - An array of objects that represent the parameters of the method. - This method is not currently supported. Retrieve the method using and call on the returned . - - - Returns the that represents the token for this method. - Returns the of this method. - - - Dynamically invokes the method reflected by this instance on the given object, passing along the specified parameters, and under the constraints of the given binder. - The object on which to invoke the specified method. If the method is static, this parameter is ignored. - This must be a bit flag from : , , and so on. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of MemberInfo objects via reflection. If binder is , the default binder is used. For more details, see . - An argument list. This is an array of arguments with the same number, order, and type as the parameters of the method to be invoked. If there are no parameters this should be . - An instance of used to govern the coercion of types. If this is null, the for the current thread is used. (Note that this is necessary to, for example, convert a that represents 1000 to a value, since 1000 is represented differently by different cultures.) - Returns an object containing the return value of the invoked method. - This method is not currently supported. Retrieve the method using and call on the returned . - - - Checks if the specified custom attribute type is defined. - The custom attribute type. - Specifies whether to search this member's inheritance chain to find the custom attributes. - - if the specified custom attribute type is defined; otherwise, . - This method is not currently supported. Retrieve the method using and call on the returned . - - - Returns a generic method constructed from the current generic method definition using the specified generic type arguments. - An array of objects that represent the type arguments for the generic method. - A representing the generic method constructed from the current generic method definition using the specified generic type arguments. - - - Sets a custom attribute using a specified custom attribute blob. - The constructor for the custom attribute. - A byte blob representing the attributes. - - or is . - For the current method, the property is , but the property is . - - - Sets a custom attribute using a custom attribute builder. - An instance of a helper class to describe the custom attribute. - - is . - For the current method, the property is , but the property is . - - - Sets the implementation flags for this method. - The implementation flags to set. - The containing type was previously created using .-or-For the current method, the property is , but the property is . - - - Sets marshaling information for the return type of this method. - Marshaling information for the return type of this method. - The containing type was previously created using .-or-For the current method, the property is , but the property is . - - - Creates the body of the method by using a specified byte array of Microsoft intermediate language (MSIL) instructions. - An array that contains valid MSIL instructions. - The maximum stack evaluation depth. - An array of bytes that contain the serialized local variable structure. Specify if the method has no local variables. - A collection that contains the exception handlers for the method. Specify if the method has no exception handlers. - A collection of values that represent offsets in , each of which specifies the beginning of a token that may be modified. Specify if the method has no tokens that have to be modified. - - is . - - is negative.-or- One of specifies an offset outside of .-or- One of specifies an offset that is outside the array. - The containing type was previously created using the method.-or- This method was called previously on this object. - - - Sets the number and types of parameters for a method. - An array of objects representing the parameter types. - The current method is generic, but is not a generic method definition. That is, the property is , but the property is . - - - Sets the return type of the method. - A object that represents the return type of the method. - The current method is generic, but is not a generic method definition. That is, the property is , but the property is . - - - Sets the method signature, including the return type, the parameter types, and the required and optional custom modifiers of the return type and parameter types. - The return type of the method. - An array of types representing the required custom modifiers, such as , for the return type of the method. If the return type has no required custom modifiers, specify . - An array of types representing the optional custom modifiers, such as , for the return type of the method. If the return type has no optional custom modifiers, specify . - The types of the parameters of the method. - An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding parameter, such as . If a particular parameter has no required custom modifiers, specify instead of an array of types. If none of the parameters have required custom modifiers, specify instead of an array of arrays. - An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding parameter, such as . If a particular parameter has no optional custom modifiers, specify instead of an array of types. If none of the parameters have optional custom modifiers, specify instead of an array of arrays. - The current method is generic, but is not a generic method definition. That is, the property is , but the property is . - - - Set a symbolic custom attribute using a blob. - The name of the symbolic custom attribute. - The byte blob that represents the value of the symbolic custom attribute. - The containing type was previously created using .-or- The module that contains this method is not a debug module. -or-For the current method, the property is , but the property is . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array that receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DispIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Returns this instance as a string. - Returns a string containing the name, attributes, method signature, exceptions, and local signature of this method followed by the current Microsoft intermediate language (MSIL) stream. - - - Swaps the body of a method. - The class containing the method. - The token for the method. - A pointer to the method. This should include the method header. - The size of the new method body in bytes. - Flags that control the swapping. See the definitions of the constants. - - is . - The type is not complete. - - is less than one or greater than 4128767 (3effff hex). - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - The method is called late-bound using the COM IDispatch interface. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - The method is called late-bound using the COM IDispatch interface. - - - Tests whether the given object is equal to this object. - The object to compare to this object. - - if is an instance of and is equal to this object; otherwise, . - - - Indicates whether the current instance is equal to the specified . - The to compare to the current instance. - - if the value of is equal to the value of the current instance; otherwise, . - - - Returns the generated hash code for this method. - Returns the hash code for this instance. - - - Indicates whether two structures are equal. - The to compare to . - The to compare to . - - if is equal to ; otherwise, . - - - Indicates whether two structures are not equal. - The to compare to . - The to compare to . - - if is not equal to ; otherwise, . - - - Completes the global function definitions and global data definitions for this dynamic module. - This method was called previously. - - - Defines a document for source. - The URL for the document. - The GUID that identifies the document language. This can be . - The GUID that identifies the document language vendor. This can be . - The GUID that identifies the document type. This can be . - The defined document. - - is . This is a change from earlier versions of the .NET Framework. - This method is called on a dynamic module that is not a debug module. - - - Defines an enumeration type that is a value type with a single non-static field called of the specified type. - The full path of the enumeration type. cannot contain embedded nulls. - The type attributes for the enumeration. The attributes are any bits defined by . - The underlying type for the enumeration. This must be a built-in integer type. - The defined enumeration. - Attributes other than visibility attributes are provided.-or- An enumeration with the given name exists in the parent assembly of this module.-or- The visibility attributes do not match the scope of the enumeration. For example, is specified for , but the enumeration is not a nested type. - - is . - - - Defines a global method with the specified name, attributes, calling convention, return type, and parameter types. - The name of the method. cannot contain embedded nulls. - The attributes of the method. must include . - The calling convention for the method. - The return type of the method. - The types of the method's parameters. - The defined global method. - The method is not static. That is, does not include .-or-An element in the array is . - - is . - - has been previously called. - - - Defines a global method with the specified name, attributes, calling convention, return type, custom modifiers for the return type, parameter types, and custom modifiers for the parameter types. - The name of the method. cannot contain embedded null characters. - The attributes of the method. must include . - The calling convention for the method. - The return type of the method. - An array of types representing the required custom modifiers for the return type, such as or . If the return type has no required custom modifiers, specify . - An array of types representing the optional custom modifiers for the return type, such as or . If the return type has no optional custom modifiers, specify . - The types of the method's parameters. - An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding parameter of the global method. If a particular argument has no required custom modifiers, specify instead of an array of types. If the global method has no arguments, or if none of the arguments have required custom modifiers, specify instead of an array of arrays. - An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding parameter. If a particular argument has no optional custom modifiers, specify instead of an array of types. If the global method has no arguments, or if none of the arguments have optional custom modifiers, specify instead of an array of arrays. - The defined global method. - The method is not static. That is, does not include .-or-An element in the array is . - - is . - The method has been previously called. - - - Defines a global method with the specified name, attributes, return type, and parameter types. - The name of the method. cannot contain embedded nulls. - The attributes of the method. must include . - The return type of the method. - The types of the method's parameters. - The defined global method. - The method is not static. That is, does not include .-or- The length of is zero -or-An element in the array is . - - is . - - has been previously called. - - - Defines an initialized data field in the .sdata section of the portable executable (PE) file. - The name used to refer to the data. cannot contain embedded nulls. - The binary large object (BLOB) of data. - The attributes for the field. The default is . - A field to reference the data. - The length of is zero.-or- The size of is less than or equal to zero or greater than or equal to 0x3f0000. - - or is . - - has been previously called. - - - Defines a binary large object (BLOB) that represents a manifest resource to be embedded in the dynamic assembly. - The case-sensitive name for the resource. - A stream that contains the bytes for the resource. - An enumeration value that specifies whether the resource is public or private. - - is .-or- - is . - - is a zero-length string. - The dynamic assembly that contains the current module is transient; that is, no file name was specified when was called. - - - Defines a method with the specified name, the name of the DLL in which the method is defined, the attributes of the method, the calling convention of the method, the return type of the method, the types of the parameters of the method, and the flags. - The name of the method. cannot contain embedded nulls. - The name of the DLL in which the method is defined. - The attributes of the method. - The method's calling convention. - The method's return type. - The types of the method's parameters. - The native calling convention. - The method's native character set. - The defined method. - The method is not static or if the containing type is an interface.-or- The method is abstract.-or- The method was previously defined. - - or is . - The containing type has been previously created using - - - Defines a method with the specified name, the name of the DLL in which the method is defined, the attributes of the method, the calling convention of the method, the return type of the method, the types of the parameters of the method, and the flags. - The name of the method. cannot contain embedded nulls. - The name of the DLL in which the method is defined. - The name of the entry point in the DLL. - The attributes of the method. - The method's calling convention. - The method's return type. - The types of the method's parameters. - The native calling convention. - The method's native character set. - The defined method. - The method is not static or if the containing type is an interface or if the method is abstract of if the method was previously defined. - - or is . - The containing type has been previously created using - - - Defines the named managed embedded resource to be stored in this module. - The name of the resource. cannot contain embedded nulls. - The description of the resource. - A resource writer for the defined resource. - Length of is zero. - - is null. - This module is transient.-or- The containing assembly is not persistable. - - - Defines the named managed embedded resource with the given attributes that is to be stored in this module. - The name of the resource. cannot contain embedded nulls. - The description of the resource. - The resource attributes. - A resource writer for the defined resource. - Length of is zero. - - is null. - This module is transient.-or- The containing assembly is not persistable. - - - Constructs a for a private type with the specified name in this module. - The full path of the type, including the namespace. cannot contain embedded nulls. - A private type with the specified name. - A type with the given name exists in the parent assembly of this module.-or- Nested type attributes are set on a type that is not nested. - - is . - - - Constructs a given the type name and the type attributes. - The full path of the type. cannot contain embedded nulls. - The attributes of the defined type. - A created with all of the requested attributes. - A type with the given name exists in the parent assembly of this module.-or- Nested type attributes are set on a type that is not nested. - - is . - - - Constructs a given type name, its attributes, and the type that the defined type extends. - The full path of the type. cannot contain embedded nulls. - The attribute to be associated with the type. - The type that the defined type extends. - A created with all of the requested attributes. - A type with the given name exists in the parent assembly of this module.-or- Nested type attributes are set on a type that is not nested. - - is . - - - Constructs a given the type name, the attributes, the type that the defined type extends, and the total size of the type. - The full path of the type. cannot contain embedded nulls. - The attributes of the defined type. - The type that the defined type extends. - The total size of the type. - A object. - A type with the given name exists in the parent assembly of this module.-or- Nested type attributes are set on a type that is not nested. - - is . - - - Constructs a given the type name, the attributes, the type that the defined type extends, and the packing size of the type. - The full path of the type. cannot contain embedded nulls. - The attributes of the defined type. - The type that the defined type extends. - The packing size of the type. - A object. - A type with the given name exists in the parent assembly of this module.-or- Nested type attributes are set on a type that is not nested. - - is . - - - Constructs a given the type name, attributes, the type that the defined type extends, the packing size of the defined type, and the total size of the defined type. - The full path of the type. cannot contain embedded nulls. - The attributes of the defined type. - The type that the defined type extends. - The packing size of the type. - The total size of the type. - A created with all of the requested attributes. - A type with the given name exists in the parent assembly of this module.-or- Nested type attributes are set on a type that is not nested. - - is . - - - Constructs a given the type name, attributes, the type that the defined type extends, and the interfaces that the defined type implements. - The full path of the type. cannot contain embedded nulls. - The attributes to be associated with the type. - The type that the defined type extends. - The list of interfaces that the type implements. - A created with all of the requested attributes. - A type with the given name exists in the parent assembly of this module.-or- Nested type attributes are set on a type that is not nested. - - is . - - - Defines an uninitialized data field in the .sdata section of the portable executable (PE) file. - The name used to refer to the data. cannot contain embedded nulls. - The size of the data field. - The attributes for the field. - A field to reference the data. - The length of is zero.-or- - is less than or equal to zero, or greater than or equal to 0x003f0000. - - is . - - has been previously called. - - - Defines an unmanaged embedded resource given an opaque binary large object (BLOB) of bytes. - An opaque BLOB that represents an unmanaged resource - An unmanaged resource has already been defined in the module's assembly. - - is . - - - Defines an unmanaged resource given the name of Win32 resource file. - The name of the unmanaged resource file. - An unmanaged resource has already been defined in the module's assembly.-or- - is the empty string (""). - - is . - - is not found. -or- - is a directory. - - - Returns a value that indicates whether this instance is equal to the specified object. - An object to compare with this instance, or . - - if equals the type and value of this instance; otherwise, . - - - Returns the named method on an array class. - An array class. - The name of a method on the array class. - The method's calling convention. - The return type of the method. - The types of the method's parameters. - The named method on an array class. - - is not an array. - - or is . - - - Returns the token for the named method on an array class. - The object for the array. - A string that contains the name of the method. - The calling convention for the method. - The return type of the method. - The types of the parameters of the method. - The token for the named method on an array class. - - is not an array.-or- The length of is zero. - - or is . - - - Returns the token used to identify the specified constructor within this module. - The constructor to get a token for. - The token used to identify the specified constructor within this module. - - is . - - - Returns the token used to identify the constructor that has the specified attributes and parameter types within this module. - The constructor to get a token for. - A collection of the types of the optional parameters to the constructor. - The token used to identify the specified constructor within this module. - - is . - - - Returns all the custom attributes that have been applied to the current . - This argument is ignored for objects of this type. - An array that contains the custom attributes; the array is empty if there are no attributes. - - - Returns all the custom attributes that have been applied to the current , and that derive from a specified attribute type. - The base type from which attributes derive. - This argument is ignored for objects of this type. - An array that contains the custom attributes that are derived, at any level, from ; the array is empty if there are no such attributes. - - is . - - is not a object supplied by the runtime. For example, is a object. - - - Returns information about the attributes that have been applied to the current , expressed as objects. - A generic list of objects representing data about the attributes that have been applied to the current module. - - - Returns a module-level field, defined in the .sdata region of the portable executable (PE) file, that has the specified name and binding attributes. - The field name. - A combination of the bit flags used to control the search. - A field that has the specified name and binding attributes, or if the field does not exist. - The parameter is . - - - Returns all fields defined in the .sdata region of the portable executable (PE) file that match the specified binding flags. - A combination of the bit flags used to control the search. - An array of fields that match the specified flags; the array is empty if no such fields exist. - The parameter is . - - - Returns the token used to identify the specified field within this module. - The field to get a token for. - The token used to identify the specified field within this module. - - is . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns the module-level method that matches the specified criteria. - The method name. - A combination of bit flags used to control the search. - An object that implements , containing properties related to this method. - The calling convention for the method. - The parameter types of the method. - An array of parameter modifiers used to make binding work with parameter signatures in which the types have been modified. - A method that is defined at the module level, and matches the specified criteria; or if such a method does not exist. - - is , is , or an element of is . - - - Returns all the methods that have been defined at the module level for the current , and that match the specified binding flags. - A combination of bit flags used to control the search. - An array that contains all the module-level methods that match . - - - Returns the token used to identify the specified method within this module. - The method to get a token for. - The token used to identify the specified method within this module. - - is . - The declaring type for the method is not in this module. - - - Returns the token used to identify the method that has the specified attributes and parameter types within this module. - The method to get a token for. - A collection of the types of the optional parameters to the method. - The token used to identify the specified method within this module. - - is . - The declaring type for the method is not in this module. - - - Gets a pair of values indicating the nature of the code in a module and the platform targeted by the module. - When this method returns, a combination of the values indicating the nature of the code in the module. - When this method returns, one of the values indicating the platform targeted by the module. - - - Defines a token for the signature that has the specified character array and signature length. - The signature binary large object (BLOB). - The length of the signature BLOB. - A token for the specified signature. - - is . - - - Defines a token for the signature that is defined by the specified . - The signature. - A token for the defined signature. - - is . - - - Returns an object corresponding to the certificate included in the Authenticode signature of the assembly which this module belongs to. If the assembly has not been Authenticode signed, is returned. - A certificate, or if the assembly to which this module belongs has not been Authenticode signed. - - - Returns the token of the given string in the module’s constant pool. - The string to add to the module's constant pool. - The token of the string in the constant pool. - - is . - - - Returns the symbol writer associated with this dynamic module. - The symbol writer associated with this dynamic module. - - - Gets the named type defined in the module. - The name of the to get. - The requested type, if the type is defined in this module; otherwise, . - Length of is zero or is greater than 1023. - - is . - The requested is non-public and the caller does not have to reflect non-public objects outside the current assembly. - A class initializer is invoked and throws an exception. - An error is encountered while loading the . - - - Gets the named type defined in the module, optionally ignoring the case of the type name. - The name of the to get. - If , the search is case-insensitive. If , the search is case-sensitive. - The requested type, if the type is defined in this module; otherwise, . - Length of is zero or is greater than 1023. - - is . - The requested is non-public and the caller does not have to reflect non-public objects outside the current assembly. - A class initializer is invoked and throws an exception. - - - Gets the named type defined in the module, optionally ignoring the case of the type name. Optionally throws an exception if the type is not found. - The name of the to get. - - to throw an exception if the type cannot be found; to return . - If , the search is case-insensitive. If , the search is case-sensitive. - The specified type, if the type is declared in this module; otherwise, . - Length of is zero or is greater than 1023. - - is . - The requested is non-public and the caller does not have to reflect non-public objects outside the current assembly. - A class initializer is invoked and throws an exception. - - is and the specified type is not found. - - - Returns all the classes defined within this module. - An array that contains the types defined within the module that is reflected by this instance. - One or more classes in a module could not be loaded. - The caller does not have the required permission. - - - Returns the token used to identify the type with the specified name. - The name of the class, including the namespace. - The token used to identify the type with the specified name within this module. - - is the empty string ("").-or- - represents a type. - - is . -or-The type specified by could not be found. - This is a non-transient module that references a transient module. - - - Returns the token used to identify the specified type within this module. - The type object that represents the class type. - The token used to identify the given type within this module. - - is a type. - - is . - This is a non-transient module that references a transient module. - - - Returns a value that indicates whether the specified attribute type has been applied to this module. - The type of custom attribute to test for. - This argument is ignored for objects of this type. - - if one or more instances of have been applied to this module; otherwise, . - - is . - - is not a object supplied by the runtime. For example, is a object. - - - Gets a value indicating whether the object is a resource. - - if the object is a resource; otherwise, . - - - Returns a value that indicates whether this dynamic module is transient. - - if this dynamic module is transient; otherwise, . - - - Returns the field identified by the specified metadata token, in the context defined by the specified generic type parameters. - A metadata token that identifies a field in the module. - An array of objects representing the generic type arguments of the type where the token is in scope, or if that type is not generic. - An array of objects representing the generic type arguments of the method where the token is in scope, or if that method is not generic. - A object representing the field that is identified by the specified metadata token. - - is not a token for a field in the scope of the current module.-or- - identifies a field whose parent has a signature containing element type (a type parameter of a generic type) or (a type parameter of a generic method), and the necessary generic type arguments were not supplied for either or both of and . - - is not a valid token in the scope of the current module. - - - Returns the type or member identified by the specified metadata token, in the context defined by the specified generic type parameters. - A metadata token that identifies a type or member in the module. - An array of objects representing the generic type arguments of the type where the token is in scope, or if that type is not generic. - An array of objects representing the generic type arguments of the method where the token is in scope, or if that method is not generic. - A object representing the type or member that is identified by the specified metadata token. - - is not a token for a type or member in the scope of the current module.-or- - is a or whose signature contains element type (a type parameter of a generic type) or (a type parameter of a generic method), and the necessary generic type arguments were not supplied for either or both of and .-or- - identifies a property or event. - - is not a valid token in the scope of the current module. - - - Returns the method or constructor identified by the specified metadata token, in the context defined by the specified generic type parameters. - A metadata token that identifies a method or constructor in the module. - An array of objects representing the generic type arguments of the type where the token is in scope, or if that type is not generic. - An array of objects representing the generic type arguments of the method where the token is in scope, or if that method is not generic. - A object representing the method that is identified by the specified metadata token. - - is not a token for a method or constructor in the scope of the current module.-or- - is a whose signature contains element type (a type parameter of a generic type) or (a type parameter of a generic method), and the necessary generic type arguments were not supplied for either or both of and . - - is not a valid token in the scope of the current module. - - - Returns the signature blob identified by a metadata token. - A metadata token that identifies a signature in the module. - An array of bytes representing the signature blob. - - is not a valid , , , signature, or token in the scope of the current module. - - is not a valid token in the scope of the current module. - - - Returns the string identified by the specified metadata token. - A metadata token that identifies a string in the string heap of the module. - A containing a string value from the metadata string heap. - - is not a token for a string in the scope of the current module. - - is not a valid token in the scope of the current module. - - - Returns the type identified by the specified metadata token, in the context defined by the specified generic type parameters. - A metadata token that identifies a type in the module. - An array of objects representing the generic type arguments of the type where the token is in scope, or if that type is not generic. - An array of objects representing the generic type arguments of the method where the token is in scope, or if that method is not generic. - A object representing the type that is identified by the specified metadata token. - - is not a token for a type in the scope of the current module.-or- - is a whose signature contains element type (a type parameter of a generic type) or (a type parameter of a generic method), and the necessary generic type arguments were not supplied for either or both of and . - - is not a valid token in the scope of the current module. - - - Applies a custom attribute to this module by using a specified binary large object (BLOB) that represents the attribute. - The constructor for the custom attribute. - A byte BLOB representing the attribute. - - or is . - - - Applies a custom attribute to this module by using a custom attribute builder. - An instance of a helper class that specifies the custom attribute to apply. - - is . - - - This method does nothing. - The name of the custom attribute - An opaque binary large object (BLOB) of bytes that represents the value of the custom attribute. - - - is . - - - Sets the user entry point. - The user entry point. - - is . - This method is called on a dynamic module that is not a debug module.-or- - is not contained in this dynamic module. - - - For a description of this member, see . - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - The method is called late-bound using the COM IDispatch interface. - - - For a description of this member, see . - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - The method is called late-bound using the COM IDispatch interface. - - - For a description of this member, see . - The location that receives the number of type information interfaces provided by the object. - The method is called late-bound using the COM IDispatch interface. - - - For a description of this member, see . - The member ID. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - The method is called late-bound using the COM IDispatch interface. - - - Tests whether the given object is equal to this . - The object to compare to this object. - - if is an instance of and is equal to this object; otherwise, . - - - Indicates whether the current instance is equal to the specified . - The to compare to the current instance. - - if the value of is equal to the value of the current instance; otherwise, . - - - Returns the generated hash code for this . - Returns the hash code for this instance. - - - Indicates whether two structures are equal. - The to compare to . - The to compare to . - - if is equal to ; otherwise, . - - - Indicates whether two structures are not equal. - The to compare to . - The to compare to . - - if is not equal to ; otherwise, . - - - Returns this as a . - Returns a containing the name of this . - - - Returns true or false if the supplied opcode takes a single byte argument. - An instance of an Opcode object. - - or . - - - Retrieves the token for this parameter. - Returns the token for this parameter. - - - Sets the default value of the parameter. - The default value of this parameter. - The parameter is not one of the supported types.-or-The type of does not match the type of the parameter.-or-The parameter is of type or other reference type, is not , and the value cannot be assigned to the reference type. - - - Set a custom attribute using a specified custom attribute blob. - The constructor for the custom attribute. - A byte blob representing the attributes. - - or is . - - - Set a custom attribute using a custom attribute builder. - An instance of a helper class to define the custom attribute. - - is . - - - Specifies the marshaling for this parameter. - The marshaling information for this parameter. - - is . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - The method is called late-bound using the COM IDispatch interface. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - The method is called late-bound using the COM IDispatch interface. - - - Checks if the given object is an instance of and is equal to this instance. - The object to compare to this object. - - if is an instance of and equals the current instance; otherwise, . - - - Indicates whether the current instance is equal to the specified . - The to compare to the current instance. - - if the value of is equal to the value of the current instance; otherwise, . - - - Generates the hash code for this parameter. - Returns the hash code for this parameter. - - - Indicates whether two structures are equal. - The to compare to . - The to compare to . - - if is equal to ; otherwise, . - - - Indicates whether two structures are not equal. - The to compare to . - The to compare to . - - if is not equal to ; otherwise, . - - - Adds one of the other methods associated with this property. - A object that represents the other method. - - is . - - has been called on the enclosing type. - - - Returns an array of the public and non-public and accessors on this property. - Indicates whether non-public methods should be returned in the array. if non-public methods are to be included; otherwise, . - An array of type containing the matching public or non-public accessors, or an empty array if matching accessors do not exist on this property. - This method is not supported. - - - Returns an array of all the custom attributes for this property. - If , walks up this property's inheritance chain to find the custom attributes - An array of all the custom attributes. - This method is not supported. - - - Returns an array of custom attributes identified by . - An array of custom attributes identified by type. - If , walks up this property's inheritance chain to find the custom attributes. - An array of custom attributes defined on this reflected member, or if no attributes are defined on this member. - This method is not supported. - - - Returns the public and non-public get accessor for this property. - Indicates whether non-public get accessors should be returned. if non-public methods are to be included; otherwise, . - A object representing the get accessor for this property, if is . Returns if is and the get accessor is non-public, or if is but no get accessors exist. - - - Returns an array of all the index parameters for the property. - An array of type containing the parameters for the indexes. - This method is not supported. - - - Returns the set accessor for this property. - Indicates whether the accessor should be returned if it is non-public. if non-public methods are to be included; otherwise, . - The property's method, or , as shown in the following table. Value Condition A object representing the Set method for this property. The set accessor is public. - is true and non-public methods can be returned. null - is true, but the property is read-only. - is false and the set accessor is non-public. - - - Gets the value of the indexed property by calling the property's getter method. - The object whose property value will be returned. - Optional index values for indexed properties. This value should be for non-indexed properties. - The value of the specified indexed property. - This method is not supported. - - - Gets the value of a property having the specified binding, index, and . - The object whose property value will be returned. - The invocation attribute. This must be a bit flag from : , , , , , , or . A suitable invocation attribute must be specified. If a static member is to be invoked, the flag of must be set. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects using reflection. If is , the default binder is used. - Optional index values for indexed properties. This value should be for non-indexed properties. - The object that represents the culture for which the resource is to be localized. Note that if the resource is not localized for this culture, the method will be called successively in search of a match. If this value is , the is obtained from the property. - The property value for . - This method is not supported. - - - Indicates whether one or more instance of is defined on this property. - The object to which the custom attributes are applied. - Specifies whether to walk up this property's inheritance chain to find the custom attributes. - - if one or more instance of is defined on this property; otherwise . - This method is not supported. - - - Sets the default value of this property. - The default value of this property. - - has been called on the enclosing type. - The property is not one of the supported types.-or-The type of does not match the type of the property.-or-The property is of type or other reference type, is not , and the value cannot be assigned to the reference type. - - - Set a custom attribute using a specified custom attribute blob. - The constructor for the custom attribute. - A byte blob representing the attributes. - - or is . - - has been called on the enclosing type. - - - Set a custom attribute using a custom attribute builder. - An instance of a helper class to define the custom attribute. - - is . - if has been called on the enclosing type. - - - Sets the method that gets the property value. - A object that represents the method that gets the property value. - - is . - - has been called on the enclosing type. - - - Sets the method that sets the property value. - A object that represents the method that sets the property value. - - is . - - has been called on the enclosing type. - - - Sets the value of the property with optional index values for index properties. - The object whose property value will be set. - The new value for this property. - Optional index values for indexed properties. This value should be for non-indexed properties. - This method is not supported. - - - Sets the property value for the given object to the given value. - The object whose property value will be returned. - The new value for this property. - The invocation attribute. This must be a bit flag from : , , , , , , or . A suitable invocation attribute must be specified. If a static member is to be invoked, the flag of must be set. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects using reflection. If is , the default binder is used. - Optional index values for indexed properties. This value should be for non-indexed properties. - The object that represents the culture for which the resource is to be localized. Note that if the resource is not localized for this culture, the method will be called successively in search of a match. If this value is , the is obtained from the property. - This method is not supported. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - The method is called late-bound using the COM IDispatch interface. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - The method is called late-bound using the COM IDispatch interface. - - - Checks if the given object is an instance of and is equal to this instance. - The object to this object. - - if is an instance of and equals the current instance; otherwise, . - - - Indicates whether the current instance is equal to the specified . - The to compare to the current instance. - - if the value of is equal to the value of the current instance; otherwise, . - - - Generates the hash code for this property. - Returns the hash code for this property. - - - Indicates whether two structures are equal. - The to compare to . - The to compare to . - - if is equal to ; otherwise, . - - - Indicates whether two structures are not equal. - The to compare to . - The to compare to . - - if is not equal to ; otherwise, . - - - Adds an argument to the signature. - The type of the argument. - The signature has already been finished. - - is . - - - Adds an argument of the specified type to the signature, specifying whether the argument is pinned. - The argument type. - - if the argument is pinned; otherwise, . - - is . - - - Adds an argument to the signature, with the specified custom modifiers. - The argument type. - An array of types representing the required custom modifiers for the argument, such as or . If the argument has no required custom modifiers, specify . - An array of types representing the optional custom modifiers for the argument, such as or . If the argument has no optional custom modifiers, specify . - - is . -or-An element of or is . - The signature has already been finished. -or-One of the specified custom modifiers is an array type.-or-One of the specified custom modifiers is an open generic type. That is, the property is for the custom modifier. - - - Adds a set of arguments to the signature, with the specified custom modifiers. - The types of the arguments to be added. - An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding argument, such as or . If a particular argument has no required custom modifiers, specify instead of an array of types. If none of the arguments have required custom modifiers, specify instead of an array of arrays. - An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding argument, such as or . If a particular argument has no optional custom modifiers, specify instead of an array of types. If none of the arguments have optional custom modifiers, specify instead of an array of arrays. - An element of is . -or-One of the specified custom modifiers is . (However, can be specified for the array of custom modifiers for any argument.) - The signature has already been finished. -or-One of the specified custom modifiers is an array type.-or-One of the specified custom modifiers is an open generic type. That is, the property is for the custom modifier. -or-The size of or does not equal the size of . - - - Marks the end of a vararg fixed part. This is only used if the caller is creating a vararg signature call site. - - - Checks if this instance is equal to the given object. - The object with which this instance should be compared. - - if the given object is a and represents the same signature; otherwise, . - - - Returns a signature helper for a field. - The dynamic module that contains the field for which the is requested. - The object for a field. - - - Creates and returns a hash code for this instance. - Returns the hash code based on the name. - - - Returns a signature helper for a local variable. - A for a local variable. - - - Returns a signature helper for a local variable. - The dynamic module that contains the local variable for which the is requested. - The object for a local variable. - - - Returns a signature helper for a method given the method's calling convention and return type. - The calling convention of the method. - The return type of the method, or for a void return type ( procedure in Visual Basic). - The object for a method. - - - Returns a signature helper for a method given the method's module, calling convention, and return type. - The that contains the method for which the is requested. - The calling convention of the method. - The return type of the method, or for a void return type ( procedure in Visual Basic). - The object for a method. - - is . - - is not a . - - - Returns a signature helper for a method given the method's module, unmanaged calling convention, and return type. - The that contains the method for which the is requested. - The unmanaged calling convention of the method. - The return type of the method, or for a void return type ( procedure in Visual Basic). - The object for a method. - - is . - - is not a .-or- - is an unknown unmanaged calling convention. - - - Returns a signature helper for a method with a standard calling convention, given the method's module, return type, and argument types. - The that contains the method for which the is requested. - The return type of the method, or for a void return type ( procedure in Visual Basic). - The types of the arguments of the method, or if the method has no arguments. - The object for a method. - - is .-or-An element of is . - - is not a . - - - Returns a signature helper for a method given the method's unmanaged calling convention and return type. - The unmanaged calling convention of the method. - The return type of the method, or for a void return type ( procedure in Visual Basic). - The object for a method. - - is an unknown unmanaged calling convention. - - - Returns a signature helper for a property, given the dynamic module that contains the property, the calling convention, the property type, the property arguments, and custom modifiers for the return type and arguments. - The that contains the property for which the is requested. - The calling convention of the property accessors. - The property type. - An array of types representing the required custom modifiers for the return type, such as or . If the return type has no required custom modifiers, specify . - An array of types representing the optional custom modifiers for the return type, such as or . If the return type has no optional custom modifiers, specify . - The types of the property's arguments, or if the property has no arguments. - An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding argument of the property. If a particular argument has no required custom modifiers, specify instead of an array of types. If the property has no arguments, or if none of the arguments have required custom modifiers, specify instead of an array of arrays. - An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding argument of the property. If a particular argument has no optional custom modifiers, specify instead of an array of types. If the property has no arguments, or if none of the arguments have optional custom modifiers, specify instead of an array of arrays. - A object for a property. - - is .-or-An element of is . -or-One of the specified custom modifiers is . (However, can be specified for the array of custom modifiers for any argument.) - The signature has already been finished. -or- - is not a .-or-One of the specified custom modifiers is an array type.-or-One of the specified custom modifiers is an open generic type. That is, the property is for the custom modifier.-or-The size of or does not equal the size of . - - - Returns a signature helper for a property, given the dynamic module that contains the property, the property type, and the property arguments. - The that contains the property for which the is requested. - The property type. - The argument types, or if the property has no arguments. - A object for a property. - - is .-or-An element of is . - - is not a . - - - Returns a signature helper for a property, given the dynamic module that contains the property, the property type, the property arguments, and custom modifiers for the return type and arguments. - The that contains the property for which the is requested. - The property type. - An array of types representing the required custom modifiers for the return type, such as or . If the return type has no required custom modifiers, specify . - An array of types representing the optional custom modifiers for the return type, such as or . If the return type has no optional custom modifiers, specify . - The types of the property's arguments, or if the property has no arguments. - An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding argument of the property. If a particular argument has no required custom modifiers, specify instead of an array of types. If the property has no arguments, or if none of the arguments have required custom modifiers, specify instead of an array of arrays. - An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding argument of the property. If a particular argument has no optional custom modifiers, specify instead of an array of types. If the property has no arguments, or if none of the arguments have optional custom modifiers, specify instead of an array of arrays. - A object for a property. - - is .-or-An element of is . -or-One of the specified custom modifiers is . (However, can be specified for the array of custom modifiers for any argument.) - The signature has already been finished. -or- - is not a .-or-One of the specified custom modifiers is an array type.-or-One of the specified custom modifiers is an open generic type. That is, the property is for the custom modifier.-or-The size of or does not equal the size of . - - - Adds the end token to the signature and marks the signature as finished, so no further tokens can be added. - Returns a byte array made up of the full signature. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Returns a string representing the signature arguments. - Returns a string representing the arguments of this signature. - - - Checks if the given object is an instance of and is equal to this instance. - The object to compare with this . - - if is an instance of and is equal to this object; otherwise, . - - - Indicates whether the current instance is equal to the specified . - The to compare to the current instance. - - if the value of is equal to the value of the current instance; otherwise, . - - - Generates the hash code for this signature. - Returns the hash code for this signature. - - - Indicates whether two structures are equal. - The to compare to . - The to compare to . - - if is equal to ; otherwise, . - - - Indicates whether two structures are not equal. - The to compare to . - The to compare to . - - if is not equal to ; otherwise, . - - - Checks if the given object is an instance of and is equal to this instance. - The object to compare with this . - - if is an instance of and is equal to this object; otherwise, . - - - Indicates whether the current instance is equal to the specified . - The to compare to the current instance. - - if the value of is equal to the value of the current instance; otherwise, . - - - Returns the hash code for this string. - Returns the underlying string token. - - - Indicates whether two structures are equal. - The to compare to . - The to compare to . - - if is equal to ; otherwise, . - - - Indicates whether two structures are not equal. - The to compare to . - The to compare to . - - if is not equal to ; otherwise, . - - - Adds declarative security to this type. - The security action to be taken such as Demand, Assert, and so on. - The set of permissions the action applies to. - The is invalid (, , and are invalid). - The containing type has been created using .-or- The permission set contains an action that was added earlier by . - - is . - - - Adds an interface that this type implements. - The interface that this type implements. - - is . - The type was previously created using . - - - Creates a object for the class. After defining fields and methods on the class, is called in order to load its object. - Returns the new object for this class. - The enclosing type has not been created.-or- This type is non-abstract and contains an abstract method.-or- - This type is not an abstract class or an interface and has a method without a method body. - The type contains invalid Microsoft intermediate language (MSIL) code.-or- The branch target is specified using a 1-byte offset, but the target is at a distance greater than 127 bytes from the branch. - The type cannot be loaded. For example, it contains a method that has the calling convention . - - - Gets a object that represents this type. - An object that represents this type. - - - Adds a new constructor to the type, with the given attributes and signature. - The attributes of the constructor. - The calling convention of the constructor. - The parameter types of the constructor. - The defined constructor. - The type was previously created using . - - - Adds a new constructor to the type, with the given attributes, signature, and custom modifiers. - The attributes of the constructor. - The calling convention of the constructor. - The parameter types of the constructor. - An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding parameter, such as . If a particular parameter has no required custom modifiers, specify instead of an array of types. If none of the parameters have required custom modifiers, specify instead of an array of arrays. - An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding parameter, such as . If a particular parameter has no optional custom modifiers, specify instead of an array of types. If none of the parameters have optional custom modifiers, specify instead of an array of arrays. - The defined constructor. - The size of or does not equal the size of . - The type was previously created using .-or-For the current dynamic type, the property is , but the property is . - - - Defines the default constructor. The constructor defined here will simply call the default constructor of the parent. - A object representing the attributes to be applied to the constructor. - Returns the constructor. - The parent type (base type) does not have a default constructor. - The type was previously created using .-or-For the current dynamic type, the property is , but the property is . - - - Adds a new event to the type, with the given name, attributes and event type. - The name of the event. cannot contain embedded nulls. - The attributes of the event. - The type of the event. - The defined event. - The length of is zero. - - is .-or- - is . - The type was previously created using . - - - Adds a new field to the type, with the given name, attributes, and field type. - The name of the field. cannot contain embedded nulls. - The type of the field - The attributes of the field. - The defined field. - The length of is zero.-or- - is System.Void.-or- A total size was specified for the parent class of this field. - - is . - The type was previously created using . - - - Adds a new field to the type, with the given name, attributes, field type, and custom modifiers. - The name of the field. cannot contain embedded nulls. - The type of the field - An array of types representing the required custom modifiers for the field, such as . - An array of types representing the optional custom modifiers for the field, such as . - The attributes of the field. - The defined field. - The length of is zero.-or- - is System.Void.-or- A total size was specified for the parent class of this field. - - is . - The type was previously created using . - - - Defines the generic type parameters for the current type, specifying their number and their names, and returns an array of objects that can be used to set their constraints. - An array of names for the generic type parameters. - An array of objects that can be used to define the constraints of the generic type parameters for the current type. - Generic type parameters have already been defined for this type. - - is .-or-An element of is . - - is an empty array. - - - Defines initialized data field in the .sdata section of the portable executable (PE) file. - The name used to refer to the data. cannot contain embedded nulls. - The blob of data. - The attributes for the field. - A field to reference the data. - Length of is zero.-or- The size of the data is less than or equal to zero, or greater than or equal to 0x3f0000. - - or is . - - has been previously called. - - - Adds a new method to the type, with the specified name and method attributes. - The name of the method. cannot contain embedded nulls. - The attributes of the method. - A representing the newly defined method. - The length of is zero.-or- The type of the parent of this method is an interface, and this method is not virtual ( in Visual Basic). - - is . - The type was previously created using .-or-For the current dynamic type, the property is , but the property is . - - - Adds a new method to the type, with the specified name, method attributes, and calling convention. - The name of the method. cannot contain embedded nulls. - The attributes of the method. - The calling convention of the method. - A representing the newly defined method. - The length of is zero.-or- The type of the parent of this method is an interface and this method is not virtual ( in Visual Basic). - - is . - The type was previously created using .-or-For the current dynamic type, the property is , but the property is . - - - Adds a new method to the type, with the specified name, method attributes, calling convention, and method signature. - The name of the method. cannot contain embedded nulls. - The attributes of the method. - The calling convention of the method. - The return type of the method. - The types of the parameters of the method. - A representing the newly defined method. - The length of is zero.-or- The type of the parent of this method is an interface, and this method is not virtual ( in Visual Basic). - - is . - The type was previously created using .-or-For the current dynamic type, the property is , but the property is . - - - Adds a new method to the type, with the specified name, method attributes, calling convention, method signature, and custom modifiers. - The name of the method. cannot contain embedded nulls. - The attributes of the method. - The calling convention of the method. - The return type of the method. - An array of types representing the required custom modifiers, such as , for the return type of the method. If the return type has no required custom modifiers, specify . - An array of types representing the optional custom modifiers, such as , for the return type of the method. If the return type has no optional custom modifiers, specify . - The types of the parameters of the method. - An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding parameter, such as . If a particular parameter has no required custom modifiers, specify instead of an array of types. If none of the parameters have required custom modifiers, specify instead of an array of arrays. - An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding parameter, such as . If a particular parameter has no optional custom modifiers, specify instead of an array of types. If none of the parameters have optional custom modifiers, specify instead of an array of arrays. - A object representing the newly added method. - The length of is zero.-or- The type of the parent of this method is an interface, and this method is not virtual ( in Visual Basic). -or-The size of or does not equal the size of . - - is . - The type was previously created using .-or-For the current dynamic type, the property is , but the property is . - - - Adds a new method to the type, with the specified name, method attributes, and method signature. - The name of the method. cannot contain embedded nulls. - The attributes of the method. - The return type of the method. - The types of the parameters of the method. - The defined method. - The length of is zero.-or- The type of the parent of this method is an interface, and this method is not virtual ( in Visual Basic). - - is . - The type was previously created using .-or-For the current dynamic type, the property is , but the property is . - - - Specifies a given method body that implements a given method declaration, potentially with a different name. - The method body to be used. This should be a object. - The method whose declaration is to be used. - - does not belong to this class. - - or is . - The type was previously created using .-or- - The declaring type of is not the type represented by this . - - - Defines a nested type, given its name. - The short name of the type. cannot contain embedded nulls. - The defined nested type. - Length of is zero or greater than 1023. -or-This operation would create a type with a duplicate in the current assembly. - - is . - - - Defines a nested type, given its name and attributes. - The short name of the type. cannot contain embedded nulls. - The attributes of the type. - The defined nested type. - The nested attribute is not specified.-or- This type is sealed.-or- This type is an array.-or- This type is an interface, but the nested type is not an interface.-or- The length of is zero or greater than 1023. -or-This operation would create a type with a duplicate in the current assembly. - - is . - - - Defines a nested type, given its name, attributes, and the type that it extends. - The short name of the type. cannot contain embedded nulls. - The attributes of the type. - The type that the nested type extends. - The defined nested type. - The nested attribute is not specified.-or- This type is sealed.-or- This type is an array.-or- This type is an interface, but the nested type is not an interface.-or- The length of is zero or greater than 1023. -or-This operation would create a type with a duplicate in the current assembly. - - is . - - - Defines a nested type, given its name, attributes, the total size of the type, and the type that it extends. - The short name of the type. cannot contain embedded nulls. - The attributes of the type. - The type that the nested type extends. - The total size of the type. - The defined nested type. - The nested attribute is not specified.-or- This type is sealed.-or- This type is an array.-or- This type is an interface, but the nested type is not an interface.-or- The length of is zero or greater than 1023. -or-This operation would create a type with a duplicate in the current assembly. - - is . - - - Defines a nested type, given its name, attributes, the type that it extends, and the packing size. - The short name of the type. cannot contain embedded nulls. - The attributes of the type. - The type that the nested type extends. - The packing size of the type. - The defined nested type. - The nested attribute is not specified.-or- This type is sealed.-or- This type is an array.-or- This type is an interface, but the nested type is not an interface.-or- The length of is zero or greater than 1023. -or-This operation would create a type with a duplicate in the current assembly. - - is . - - - Defines a nested type, given its name, attributes, size, and the type that it extends. - The short name of the type. cannot contain embedded null values. - The attributes of the type. - The type that the nested type extends. - The packing size of the type. - The total size of the type. - The defined nested type. - - - Defines a nested type, given its name, attributes, the type that it extends, and the interfaces that it implements. - The short name of the type. cannot contain embedded nulls. - The attributes of the type. - The type that the nested type extends. - The interfaces that the nested type implements. - The defined nested type. - The nested attribute is not specified.-or- This type is sealed.-or- This type is an array.-or- This type is an interface, but the nested type is not an interface.-or- The length of is zero or greater than 1023. -or-This operation would create a type with a duplicate in the current assembly. - - is .-or-An element of the array is . - - - Defines a method given its name, the name of the DLL in which the method is defined, the attributes of the method, the calling convention of the method, the return type of the method, the types of the parameters of the method, and the flags. - The name of the method. cannot contain embedded nulls. - The name of the DLL in which the method is defined. - The attributes of the method. - The method's calling convention. - The method's return type. - The types of the method's parameters. - The native calling convention. - The method's native character set. - The defined method. - The method is not static.-or- The parent type is an interface.-or- The method is abstract.-or- The method was previously defined.-or- The length of or is zero. - - or is . - The containing type has been previously created using . - - - Defines a method given its name, the name of the DLL in which the method is defined, the name of the entry point, the attributes of the method, the calling convention of the method, the return type of the method, the types of the parameters of the method, and the flags. - The name of the method. cannot contain embedded nulls. - The name of the DLL in which the method is defined. - The name of the entry point in the DLL. - The attributes of the method. - The method's calling convention. - The method's return type. - The types of the method's parameters. - The native calling convention. - The method's native character set. - The defined method. - The method is not static.-or- The parent type is an interface.-or- The method is abstract.-or- The method was previously defined.-or- The length of , , or is zero. - - , , or is . - The containing type has been previously created using . - - - Defines a method given its name, the name of the DLL in which the method is defined, the name of the entry point, the attributes of the method, the calling convention of the method, the return type of the method, the types of the parameters of the method, the flags, and custom modifiers for the parameters and return type. - The name of the method. cannot contain embedded nulls. - The name of the DLL in which the method is defined. - The name of the entry point in the DLL. - The attributes of the method. - The method's calling convention. - The method's return type. - An array of types representing the required custom modifiers, such as , for the return type of the method. If the return type has no required custom modifiers, specify . - An array of types representing the optional custom modifiers, such as , for the return type of the method. If the return type has no optional custom modifiers, specify . - The types of the method's parameters. - An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding parameter, such as . If a particular parameter has no required custom modifiers, specify instead of an array of types. If none of the parameters have required custom modifiers, specify instead of an array of arrays. - An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding parameter, such as . If a particular parameter has no optional custom modifiers, specify instead of an array of types. If none of the parameters have optional custom modifiers, specify instead of an array of arrays. - The native calling convention. - The method's native character set. - A representing the defined method. - The method is not static.-or- The parent type is an interface.-or- The method is abstract.-or- The method was previously defined.-or- The length of , , or is zero. -or-The size of or does not equal the size of . - - , , or is . - The type was previously created using .-or-For the current dynamic type, the property is , but the property is . - - - Adds a new property to the type, with the given name, attributes, calling convention, and property signature. - The name of the property. cannot contain embedded nulls. - The attributes of the property. - The calling convention of the property accessors. - The return type of the property. - The types of the parameters of the property. - The defined property. - The length of is zero. - - is . -or- Any of the elements of the array is . - The type was previously created using . - - - Adds a new property to the type, with the given name, calling convention, property signature, and custom modifiers. - The name of the property. cannot contain embedded nulls. - The attributes of the property. - The calling convention of the property accessors. - The return type of the property. - An array of types representing the required custom modifiers, such as , for the return type of the property. If the return type has no required custom modifiers, specify . - An array of types representing the optional custom modifiers, such as , for the return type of the property. If the return type has no optional custom modifiers, specify . - The types of the parameters of the property. - An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding parameter, such as . If a particular parameter has no required custom modifiers, specify instead of an array of types. If none of the parameters have required custom modifiers, specify instead of an array of arrays. - An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding parameter, such as . If a particular parameter has no optional custom modifiers, specify instead of an array of types. If none of the parameters have optional custom modifiers, specify instead of an array of arrays. - The defined property. - The length of is zero. - - is . -or- Any of the elements of the array is . - The type was previously created using . - - - Adds a new property to the type, with the given name and property signature. - The name of the property. cannot contain embedded nulls. - The attributes of the property. - The return type of the property. - The types of the parameters of the property. - The defined property. - The length of is zero. - - is . -or- Any of the elements of the array is . - The type was previously created using . - - - Adds a new property to the type, with the given name, property signature, and custom modifiers. - The name of the property. cannot contain embedded nulls. - The attributes of the property. - The return type of the property. - An array of types representing the required custom modifiers, such as , for the return type of the property. If the return type has no required custom modifiers, specify . - An array of types representing the optional custom modifiers, such as , for the return type of the property. If the return type has no optional custom modifiers, specify . - The types of the parameters of the property. - An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding parameter, such as . If a particular parameter has no required custom modifiers, specify instead of an array of types. If none of the parameters have required custom modifiers, specify instead of an array of arrays. - An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding parameter, such as . If a particular parameter has no optional custom modifiers, specify instead of an array of types. If none of the parameters have optional custom modifiers, specify instead of an array of arrays. - The defined property. - The length of is zero. - - is -or- Any of the elements of the array is - The type was previously created using . - - - Defines the initializer for this type. - Returns a type initializer. - The containing type has been previously created using . - - - Defines an uninitialized data field in the section of the portable executable (PE) file. - The name used to refer to the data. cannot contain embedded nulls. - The size of the data field. - The attributes for the field. - A field to reference the data. - Length of is zero.-or- - is less than or equal to zero, or greater than or equal to 0x003f0000. - - is . - The type was previously created using . - - - Returns the constructor of the specified constructed generic type that corresponds to the specified constructor of the generic type definition. - The constructed generic type whose constructor is returned. - A constructor on the generic type definition of , which specifies which constructor of to return. - A object that represents the constructor of corresponding to , which specifies a constructor belonging to the generic type definition of . - - does not represent a generic type. -or- - is not of type .-or-The declaring type of is not a generic type definition. -or-The declaring type of is not the generic type definition of . - - - Returns an array of objects representing the public and non-public constructors defined for this class, as specified. - This must be a bit flag from as in , , and so on. - Returns an array of objects representing the specified constructors defined for this class. If no constructors are defined, an empty array is returned. - This method is not implemented for incomplete types. - - - Returns all the custom attributes defined for this type. - Specifies whether to search this member's inheritance chain to find the attributes. - Returns an array of objects representing all the custom attributes of this type. - This method is not currently supported for incomplete types. Retrieve the type using and call on the returned . - - - Returns all the custom attributes of the current type that are assignable to a specified type. - The type of attribute to search for. Only attributes that are assignable to this type are returned. - Specifies whether to search this member's inheritance chain to find the attributes. - An array of custom attributes defined on the current type. - This method is not currently supported for incomplete types. Retrieve the type using and call on the returned . - - is . - The type must be a type provided by the underlying runtime system. - - - Calling this method always throws . - This method is not supported. No value is returned. - This method is not supported. - - - Returns the event with the specified name. - The name of the event to search for. - A bitwise combination of values that limits the search. - An object representing the event declared or inherited by this type with the specified name, or if there are no matches. - This method is not implemented for incomplete types. - - - Returns the public events declared or inherited by this type. - Returns an array of objects representing the public events declared or inherited by this type. An empty array is returned if there are no public events. - This method is not implemented for incomplete types. - - - Returns the public and non-public events that are declared by this type. - A bitwise combination of values that limits the search. - Returns an array of objects representing the events declared or inherited by this type that match the specified binding flags. An empty array is returned if there are no matching events. - This method is not implemented for incomplete types. - - - Returns the field specified by the given name. - The name of the field to get. - This must be a bit flag from as in , , and so on. - Returns the object representing the field declared or inherited by this type with the specified name and public or non-public modifier. If there are no matches then is returned. - This method is not implemented for incomplete types. - - - Returns the field of the specified constructed generic type that corresponds to the specified field of the generic type definition. - The constructed generic type whose field is returned. - A field on the generic type definition of , which specifies which field of to return. - A object that represents the field of corresponding to , which specifies a field belonging to the generic type definition of . - - does not represent a generic type. -or- - is not of type .-or-The declaring type of is not a generic type definition. -or-The declaring type of is not the generic type definition of . - - - Returns the public and non-public fields that are declared by this type. - This must be a bit flag from : , , and so on. - Returns an array of objects representing the public and non-public fields declared or inherited by this type. An empty array is returned if there are no fields, as specified. - This method is not implemented for incomplete types. - - - Returns an array of objects representing the type arguments of a generic type or the type parameters of a generic type definition. - An array of objects. The elements of the array represent the type arguments of a generic type or the type parameters of a generic type definition. - - - Returns a object that represents a generic type definition from which the current type can be obtained. - A object representing a generic type definition from which the current type can be obtained. - The current type is not generic. That is, returns . - - - Returns the interface implemented (directly or indirectly) by this class with the fully qualified name matching the given interface name. - The name of the interface. - If , the search is case-insensitive. If , the search is case-sensitive. - Returns a object representing the implemented interface. Returns null if no interface matching name is found. - This method is not implemented for incomplete types. - - - Returns an interface mapping for the requested interface. - The of the interface for which the mapping is to be retrieved. - Returns the requested interface mapping. - This method is not implemented for incomplete types. - - - Returns an array of all the interfaces implemented on this type and its base types. - Returns an array of objects representing the implemented interfaces. If none are defined, an empty array is returned. - - - Returns all the public and non-public members declared or inherited by this type, as specified. - The name of the member. - The type of the member to return. - This must be a bit flag from , as in , , and so on. - Returns an array of objects representing the public and non-public members defined on this type if is used; otherwise, only the public members are returned. - This method is not implemented for incomplete types. - - - Returns the members for the public and non-public members declared or inherited by this type. - This must be a bit flag from , such as , , and so on. - Returns an array of objects representing the public and non-public members declared or inherited by this type. An empty array is returned if there are no matching members. - This method is not implemented for incomplete types. - - - Returns the method of the specified constructed generic type that corresponds to the specified method of the generic type definition. - The constructed generic type whose method is returned. - A method on the generic type definition of , which specifies which method of to return. - A object that represents the method of corresponding to , which specifies a method belonging to the generic type definition of . - - is a generic method that is not a generic method definition.-or- - does not represent a generic type.-or- - is not of type .-or-The declaring type of is not a generic type definition. -or-The declaring type of is not the generic type definition of . - - - Returns all the public and non-public methods declared or inherited by this type, as specified. - This must be a bit flag from as in , , and so on. - Returns an array of objects representing the public and non-public methods defined on this type if is used; otherwise, only the public methods are returned. - This method is not implemented for incomplete types. - - - Returns the public and non-public nested types that are declared by this type. - The containing the name of the nested type to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to conduct a case-sensitive search for public methods. - A object representing the nested type that matches the specified requirements, if found; otherwise, . - This method is not implemented for incomplete types. - - - Returns the public and non-public nested types that are declared or inherited by this type. - This must be a bit flag from , as in , , and so on. - An array of objects representing all the types nested within the current that match the specified binding constraints.An empty array of type , if no types are nested within the current , or if none of the nested types match the binding constraints. - This method is not implemented for incomplete types. - - - Returns all the public and non-public properties declared or inherited by this type, as specified. - This invocation attribute. This must be a bit flag from : , , and so on. - Returns an array of objects representing the public and non-public properties defined on this type if is used; otherwise, only the public properties are returned. - This method is not implemented for incomplete types. - - - Invokes the specified member. The method that is to be invoked must be accessible and provide the most specific match with the specified argument list, under the constraints of the specified binder and invocation attributes. - The name of the member to invoke. This can be a constructor, method, property, or field. A suitable invocation attribute must be specified. Note that it is possible to invoke the default member of a class by passing an empty string as the name of the member. - The invocation attribute. This must be a bit flag from . - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects using reflection. If binder is , the default binder is used. See . - The object on which to invoke the specified member. If the member is static, this parameter is ignored. - An argument list. This is an array of Objects that contains the number, order, and type of the parameters of the member to be invoked. If there are no parameters this should be null. - An array of the same length as with elements that represent the attributes associated with the arguments of the member to be invoked. A parameter has attributes associated with it in the metadata. They are used by various interoperability services. See the metadata specs for more details. - An instance of used to govern the coercion of types. If this is null, the for the current thread is used. (Note that this is necessary to, for example, convert a String that represents 1000 to a Double value, since 1000 is represented differently by different cultures.) - Each parameter in the array gets the value in the corresponding element in the array. If the length of is greater than the length of , the remaining argument values are passed in order. - Returns the return value of the invoked member. - This method is not currently supported for incomplete types. - - - Gets a value that indicates whether a specified object can be assigned to this object. - The object to test. - - if can be assigned to this object; otherwise, . - - - Gets a value that indicates whether a specified can be assigned to this object. - The object to test. - - if the parameter and the current type represent the same type, or if the current type is in the inheritance hierarchy of , or if the current type is an interface that supports. if none of these conditions are valid, or if is . - - - Returns a value that indicates whether the current dynamic type has been created. - - if the method has been called; otherwise, . - - - Determines whether a custom attribute is applied to the current type. - The type of attribute to search for. Only attributes that are assignable to this type are returned. - Specifies whether to search this member's inheritance chain to find the attributes. - - if one or more instances of , or an attribute derived from , is defined on this type; otherwise, . - This method is not currently supported for incomplete types. Retrieve the type using and call on the returned . - - is not defined. - - is . - - - Determines whether this type is derived from a specified type. - A that is to be checked. - Read-only. Returns if this type is the same as the type , or is a subtype of type ; otherwise, . - - - Returns a object that represents a one-dimensional array of the current type, with a lower bound of zero. - A object representing a one-dimensional array type whose element type is the current type, with a lower bound of zero. - - - Returns a object that represents an array of the current type, with the specified number of dimensions. - The number of dimensions for the array. - A object that represents a one-dimensional array of the current type. - - is not a valid array dimension. - - - Returns a object that represents the current type when passed as a parameter ( in Visual Basic). - A object that represents the current type when passed as a parameter ( in Visual Basic). - - - Substitutes the elements of an array of types for the type parameters of the current generic type definition, and returns the resulting constructed type. - An array of types to be substituted for the type parameters of the current generic type definition. - A representing the constructed type formed by substituting the elements of for the type parameters of the current generic type. - The current type does not represent the definition of a generic type. That is, returns . - - is .-or- Any element of is . - - The property of any element of is . -or- The property of the module of any element of is . - - - Returns a object that represents the type of an unmanaged pointer to the current type. - A object that represents the type of an unmanaged pointer to the current type. - - - Sets a custom attribute using a specified custom attribute blob. - The constructor for the custom attribute. - A byte blob representing the attributes. - - or is . - For the current dynamic type, the property is , but the property is . - - - Set a custom attribute using a custom attribute builder. - An instance of a helper class to define the custom attribute. - - is . - For the current dynamic type, the property is , but the property is . - - - Sets the base type of the type currently under construction. - The new base type. - The type was previously created using .-or- - is , and the current instance represents an interface whose attributes do not include .-or-For the current dynamic type, the property is , but the property is . - - is an interface. This exception condition is new in the .NET Framework version 2.0. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Returns the name of the type excluding the namespace. - Read-only. The name of the type excluding the namespace. - - - Checks if the given object is an instance of and is equal to this instance. - The object to compare with this TypeToken. - - if is an instance of and is equal to this object; otherwise, . - - - Indicates whether the current instance is equal to the specified . - The to compare to the current instance. - - if the value of is equal to the value of the current instance; otherwise, . - - - Generates the hash code for this type. - Returns the hash code for this type. - - - Indicates whether two structures are equal. - The to compare to . - The to compare to . - - if is equal to ; otherwise, . - - - Indicates whether two structures are not equal. - The to compare to . - The to compare to . - - if is not equal to ; otherwise, . - - - Specifies a fixed-length array (ByValArray) to marshal to unmanaged code. - The number of elements in the fixed-length array. - An object. - The argument is not a simple native type. - - - Specifies a string in a fixed array buffer (ByValTStr) to marshal to unmanaged code. - The number of elements in the fixed array buffer. - An object. - The argument is not a simple native type. - - - Specifies an to marshal to unmanaged code. The length of an is determined at runtime by the size of the actual marshaled array. - The unmanaged type to which to marshal the array. - An object. - The argument is not a simple native type. - - - Specifies a to marshal to unmanaged code. - The base type or the of each element of the array. - An object. - The argument is not a simple native type. - - - Specifies a given type that is to be marshaled to unmanaged code. - The unmanaged type to which the type is to be marshaled. - An object. - The argument is not a simple native type. - - - Initializes a new instance of the class. - - - Adds an event handler to an event source. - The event source. - Encapsulates a method or methods to be invoked when the event is raised by the target. - The event does not have a public accessor. - The handler that was passed in cannot be used. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The caller does not have access permission to the member. - - In the .NET for Windows Store apps or the Portable Class Library, catch instead.The parameter is and the event is not static.-or- The is not declared on the target. - - - Returns a value that indicates whether this instance is equal to a specified object. - An object to compare with this instance, or . - - if equals the type and value of this instance; otherwise, . - - - Returns the method used to add an event handler delegate to the event source. - A object representing the method used to add an event handler delegate to the event source. - - - When overridden in a derived class, retrieves the object for the method of the event, specifying whether to return non-public methods. - - if non-public methods can be returned; otherwise, . - A object representing the method used to add an event handler delegate to the event source. - - is , the method used to add an event handler delegate is non-public, and the caller does not have permission to reflect on non-public methods. - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns the public methods that have been associated with an event in metadata using the directive. - An array of objects representing the public methods that have been associated with the event in metadata by using the directive. If there are no such public methods, an empty array is returned. - - - Returns the methods that have been associated with the event in metadata using the directive, specifying whether to include non-public methods. - - to include non-public methods; otherwise, . - An array of objects representing methods that have been associated with an event in metadata by using the directive. If there are no methods matching the specification, an empty array is returned. - This method is not implemented. - - - Returns the method that is called when the event is raised. - The method that is called when the event is raised. - - - When overridden in a derived class, returns the method that is called when the event is raised, specifying whether to return non-public methods. - - if non-public methods can be returned; otherwise, . - A object that was called when the event was raised. - - is , the method used to add an event handler delegate is non-public, and the caller does not have permission to reflect on non-public methods. - - - Returns the method used to remove an event handler delegate from the event source. - A object representing the method used to remove an event handler delegate from the event source. - - - When overridden in a derived class, retrieves the object for removing a method of the event, specifying whether to return non-public methods. - - if non-public methods can be returned; otherwise, . - A object representing the method used to remove an event handler delegate from the event source. - - is , the method used to add an event handler delegate is non-public, and the caller does not have permission to reflect on non-public methods. - - - Indicates whether two objects are equal. - The first object to compare. - The second object to compare. - - if is equal to ; otherwise, . - - - Indicates whether two objects are not equal. - The first object to compare. - The second object to compare. - - if is not equal to ; otherwise, . - - - Removes an event handler from an event source. - The event source. - The delegate to be disassociated from the events raised by target. - The event does not have a public accessor. - The handler that was passed in cannot be used. - - In the .NET for Windows Store apps or the Portable Class Library, catch instead.The parameter is and the event is not static.-or- The is not declared on the target. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The caller does not have access permission to the member. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Returns a T:System.Type object representing the type. - A T:System.Type object representing the type. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Initializes a new instance of the class. - - - A string representation of the exception-handling clause. - A string that lists appropriate property values for the filter clause type. - - - Initializes a new instance of the class. - - - Returns a value that indicates whether this instance is equal to a specified object. - An object to compare with this instance, or . - - if equals the type and value of this instance; otherwise, . - - - Gets a for the field represented by the specified handle. - A structure that contains the handle to the internal metadata representation of a field. - A object representing the field specified by . - - is invalid. - - - Gets a for the field represented by the specified handle, for the specified generic type. - A structure that contains the handle to the internal metadata representation of a field. - A structure that contains the handle to the generic type that defines the field. - A object representing the field specified by , in the generic type specified by . - - is invalid.-or- - is not compatible with . For example, is the runtime type handle of the generic type definition, and comes from a constructed type. See Remarks. - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Gets an array of types that identify the optional custom modifiers of the field. - An array of objects that identify the optional custom modifiers of the current field, such as . - - - Returns a literal value associated with the field by a compiler. - An that contains the literal value associated with the field. If the literal value is a class type with an element value of zero, the return value is . - The Constant table in unmanaged metadata does not contain a constant value for the current field. - The type of the value is not one of the types permitted by the Common Language Specification (CLS). See the ECMA Partition II specification Metadata Logical Format: Other Structures, Element Types used in Signatures. - The constant value for the field is not set. - - - Gets an array of types that identify the required custom modifiers of the property. - An array of objects that identify the required custom modifiers of the current property, such as or . - - - When overridden in a derived class, returns the value of a field supported by a given object. - The object whose field value will be returned. - An object containing the value of the field reflected by this instance. - In the .NET for Windows Store apps or the Portable Class Library, catch instead.The field is non-static and is . - A field is marked literal, but the field does not have one of the accepted literal types. - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The caller does not have permission to access this field. - The method is neither declared nor inherited by the class of . - - - Returns the value of a field supported by a given object. - - - A structure that encapsulates a managed pointer to a location and a runtime representation of the type that might be stored at that location. - An containing a field value. - The caller requires the Common Language Specification (CLS) alternative, but called this method instead. - - - Indicates whether two objects are equal. - The first object to compare. - The second object to compare. - - if is equal to ; otherwise, . - - - Indicates whether two objects are not equal. - The first object to compare. - The second object to compare. - - if is not equal to ; otherwise, . - - - Sets the value of the field supported by the given object. - The object whose field value will be set. - The value to assign to the field. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The caller does not have permission to access this field. - - In the .NET for Windows Store apps or the Portable Class Library, catch instead.The parameter is and the field is an instance field. - The field does not exist on the object.-or- The parameter cannot be converted and stored in the field. - - - When overridden in a derived class, sets the value of the field supported by the given object. - The object whose field value will be set. - The value to assign to the field. - A field of that specifies the type of binding that is desired (for example, or ). - A set of properties that enables the binding, coercion of argument types, and invocation of members through reflection. If is , then is used. - The software preferences of a particular culture. - The caller does not have permission to access this field. - The parameter is and the field is an instance field. - The field does not exist on the object.-or- The parameter cannot be converted and stored in the field. - - - Sets the value of the field supported by the given object. - A structure that encapsulates a managed pointer to a location and a runtime representation of the type that can be stored at that location. - The value to assign to the field. - The caller requires the Common Language Specification (CLS) alternative, but called this method instead. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Gets a object representing the type. - A object representing the type. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Returns an array of all of the custom attributes defined on this member, excluding named attributes, or an empty array if there are no custom attributes. - When , look up the hierarchy chain for the inherited custom attribute. - An array of Objects representing custom attributes, or an empty array. - The custom attribute type cannot be loaded. - There is more than one attribute of type defined on this member. - - - Returns an array of custom attributes defined on this member, identified by type, or an empty array if there are no custom attributes of that type. - The type of the custom attributes. - When , look up the hierarchy chain for the inherited custom attribute. - An array of Objects representing custom attributes, or an empty array. - The custom attribute type cannot be loaded. - - is . - - - Indicates whether one or more instance of is defined on this member. - The type of the custom attributes. - When , look up the hierarchy chain for the inherited custom attribute. - - if the is defined on this member; otherwise. - - - Returns the representation of the specified type. - The type to convert. - The converted object. - - - Initializes a new instance of the class with the default properties. - - - Initializes a new instance of the class with the specified serialization and context information. - A object that contains the information required to serialize this instance. - A object that contains the source and destination of the serialized stream associated with this instance. - - - Initializes a new instance of the class with the given HRESULT and message string. - The message text for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Returns the object that corresponds to the specified field and binding flag. - The name of the field to find. - The binding attributes used to control the search. - A object containing the field information for the named object that meets the search constraints specified in . - The object implements multiple fields with the same name. - - - Returns an array of objects that correspond to all fields of the current class. - The binding attributes used to control the search. - An array of objects containing all the field information for this reflection object that meets the search constraints specified in . - - - Retrieves an array of objects corresponding to all public members or to all members that match a specified name. - The name of the member to find. - The binding attributes used to control the search. - An array of objects matching the parameter. - - - Retrieves an array of objects that correspond either to all public members or to all members of the current class. - The binding attributes used to control the search. - An array of objects containing all the member information for this reflection object. - - - Retrieves a object that corresponds to a specified method under specified search constraints. - The name of the member to find. - The binding attributes used to control the search. - A object containing the method information, with the match being based on the method name and search constraints specified in . - The object implements multiple methods with the same name. - - - Retrieves a object corresponding to a specified method, using a array to choose from among overloaded methods. - The name of the member to find. - The binding attributes used to control the search. - An object that implements , containing properties related to this method. - An array used to choose among overloaded methods. - An array of parameter modifiers used to make binding work with parameter signatures in which the types have been modified. - The requested method that matches all the specified parameters. - The object implements multiple methods with the same name. - - - Retrieves an array of objects with all public methods or all methods of the current class. - The binding attributes used to control the search. - An array of objects containing all the methods defined for this reflection object that meet the search constraints specified in . - - - Retrieves an array of objects corresponding to all public properties or to all properties of the current class. - The binding attribute used to control the search. - An array of objects for all the properties defined on the reflection object. - - - Retrieves a object corresponding to a specified property under specified search constraints. - The name of the property to find. - The binding attributes used to control the search. - A object for the located property that meets the search constraints specified in , or if the property was not located. - The object implements multiple fields with the same name. - - - Retrieves a object that corresponds to a specified property with specified search constraints. - The name of the member to find. - The binding attribute used to control the search. - An object that implements , containing properties related to this method. - The type of the property. - An array used to choose among overloaded methods with the same name. - An array used to choose the parameter modifiers. - A object for the located property, if a property with the specified name was located in this reflection object, or if the property was not located. - - - Invokes a specified member. - The name of the member to find. - One of the invocation attributes. The parameter may be a constructor, method, property, or field. A suitable invocation attribute must be specified. Invoke the default member of a class by passing the empty string ("") as the name of the member. - One of the bit flags. Implements , containing properties related to this method. - The object on which to invoke the specified member. This parameter is ignored for static members. - An array of objects that contains the number, order, and type of the parameters of the member to be invoked. This is an empty array if there are no parameters. - An array of objects. This array has the same length as the parameter, representing the invoked member's argument attributes in the metadata. A parameter can have the following attributes: , , , , and . These represent [In], [Out], [retval], [optional], and a default parameter, respectively. These attributes are used by various interoperability services. - An instance of used to govern the coercion of types. For example, converts a that represents 1000 to a value, since 1000 is represented differently by different cultures. If this parameter is , the for the current thread is used. - A array of parameters. - The specified member. - - is and another bit flag is also set. - - is not and is . - - is not an invocation attribute from . - - specifies both and for a property or field. - - specifies both a field and an method. are provided for a field . - More than one argument is specified for a field . - The field or property cannot be found. - The method cannot be found. - A private member is invoked without the necessary . - - - Retrieves an object that represents this type. - An object that represents this type. - - - Initializes a new instance of the class. - - - Returns a user-readable string that describes the local variable. - A string that displays information about the local variable, including the type name, index, and pinned status. - - - Initializes a new instance of the class for a resource that is contained by the specified assembly and file, and that has the specified location. - The assembly that contains the manifest resource. - The name of the file that contains the manifest resource, if the file is not the same as the manifest file. - A bitwise combination of enumeration values that provides information about the location of the manifest resource. - - - Initializes a new instance of the class. - - - Returns a value that indicates whether this instance is equal to a specified object. - An object to compare with this instance, or . - - if equals the type and value of this instance; otherwise, . - - - When overridden in a derived class, returns an array of all custom attributes applied to this member. - - to search this member's inheritance chain to find the attributes; otherwise, . This parameter is ignored for properties and events; see Remarks. - An array that contains all the custom attributes applied to this member, or an array with zero elements if no attributes are defined. - This member belongs to a type that is loaded into the reflection-only context. See How to: Load Assemblies into the Reflection-Only Context. - A custom attribute type could not be loaded. - - - When overridden in a derived class, returns an array of custom attributes applied to this member and identified by . - The type of attribute to search for. Only attributes that are assignable to this type are returned. - - to search this member's inheritance chain to find the attributes; otherwise, . This parameter is ignored for properties and events; see Remarks. - An array of custom attributes applied to this member, or an array with zero elements if no attributes assignable to have been applied. - A custom attribute type cannot be loaded. - If is . - This member belongs to a type that is loaded into the reflection-only context. See How to: Load Assemblies into the Reflection-Only Context. - - - Returns a list of objects representing data about the attributes that have been applied to the target member. - A generic list of objects representing data about the attributes that have been applied to the target member. - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - When overridden in a derived class, indicates whether one or more attributes of the specified type or of its derived types is applied to this member. - The type of custom attribute to search for. The search includes derived types. - - to search this member's inheritance chain to find the attributes; otherwise, . This parameter is ignored for properties and events; see Remarks. - - if one or more instances of or any of its derived types is applied to this member; otherwise, . - - - Indicates whether two objects are equal. - The to compare to . - The to compare to . - - if is equal to ; otherwise . - - - Indicates whether two objects are not equal. - The to compare to . - The to compare to . - - if is not equal to ; otherwise . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - The method is called late-bound using the COM IDispatch interface. - - - Gets a object representing the class. - A object representing the class. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - The method is called late-bound using the COM IDispatch interface. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - The method is called late-bound using the COM IDispatch interface. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - The method is called late-bound using the COM IDispatch interface. - - - Initializes a new instance of the class. - - - Returns a value that indicates whether this instance is equal to a specified object. - An object to compare with this instance, or . - - if equals the type and value of this instance; otherwise, . - - - Returns a object representing the currently executing method. - - is a static method that is called from within an executing method and that returns information about that method.A object representing the currently executing method. - This member was invoked with a late-binding mechanism. - - - Returns an array of objects that represent the type arguments of a generic method or the type parameters of a generic method definition. - An array of objects that represent the type arguments of a generic method or the type parameters of a generic method definition. Returns an empty array if the current method is not a generic method. - The current object is a . Generic constructors are not supported in the .NET Framework version 2.0. This exception is the default behavior if this method is not overridden in a derived class. - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - When overridden in a derived class, gets a object that provides access to the MSIL stream, local variables, and exceptions for the current method. - A object that provides access to the MSIL stream, local variables, and exceptions for the current method. - This method is invalid unless overridden in a derived class. - - - Gets method information by using the method's internal metadata representation (handle). - The method's handle. - A containing information about the method. - - is invalid. - - - Gets a object for the constructor or method represented by the specified handle, for the specified generic type. - A handle to the internal metadata representation of a constructor or method. - A handle to the generic type that defines the constructor or method. - A object representing the method or constructor specified by , in the generic type specified by . - - is invalid. - - - When overridden in a derived class, returns the flags. - The flags. - - - When overridden in a derived class, gets the parameters of the specified method or constructor. - An array of type containing information that matches the signature of the method (or constructor) reflected by this instance. - - - Invokes the method or constructor represented by the current instance, using the specified parameters. - The object on which to invoke the method or constructor. If a method is static, this argument is ignored. If a constructor is static, this argument must be or an instance of the class that defines the constructor. - An argument list for the invoked method or constructor. This is an array of objects with the same number, order, and type as the parameters of the method or constructor to be invoked. If there are no parameters, should be .If the method or constructor represented by this instance takes a parameter ( in Visual Basic), no special attribute is required for that parameter in order to invoke the method or constructor using this function. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference-type elements, this value is . For value-type elements, this value is 0, 0.0, or , depending on the specific element type. - An object containing the return value of the invoked method, or in the case of a constructor.Elements of the array that represent parameters declared with the or keyword may also be modified. - - In the .NET for Windows Store apps or the Portable Class Library, catch instead.The parameter is and the method is not static.-or- The method is not declared or inherited by the class of . -or-A static constructor is invoked, and is neither nor an instance of the class that declared the constructor. - The elements of the array do not match the signature of the method or constructor reflected by this instance. - The invoked method or constructor throws an exception. -or- - The current instance is a that contains unverifiable code. See the "Verification" section in Remarks for . - The array does not have the correct number of arguments. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The caller does not have permission to execute the method or constructor that is represented by the current instance. - The type that declares the method is an open generic type. That is, the property returns for the declaring type. - The current instance is a . - - - When overridden in a derived class, invokes the reflected method or constructor with the given parameters. - The object on which to invoke the method or constructor. If a method is static, this argument is ignored. If a constructor is static, this argument must be or an instance of the class that defines the constructor. - A bitmask that is a combination of 0 or more bit flags from . If is , this parameter is assigned the value ; thus, whatever you pass in is ignored. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects via reflection. If is , the default binder is used. - An argument list for the invoked method or constructor. This is an array of objects with the same number, order, and type as the parameters of the method or constructor to be invoked. If there are no parameters, this should be .If the method or constructor represented by this instance takes a ByRef parameter, there is no special attribute required for that parameter in order to invoke the method or constructor using this function. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference-type elements, this value is . For value-type elements, this value is 0, 0.0, or , depending on the specific element type. - An instance of used to govern the coercion of types. If this is , the for the current thread is used. (This is necessary to convert a that represents 1000 to a value, for example, since 1000 is represented differently by different cultures.) - An containing the return value of the invoked method, or in the case of a constructor, or if the method's return type is . Before calling the method or constructor, checks to see if the user has access permission and verifies that the parameters are valid.Elements of the array that represent parameters declared with the or keyword may also be modified. - The parameter is and the method is not static.-or- The method is not declared or inherited by the class of . -or-A static constructor is invoked, and is neither nor an instance of the class that declared the constructor. - The type of the parameter does not match the signature of the method or constructor reflected by this instance. - The array does not have the correct number of arguments. - The invoked method or constructor throws an exception. - The caller does not have permission to execute the method or constructor that is represented by the current instance. - The type that declares the method is an open generic type. That is, the property returns for the declaring type. - - - Indicates whether two objects are equal. - The first object to compare. - The second object to compare. - - if is equal to ; otherwise, . - - - Indicates whether two objects are not equal. - The first object to compare. - The second object to compare. - - if is not equal to ; otherwise, . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - For a description of this member, see . - For a description of this member, see . - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Initializes a new instance of the class. - - - Returns the MSIL for the method body, as an array of bytes. - An array of type that contains the MSIL for the method body. - - - Initializes a new instance of the class. - - - Creates a delegate of the specified type from this method. - The type of the delegate to create. - The delegate for this method. - - - Creates a delegate of the specified type with the specified target from this method. - The type of the delegate to create. - The object targeted by the delegate. - The delegate for this method. - - - Returns a value that indicates whether this instance is equal to a specified object. - An object to compare with this instance, or . - - if equals the type and value of this instance; otherwise, . - - - When overridden in a derived class, returns the object for the method on the direct or indirect base class in which the method represented by this instance was first declared. - A object for the first implementation of this method. - - - Returns an array of objects that represent the type arguments of a generic method or the type parameters of a generic method definition. - An array of objects that represent the type arguments of a generic method or the type parameters of a generic method definition. Returns an empty array if the current method is not a generic method. - This method is not supported. - - - Returns a object that represents a generic method definition from which the current method can be constructed. - A object representing a generic method definition from which the current method can be constructed. - The current method is not a generic method. That is, returns . - This method is not supported. - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Substitutes the elements of an array of types for the type parameters of the current generic method definition, and returns a object representing the resulting constructed method. - An array of types to be substituted for the type parameters of the current generic method definition. - A object that represents the constructed method formed by substituting the elements of for the type parameters of the current generic method definition. - The current does not represent a generic method definition. That is, returns . - - is .-or- Any element of is . - The number of elements in is not the same as the number of type parameters of the current generic method definition.-or- An element of does not satisfy the constraints specified for the corresponding type parameter of the current generic method definition. - This method is not supported. - - - Indicates whether two objects are equal. - The first object to compare. - The second object to compare. - - if is equal to ; otherwise, . - - - Indicates whether two objects are not equal. - The first object to compare. - The second object to compare. - - if is not equal to ; otherwise, . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array that receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to the method from COM. - A object representing the type. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Sets a object with the logical context information needed to recreate the sole instance of the object. - The object to be populated with serialization information. - The object representing the destination context of the serialization. - - is . - - - Initializes a new instance of the class. - - - Determines whether this module and the specified object are equal. - The object to compare with this instance. - - if is equal to this instance; otherwise, . - - - Returns an array of classes accepted by the given filter and filter criteria. - The delegate used to filter the classes. - An Object used to filter the classes. - An array of type containing classes that were accepted by the filter. - One or more classes in a module could not be loaded. - - - Returns all custom attributes. - This argument is ignored for objects of this type. - An array of type containing all custom attributes. - - - Gets custom attributes of the specified type. - The type of attribute to get. - This argument is ignored for objects of this type. - An array of type containing all custom attributes of the specified type. - - is . - - is not a object supplied by the runtime. For example, is a object. - - - Returns a list of objects for the current module, which can be used in the reflection-only context. - A generic list of objects representing data about the attributes that have been applied to the current module. - - - Returns a field having the specified name. - The field name. - A object having the specified name, or if the field does not exist. - The parameter is . - - - Returns a field having the specified name and binding attributes. - The field name. - One of the bit flags used to control the search. - A object having the specified name and binding attributes, or if the field does not exist. - The parameter is . - - - Returns the global fields defined on the module. - An array of objects representing the global fields defined on the module; if there are no global fields, an empty array is returned. - - - Returns the global fields defined on the module that match the specified binding flags. - A bitwise combination of values that limit the search. - An array of type representing the global fields defined on the module that match the specified binding flags; if no global fields match the binding flags, an empty array is returned. - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns a method having the specified name. - The method name. - A object having the specified name, or if the method does not exist. - - is . - - - Returns a method having the specified name, binding information, calling convention, and parameter types and modifiers. - The method name. - One of the bit flags used to control the search. - An object that implements , containing properties related to this method. - The calling convention for the method. - The parameter types to search for. - An array of parameter modifiers used to make binding work with parameter signatures in which the types have been modified. - A object in accordance with the specified criteria, or if the method does not exist. - - is , is , or (i) is . - - - Returns a method having the specified name and parameter types. - The method name. - The parameter types to search for. - A object in accordance with the specified criteria, or if the method does not exist. - - is , is , or (i) is . - - - Returns the method implementation in accordance with the specified criteria. - The method name. - One of the bit flags used to control the search. - An object that implements , containing properties related to this method. - The calling convention for the method. - The parameter types to search for. - An array of parameter modifiers used to make binding work with parameter signatures in which the types have been modified. - A object containing implementation information as specified, or if the method does not exist. - - is . - - - Returns the global methods defined on the module. - An array of objects representing all the global methods defined on the module; if there are no global methods, an empty array is returned. - - - Returns the global methods defined on the module that match the specified binding flags. - A bitwise combination of values that limit the search. - An array of type representing the global methods defined on the module that match the specified binding flags; if no global methods match the binding flags, an empty array is returned. - - - Provides an implementation for serialized objects. - The information and data needed to serialize or deserialize an object. - The context for the serialization. - - is . - - - Gets a pair of values indicating the nature of the code in a module and the platform targeted by the module. - When this method returns, a combination of the values indicating the nature of the code in the module. - When this method returns, one of the values indicating the platform targeted by the module. - - - Returns an object corresponding to the certificate included in the Authenticode signature of the assembly which this module belongs to. If the assembly has not been Authenticode signed, is returned. - An object, or if the assembly to which this module belongs has not been Authenticode signed. - - - Returns the specified type, performing a case-sensitive search. - The name of the type to locate. The name must be fully qualified with the namespace. - A object representing the given type, if the type is in this module; otherwise, . - - is . - The class initializers are invoked and an exception is thrown. - - is a zero-length string. - - requires a dependent assembly that could not be found. - - requires a dependent assembly that was found but could not be loaded.-or-The current assembly was loaded into the reflection-only context, and requires a dependent assembly that was not preloaded. - - requires a dependent assembly, but the file is not a valid assembly. -or- - requires a dependent assembly which was compiled for a version of the runtime later than the currently loaded version. - - - Returns the specified type, searching the module with the specified case sensitivity. - The name of the type to locate. The name must be fully qualified with the namespace. - - for case-insensitive search; otherwise, . - A object representing the given type, if the type is in this module; otherwise, . - - is . - The class initializers are invoked and an exception is thrown. - - is a zero-length string. - - requires a dependent assembly that could not be found. - - requires a dependent assembly that was found but could not be loaded.-or-The current assembly was loaded into the reflection-only context, and requires a dependent assembly that was not preloaded. - - requires a dependent assembly, but the file is not a valid assembly. -or- - requires a dependent assembly which was compiled for a version of the runtime later than the currently loaded version. - - - Returns the specified type, specifying whether to make a case-sensitive search of the module and whether to throw an exception if the type cannot be found. - The name of the type to locate. The name must be fully qualified with the namespace. - - to throw an exception if the type cannot be found; to return . - - for case-insensitive search; otherwise, . - A object representing the specified type, if the type is declared in this module; otherwise, . - - is . - The class initializers are invoked and an exception is thrown. - - is a zero-length string. - - is , and the type cannot be found. - - requires a dependent assembly that could not be found. - - requires a dependent assembly that was found but could not be loaded.-or-The current assembly was loaded into the reflection-only context, and requires a dependent assembly that was not preloaded. - - requires a dependent assembly, but the file is not a valid assembly. -or- - requires a dependent assembly which was compiled for a version of the runtime later than the currently loaded version. - - - Returns all the types defined within this module. - An array of type containing types defined within the module that is reflected by this instance. - One or more classes in a module could not be loaded. - The caller does not have the required permission. - - - Returns a value that indicates whether the specified attribute type has been applied to this module. - The type of custom attribute to test for. - This argument is ignored for objects of this type. - - if one or more instances of have been applied to this module; otherwise, . - - is . - - is not a object supplied by the runtime. For example, is a object. - - - Gets a value indicating whether the object is a resource. - - if the object is a resource; otherwise, . - - - Indicates whether two objects are equal. - The first object to compare. - The second object to compare. - - if is equal to ; otherwise, . - - - Indicates whether two objects are not equal. - The first object to compare. - The second object to compare. - - if is not equal to ; otherwise, . - - - Returns the field identified by the specified metadata token. - A metadata token that identifies a field in the module. - A object representing the field that is identified by the specified metadata token. - - is not a token for a field in the scope of the current module.-or- - identifies a field whose parent has a signature containing element type (a type parameter of a generic type) or (a type parameter of a generic method). - - is not a valid token in the scope of the current module. - - - Returns the field identified by the specified metadata token, in the context defined by the specified generic type parameters. - A metadata token that identifies a field in the module. - An array of objects representing the generic type arguments of the type where the token is in scope, or if that type is not generic. - An array of objects representing the generic type arguments of the method where the token is in scope, or if that method is not generic. - A object representing the field that is identified by the specified metadata token. - - is not a token for a field in the scope of the current module.-or- - identifies a field whose parent has a signature containing element type (a type parameter of a generic type) or (a type parameter of a generic method), and the necessary generic type arguments were not supplied for either or both of and . - - is not a valid token in the scope of the current module. - - - Returns the type or member identified by the specified metadata token. - A metadata token that identifies a type or member in the module. - A object representing the type or member that is identified by the specified metadata token. - - is not a token for a type or member in the scope of the current module.-or- - is a or whose signature contains element type (a type parameter of a generic type) or (a type parameter of a generic method).-or- - identifies a property or event. - - is not a valid token in the scope of the current module. - - - Returns the type or member identified by the specified metadata token, in the context defined by the specified generic type parameters. - A metadata token that identifies a type or member in the module. - An array of objects representing the generic type arguments of the type where the token is in scope, or if that type is not generic. - An array of objects representing the generic type arguments of the method where the token is in scope, or if that method is not generic. - A object representing the type or member that is identified by the specified metadata token. - - is not a token for a type or member in the scope of the current module.-or- - is a or whose signature contains element type (a type parameter of a generic type) or (a type parameter of a generic method), and the necessary generic type arguments were not supplied for either or both of and .-or- - identifies a property or event. - - is not a valid token in the scope of the current module. - - - Returns the method or constructor identified by the specified metadata token. - A metadata token that identifies a method or constructor in the module. - A object representing the method or constructor that is identified by the specified metadata token. - - is not a token for a method or constructor in the scope of the current module.-or- - is a whose signature contains element type (a type parameter of a generic type) or (a type parameter of a generic method). - - is not a valid token in the scope of the current module. - - - Returns the method or constructor identified by the specified metadata token, in the context defined by the specified generic type parameters. - A metadata token that identifies a method or constructor in the module. - An array of objects representing the generic type arguments of the type where the token is in scope, or if that type is not generic. - An array of objects representing the generic type arguments of the method where the token is in scope, or if that method is not generic. - A object representing the method that is identified by the specified metadata token. - - is not a token for a method or constructor in the scope of the current module.-or- - is a whose signature contains element type (a type parameter of a generic type) or (a type parameter of a generic method), and the necessary generic type arguments were not supplied for either or both of and . - - is not a valid token in the scope of the current module. - - - Returns the signature blob identified by a metadata token. - A metadata token that identifies a signature in the module. - An array of bytes representing the signature blob. - - is not a valid , , , signature, or token in the scope of the current module. - - is not a valid token in the scope of the current module. - - - Returns the string identified by the specified metadata token. - A metadata token that identifies a string in the string heap of the module. - A containing a string value from the metadata string heap. - - is not a token for a string in the scope of the current module. - - is not a valid token in the scope of the current module. - - - Returns the type identified by the specified metadata token. - A metadata token that identifies a type in the module. - A object representing the type that is identified by the specified metadata token. - - is not a token for a type in the scope of the current module.-or- - is a whose signature contains element type (a type parameter of a generic type) or (a type parameter of a generic method). - - is not a valid token in the scope of the current module. - - - Returns the type identified by the specified metadata token, in the context defined by the specified generic type parameters. - A metadata token that identifies a type in the module. - An array of objects representing the generic type arguments of the type where the token is in scope, or if that type is not generic. - An array of objects representing the generic type arguments of the method where the token is in scope, or if that method is not generic. - A object representing the type that is identified by the specified metadata token. - - is not a token for a type in the scope of the current module.-or- - is a whose signature contains element type (a type parameter of a generic type) or (a type parameter of a generic method), and the necessary generic type arguments were not supplied for either or both of and . - - is not a valid token in the scope of the current module. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array that receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DispIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Returns the name of the module. - A representing the name of this module. - - - Initializes a new instance of the class, specifying whether the assembly to be obfuscated is public or private. - - if the assembly is used within the scope of one application; otherwise, . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Gets all the custom attributes defined on this parameter. - This argument is ignored for objects of this type. See Remarks. - An array that contains all the custom attributes applied to this parameter. - A custom attribute type could not be loaded. - - - Gets the custom attributes of the specified type or its derived types that are applied to this parameter. - The custom attributes identified by type. - This argument is ignored for objects of this type. See Remarks. - An array that contains the custom attributes of the specified type or its derived types. - The type must be a type provided by the underlying runtime system. - - is . - A custom attribute type could not be loaded. - - - Returns a list of objects for the current parameter, which can be used in the reflection-only context. - A generic list of objects representing data about the attributes that have been applied to the current parameter. - - - Gets the optional custom modifiers of the parameter. - An array of objects that identify the optional custom modifiers of the current parameter, such as or . - - - Returns the real object that should be deserialized instead of the object that the serialized stream specifies. - The serialized stream from which the current object is deserialized. - The actual object that is put into the graph. - The parameter's position in the parameter list of its associated member is not valid for that member's type. - - - Gets the required custom modifiers of the parameter. - An array of objects that identify the required custom modifiers of the current parameter, such as or . - - - Determines whether the custom attribute of the specified type or its derived types is applied to this parameter. - The object to search for. - This argument is ignored for objects of this type. See Remarks. - - if one or more instances of or its derived types are applied to this parameter; otherwise, . - - is . - - is not a object supplied by the common language runtime. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Gets the parameter type and name represented as a string. - A string containing the type and the name of the parameter. - - - Initializes a new instance of the structure representing the specified number of parameters. - The number of parameters. - - is negative. - - - Boxes the supplied unmanaged memory pointer and the type associated with that pointer into a managed wrapper object. The value and the type are saved so they can be accessed from the native code during an invocation. - The supplied unmanaged memory pointer. - The type associated with the parameter. - A pointer object. - - is not a pointer. - - is . - - - Sets the object with the file name, fusion log, and additional exception information. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Returns the stored pointer. - The stored pointer. - This method returns void. - - is not a pointer. - - - Initializes a new instance of the class. - - - Returns a value that indicates whether this instance is equal to a specified object. - An object to compare with this instance, or . - - if equals the type and value of this instance; otherwise, . - - - Returns an array whose elements reflect the public and accessors of the property reflected by the current instance. - An array of objects that reflect the public and accessors of the property reflected by the current instance, if found; otherwise, this method returns an array with zero (0) elements. - - - Returns an array whose elements reflect the public and, if specified, non-public and accessors of the property reflected by the current instance. - Indicates whether non-public methods should be returned in the returned array. if non-public methods are to be included; otherwise, . - An array whose elements reflect the and accessors of the property reflected by the current instance. If is , this array contains public and non-public and accessors. If is , this array contains only public and accessors. If no accessors with the specified visibility are found, this method returns an array with zero (0) elements. - - - Returns a literal value associated with the property by a compiler. - An that contains the literal value associated with the property. If the literal value is a class type with an element value of zero, the return value is . - The Constant table in unmanaged metadata does not contain a constant value for the current property. - The type of the value is not one of the types permitted by the Common Language Specification (CLS). See the ECMA Partition II specification, Metadata. - - - Returns the public accessor for this property. - A object representing the public accessor for this property, or if the accessor is non-public or does not exist. - - - When overridden in a derived class, returns the public or non-public accessor for this property. - Indicates whether a non-public accessor should be returned. if a non-public accessor is to be returned; otherwise, . - A object representing the accessor for this property, if is . Returns if is and the accessor is non-public, or if is but no accessors exist. - The requested method is non-public and the caller does not have to reflect on this non-public method. - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - When overridden in a derived class, returns an array of all the index parameters for the property. - An array of type containing the parameters for the indexes. If the property is not indexed, the array has 0 (zero) elements. - - - Returns an array of types representing the optional custom modifiers of the property. - An array of objects that identify the optional custom modifiers of the current property, such as or . - - - Returns a literal value associated with the property by a compiler. - An that contains the literal value associated with the property. If the literal value is a class type with an element value of zero, the return value is . - The Constant table in unmanaged metadata does not contain a constant value for the current property. - The type of the value is not one of the types permitted by the Common Language Specification (CLS). See the ECMA Partition II specification, Metadata Logical Format: Other Structures, Element Types used in Signatures. - - - Returns an array of types representing the required custom modifiers of the property. - An array of objects that identify the required custom modifiers of the current property, such as or . - - - Returns the public accessor for this property. - The object representing the method for this property if the accessor is public, or if the accessor is not public. - - - When overridden in a derived class, returns the accessor for this property. - Indicates whether the accessor should be returned if it is non-public. if a non-public accessor is to be returned; otherwise, . - This property's method, or , as shown in the following table.Value Condition The method for this property. The accessor is public.-or- - is and the accessor is non-public. - - - is , but the property is read-only.-or- - is and the accessor is non-public.-or- There is no accessor. - The requested method is non-public and the caller does not have to reflect on this non-public method. - - - Returns the property value of a specified object. - The object whose property value will be returned. - The property value of the specified object. - - - Returns the property value of a specified object with optional index values for indexed properties. - The object whose property value will be returned. - Optional index values for indexed properties. The indexes of indexed properties are zero-based. This value should be for non-indexed properties. - The property value of the specified object. - The array does not contain the type of arguments needed.-or- The property's accessor is not found. - - In the .NET for Windows Store apps or the Portable Class Library, catch instead.The object does not match the target type, or a property is an instance property but is . - The number of parameters in does not match the number of parameters the indexed property takes. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.There was an illegal attempt to access a private or protected method inside a class. - An error occurred while retrieving the property value. For example, an index value specified for an indexed property is out of range. The property indicates the reason for the error. - - - When overridden in a derived class, returns the property value of a specified object that has the specified binding, index, and culture-specific information. - The object whose property value will be returned. - A bitwise combination of the following enumeration members that specify the invocation attribute: , , , , , , and . You must specify a suitable invocation attribute. For example, to invoke a static member, set the flag. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects through reflection. If is , the default binder is used. - Optional index values for indexed properties. This value should be for non-indexed properties. - The culture for which the resource is to be localized. If the resource is not localized for this culture, the property will be called successively in search of a match. If this value is , the culture-specific information is obtained from the property. - The property value of the specified object. - The array does not contain the type of arguments needed.-or- The property's accessor is not found. - The object does not match the target type, or a property is an instance property but is . - The number of parameters in does not match the number of parameters the indexed property takes. - There was an illegal attempt to access a private or protected method inside a class. - An error occurred while retrieving the property value. For example, an index value specified for an indexed property is out of range. The property indicates the reason for the error. - - - Indicates whether two objects are equal. - The first object to compare. - The second object to compare. - - if is equal to ; otherwise, . - - - Indicates whether two objects are not equal. - The first object to compare. - The second object to compare. - - if is not equal to ; otherwise, . - - - Sets the property value of a specified object. - The object whose property value will be set. - The new property value. - The property's accessor is not found. -or- - cannot be converted to the type of . - - In the .NET for Windows Store apps or the Portable Class Library, catch instead.The type of does not match the target type, or a property is an instance property but is . - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.There was an illegal attempt to access a private or protected method inside a class. - An error occurred while setting the property value. The property indicates the reason for the error. - - - Sets the property value of a specified object with optional index values for index properties. - The object whose property value will be set. - The new property value. - Optional index values for indexed properties. This value should be for non-indexed properties. - The array does not contain the type of arguments needed.-or- The property's accessor is not found. -or- - cannot be converted to the type of . - - In the .NET for Windows Store apps or the Portable Class Library, catch instead.The object does not match the target type, or a property is an instance property but is . - The number of parameters in does not match the number of parameters the indexed property takes. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.There was an illegal attempt to access a private or protected method inside a class. - An error occurred while setting the property value. For example, an index value specified for an indexed property is out of range. The property indicates the reason for the error. - - - When overridden in a derived class, sets the property value for a specified object that has the specified binding, index, and culture-specific information. - The object whose property value will be set. - The new property value. - A bitwise combination of the following enumeration members that specify the invocation attribute: , , , , , , or . You must specify a suitable invocation attribute. For example, to invoke a static member, set the flag. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects through reflection. If is , the default binder is used. - Optional index values for indexed properties. This value should be for non-indexed properties. - The culture for which the resource is to be localized. If the resource is not localized for this culture, the property will be called successively in search of a match. If this value is , the culture-specific information is obtained from the property. - The array does not contain the type of arguments needed.-or- The property's accessor is not found. -or- - cannot be converted to the type of . - The object does not match the target type, or a property is an instance property but is . - The number of parameters in does not match the number of parameters the indexed property takes. - There was an illegal attempt to access a private or protected method inside a class. - An error occurred while setting the property value. For example, an index value specified for an indexed property is out of range. The property indicates the reason for the error. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Gets a object representing the type. - A object representing the type. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Initializes a new instance of the class. - - - Gets the representation of the type of the specified object in this reflection context. - The object to represent. - An object that represents the type of the specified object. - - - Gets the representation, in this reflection context, of an assembly that is represented by an object from another reflection context. - The external representation of the assembly to represent in this context. - The representation of the assembly in this reflection context. - - - Gets the representation, in this reflection context, of a type represented by an object from another reflection context. - The external representation of the type to represent in this context. - The representation of the type in this reflection context.. - - - Initializes a new instance of the class with the given classes and their associated exceptions. - An array of type containing the classes that were defined in the module and loaded. This array can contain null reference ( in Visual Basic) values. - An array of type containing the exceptions that were thrown by the class loader. The null reference ( in Visual Basic) values in the array line up with the exceptions in this array. - - - Initializes a new instance of the class with the given classes, their associated exceptions, and exception descriptions. - An array of type containing the classes that were defined in the module and loaded. This array can contain null reference ( in Visual Basic) values. - An array of type containing the exceptions that were thrown by the class loader. The null reference ( in Visual Basic) values in the array line up with the exceptions in this array. - A describing the reason the exception was thrown. - - - Provides an implementation for serialized objects. - The information and data needed to serialize or deserialize an object. - The context for the serialization. - - is . - - - Gets an object that represents the method represented by the specified delegate. - The delegate to examine. - An object that represents the method. - - - Retrieves an object that represents the specified method on the direct or indirect base class where the method was first declared. - The method to retrieve information about. - An object that represents the specified method's initial declaration on a base class. - - - Retrieves an object that represents the specified event. - The type that contains the event. - The name of the event. - An object that represents the specified event, or if the event is not found. - - - Retrieves a collection that represents all the events defined on a specified type. - The type that contains the events. - A collection of events for the specified type. - - - Retrieves an object that represents a specified field. - The type that contains the field. - The name of the field. - An object that represents the specified field, or if the field is not found. - - - Retrieves a collection that represents all the fields defined on a specified type. - The type that contains the fields. - A collection of fields for the specified type. - - - Returns an interface mapping for the specified type and the specified interface. - The type to retrieve a mapping for. - The interface to retrieve a mapping for. - An object that represents the interface mapping for the specified interface and type. - - - Retrieves an object that represents a specified method. - The type that contains the method. - The name of the method. - An array that contains the method's parameters. - An object that represents the specified method, or if the method is not found. - - - Retrieves a collection that represents all methods defined on a specified type. - The type that contains the methods. - A collection of methods for the specified type. - - - Retrieves a collection that represents all the properties defined on a specified type. - The type that contains the properties. - A collection of properties for the specified type. - - - Retrieves an object that represents a specified property. - The type that contains the property. - The name of the property. - An object that represents the specified property, or if the property is not found. - - - Initializes a new instance of the class, building the key pair from a array. - An array of type containing the key pair. - - is . - The caller does not have the required permission. - - - Initializes a new instance of the class, building the key pair from a . - A containing the key pair. - - is . - The caller does not have the required permission. - - - Initializes a new instance of the class, building the key pair from serialized data. - A object that holds the serialized object data. - A object that contains contextual information about the source or destination. - - - Initializes a new instance of the class, building the key pair from a . - A string containing the key pair. - - is . - The caller does not have the required permission. - - - Runs when the entire object graph has been deserialized. - The object that initiated the callback. - - - Sets the object with all the data required to reinstantiate the current object. - The object to be populated with serialization information. - The destination context of the serialization. - - is . - - - Initializes a new instance of the class with an empty message and the root cause of the exception. - - - Initializes a new instance of the class with the specified serialization and context information. - The data for serializing or deserializing the object. - The source of and destination for the object. - - - Initializes a new instance of the class with the given message and the root cause exception. - A describing the reason why the exception occurred. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a reference to the inner exception that is the cause of this exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with an empty message string and the root cause of the exception. - - - Initializes a new instance of the class with its message string set to the given message and the root cause exception. - A describing the reason this exception was thrown. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class specifying the encapsulating instance. - The instance of the class that encapsulates the call to the method of an object. - - is . - - - Gets the attributes assigned to the . - A object representing the implementation attribute flags. - - - Gets the constructor that implemented the . - A bitmask that affects the way in which the search is conducted. The value is a combination of zero or more bit flags from . - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects using reflection. If is , the default binder is used. - The calling conventions. - An array of type containing a list of the parameter number, order, and types. Types cannot be ; use an appropriate method or an empty array to search for a method without parameters. - An array of type having the same length as the array, whose elements represent the attributes associated with the parameters of the method to get. - A object for the method that matches the specified criteria, or if a match cannot be found. - - - Returns an array of objects representing constructors defined for the type wrapped by the current . - A bitmask that affects the way in which the search is conducted. The value is a combination of zero or more bit flags from . - An array of type containing the specified constructors defined for this class. If no constructors are defined, an empty array is returned. Depending on the value of a specified parameter, only public constructors or both public and non-public constructors will be returned. - - - Returns all the custom attributes defined for this type, specifying whether to search the type's inheritance chain. - Specifies whether to search this type's inheritance chain to find the attributes. - An array of objects containing all the custom attributes defined for this type. - A custom attribute type cannot be loaded. - - - Returns an array of custom attributes identified by type. - An array of custom attributes identified by type. - Specifies whether to search this type's inheritance chain to find the attributes. - An array of objects containing the custom attributes defined in this type that match the parameter, specifying whether to search the type's inheritance chain, or if no custom attributes are defined on this type. - - is . - A custom attribute type cannot be loaded. - - - Returns the of the object encompassed or referred to by the current array, pointer or ByRef. - The of the object encompassed or referred to by the current array, pointer or , or if the current is not an array, a pointer or a . - - - Returns the specified event. - The name of the event to get. - A bitmask that affects the way in which the search is conducted. The value is a combination of zero or more bit flags from . - An object representing the event declared or inherited by this type with the specified name. This method returns if no such event is found. - The parameter is . - - - Returns an array of objects representing all the public events declared or inherited by the current . - Returns an array of type containing all the events declared or inherited by the current type. If there are no events, an empty array is returned. - - - Returns the events specified in that are declared or inherited by the current . - A bitmask that affects the way in which the search is conducted. The value is a combination of zero or more bit flags from . - An array of type containing the events specified in . If there are no events, an empty array is returned. - - - Returns a object representing the field with the specified name. - The name of the field to find. - A bitmask that affects the way in which the search is conducted. The value is a combination of zero or more bit flags from . - A object representing the field declared or inherited by this with the specified name. Returns if no such field is found. - The parameter is . - - - Returns an array of objects representing the data fields defined for the type wrapped by the current . - A bitmask that affects the way in which the search is conducted. The value is a combination of zero or more bit flags from . - An array of type containing the fields declared or inherited by the current . An empty array is returned if there are no matched fields. - - - Returns the specified interface implemented by the type wrapped by the current . - The fully qualified name of the interface implemented by the current class. - - if the case is to be ignored; otherwise, . - A object representing the interface implemented (directly or indirectly) by the current class with the fully qualified name matching the specified name. If no interface that matches name is found, null is returned. - The parameter is . - - - Returns an interface mapping for the specified interface type. - The of the interface to retrieve a mapping of. - An object representing the interface mapping for . - - - Returns all the interfaces implemented on the current class and its base classes. - An array of type containing all the interfaces implemented on the current class and its base classes. If none are defined, an empty array is returned. - - - Returns members (properties, methods, constructors, fields, events, and nested types) specified by the given , , and . - The name of the member to get. - A bitmask that affects the way in which the search is conducted. The value is a combination of zero or more bit flags from . - The type of members to get. - An array of type containing all the members of the current class and its base class meeting the specified criteria. - The parameter is . - - - Returns members specified by . - A bitmask that affects the way in which the search is conducted. The value is a combination of zero or more bit flags from . - An array of type containing all the members of the current class and its base classes that meet the filter. - - - Searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention. - The method name. - A bitmask that affects the way in which the search is conducted. The value is a combination of zero or more bit flags from . - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects using reflection. If is , the default binder is used. - The calling conventions. - An array of type containing a list of the parameter number, order, and types. Types cannot be ; use an appropriate method or an empty array to search for a method without parameters. - An array of type having the same length as the array, whose elements represent the attributes associated with the parameters of the method to get. - A object for the implementation method that matches the specified criteria, or if a match cannot be found. - - - Returns an array of objects representing specified methods of the type wrapped by the current . - A bitmask that affects the way in which the search is conducted. The value is a combination of zero or more bit flags from . - An array of objects representing the methods defined on this . - - - Returns a nested type specified by and in that are declared or inherited by the type represented by the current . - The nested type's name. - A bitmask that affects the way in which the search is conducted. The value is a combination of zero or more bit flags from . - A object representing the nested type. - The parameter is . - - - Returns the nested types specified in that are declared or inherited by the type wrapped by the current . - A bitmask that affects the way in which the search is conducted. The value is a combination of zero or more bit flags from . - An array of type containing the nested types. - - - Returns an array of objects representing properties of the type wrapped by the current . - A bitmask that affects the way in which the search is conducted. The value is a combination of zero or more bit flags from . - An array of objects representing properties defined on this . - - - When overridden in a derived class, searches for the specified property whose parameters match the specified argument types and modifiers, using the specified binding constraints. - The property to get. - A bitmask that affects the way in which the search is conducted. The value is a combination of zero or more bit flags from . - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects via reflection. If is , the default binder is used. See . - The return type of the property. - A list of parameter types. The list represents the number, order, and types of the parameters. Types cannot be null; use an appropriate method or an empty array to search for a method without parameters. - An array of the same length as types with elements that represent the attributes associated with the parameters of the method to get. - A object for the property that matches the specified criteria, or null if a match cannot be found. - - - Gets a value indicating whether the current encompasses or refers to another type; that is, whether the current is an array, a pointer or a ByRef. - - if the is an array, a pointer or a ByRef; otherwise, . - - - Invokes the specified member. The method that is to be invoked must be accessible and provide the most specific match with the specified argument list, under the constraints of the specified binder and invocation attributes. - The name of the member to invoke. This may be a constructor, method, property, or field. If an empty string ("") is passed, the default member is invoked. - The invocation attribute. This must be one of the following : , , , , , , or . A suitable invocation attribute must be specified. If a static member is to be invoked, the flag must be set. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects via reflection. If is , the default binder is used. See . - The object on which to invoke the specified member. - An array of type that contains the number, order, and type of the parameters of the member to be invoked. If contains an uninitialized , it is treated as empty, which, with the default binder, can be widened to 0, 0.0 or a string. - An array of type that is the same length as , with elements that represent the attributes associated with the arguments of the member to be invoked. A parameter has attributes associated with it in the member's signature. For ByRef, use , and for none, use . The default binder does exact matching on these. Attributes such as and are not used in binding, and can be viewed using . - An instance of used to govern the coercion of types. This is necessary, for example, to convert a string that represents 1000 to a value, since 1000 is represented differently by different cultures. If is , the for the current thread's is used. - An array of type containing parameter names that match up, starting at element zero, with the array. There must be no holes in the array. If . is greater than . , the remaining parameters are filled in order. - An representing the return value of the invoked member. - - - Returns a value that indicates whether the is an array. - - if the is an array; otherwise, . - - - Returns a value that indicates whether the specified type can be assigned to this type. - The type to check. - - if the specified type can be assigned to this type; otherwise, . - - - Returns a value that indicates whether the is passed by reference. - - if the is passed by reference; otherwise, . - - - Returns a value that indicates whether the is a COM object. - - if the is a COM object; otherwise, . - - - Indicates whether a custom attribute identified by is defined. - Specifies whether to search this type's inheritance chain to find the attributes. - An array of custom attributes identified by type. - - if a custom attribute identified by is defined; otherwise, . - - is . - The custom attribute type cannot be loaded. - - - Returns a value that indicates whether the is a pointer. - - if the is a pointer; otherwise, . - - - Returns a value that indicates whether the is one of the primitive types. - - if the is one of the primitive types; otherwise, . - - - Returns a value that indicates whether the type is a value type; that is, not a class or an interface. - - if the type is a value type; otherwise, . - - - Returns the current type as a object. - The current type. - - - Returns an object that represents the specified public event declared by the current type. - The name of the event. - An object that represents the specified event, if found; otherwise, . - - is . - - - Returns an object that represents the specified public field declared by the current type. - The name of the field. - An object that represents the specified field, if found; otherwise, . - - is . - - - Returns an object that represents the specified public method declared by the current type. - The name of the method. - An object that represents the specified method, if found; otherwise, . - - is . - - - Returns a collection that contains all public methods declared on the current type that match the specified name. - The method name to search for. - A collection that contains methods that match . - - is . - - - Returns an object that represents the specified public nested type declared by the current type. - The name of the nested type. - An object that represents the specified nested type, if found; otherwise, . - - is . - - - Returns an object that represents the specified public property declared by the current type. - The name of the property. - An object that represents the specified property, if found; otherwise, . - - is . - - - Returns a value that indicates whether the specified type can be assigned to the current type. - The type to check. - - if the specified type can be assigned to this type; otherwise, . - - - Returns a representation of the current type as a object. - A reference to the current type. - - - Initializes a new instance of the class, specifying the name of the item to resolve. - The name of an item to resolve. - - - Initializes a new instance of the class, specifying the name of the item to resolve and the assembly whose dependency is being resolved. - The name of an item to resolve. - The assembly whose dependency is being resolved. - - - Closes the resource reader after releasing any resources associated with it. - - - Returns a dictionary enumerator of the resources for this reader. - A dictionary enumerator for the resources for this reader. - - - Adds an 8-bit unsigned integer array as a named resource to the list of resources to be written. - Name of a resource. - Value of a resource as an 8-bit unsigned integer array. - The parameter is . - - - Adds a named resource of type to the list of resources to be written. - The name of the resource. - The value of the resource. - The parameter is . - - - Adds a named resource of type to the list of resources to be written. - The name of the resource. - The value of the resource. - The parameter is . - - - Closes the underlying resource file or stream, ensuring all the data has been written to the file. - - - Writes all the resources added by the method to the output file or stream. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class from serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination of the exception. - - - Initializes a new instance of the class with the specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class from serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination of the exception. - - - Initializes a new instance of the class with the specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message and the name of a neutral culture. - The error message that explains the reason for the exception. - The name of the neutral culture. - - - Initializes a new instance of the class. - The name of the culture that the current assembly's neutral resources were written in. - The parameter is . - - - Initializes a new instance of the class with the specified ultimate resource fallback location. - The name of the culture that the current assembly's neutral resources were written in. - One of the enumeration values that indicates the location from which to retrieve neutral fallback resources. - - is . - - is not a member of . - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class that looks up resources contained in files with the specified root name in the given assembly. - - The root name of the resource file without its extension but including any fully qualified namespace name. For example, the root name for the resource file named MyApplication.MyResource.en-US.resources is MyApplication.MyResource. - The main assembly for the resources. - The or parameter is . - - - Initializes a new instance of the class that uses a specified class to look up resources contained in files with the specified root name in the given assembly. - - The root name of the resource file without its extension but including any fully qualified namespace name. For example, the root name for the resource file named MyApplication.MyResource.en-US.resources is MyApplication.MyResource. - The main assembly for the resources. - The type of the custom to use. If , the default runtime object is used. - - is not a derived class of . - The or parameter is . - - - Initializes a new instance of the class that looks up resources in satellite assemblies based on information from the specified type object. - A type from which the resource manager derives all information for finding .resources files. - The parameter is . - - - Returns a object that searches a specific directory instead of an assembly manifest for resources. - The root name of the resources. For example, the root name for the resource file named "MyResource.en-US.resources" is "MyResource". - The name of the directory to search for the resources. can be an absolute path or a relative path from the application directory. - The type of the custom to use. If , the default runtime object is used. - A new instance of a resource manager that searches the specified directory instead of an assembly manifest for resources. - The or parameter is . - - - Returns culture-specific information for the main assembly's default resources by retrieving the value of the attribute on a specified assembly. - The assembly for which to return culture-specific information. - The culture from the attribute, if found; otherwise, the invariant culture. - - - Returns the value of the specified non-string resource. - The name of the resource to get. - The value of the resource localized for the caller's current culture settings. If an appropriate resource set exists but cannot be found, the method returns . - The parameter is . - No usable set of localized resources has been found, and there are no default culture resources. For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the class topic. - The default culture's resources reside in a satellite assembly that could not be found. For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the class topic. - - - Gets the value of the specified non-string resource localized for the specified culture. - The name of the resource to get. - The culture for which the resource is localized. If the resource is not localized for this culture, the resource manager uses fallback rules to locate an appropriate resource.If this value is , the object is obtained by using the property. - The value of the resource, localized for the specified culture. If an appropriate resource set exists but cannot be found, the method returns . - The parameter is . - No usable set of resources have been found, and there are no default culture resources. For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the class topic. - The default culture's resources reside in a satellite assembly that could not be found. For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the class topic. - - - Generates the name of the resource file for the given object. - The culture object for which a resource file name is constructed. - The name that can be used for a resource file for the given object. - - - Retrieves the resource set for a particular culture. - The culture whose resources are to be retrieved. - - to load the resource set, if it has not been loaded yet; otherwise, . - - to use resource fallback to load an appropriate resource if the resource set cannot be found; to bypass the resource fallback process. (See the Remarks section.) - The resource set for the specified culture. - The parameter is . - - is , no usable set of resources has been found, and there are no default culture resources. - - - Returns the version specified by the attribute in the given assembly. - The assembly to check for the attribute. - The satellite contract version of the given assembly, or if no version was found. - The found in the assembly is invalid. - - is . - - - Returns an unmanaged memory stream object from the specified resource. - The name of a resource. - An unmanaged memory stream object that represents a resource . - The value of the specified resource is not a object. - - is . - No usable set of resources is found, and there are no default resources. For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the class topic. - The default culture's resources reside in a satellite assembly that could not be found. For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the class topic. - - - Returns an unmanaged memory stream object from the specified resource, using the specified culture. - The name of a resource. - An object that specifies the culture to use for the resource lookup. If is , the culture for the current thread is used. - An unmanaged memory stream object that represents a resource. - The value of the specified resource is not a object. - - is . - No usable set of resources is found, and there are no default resources. For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the class topic. - The default culture's resources reside in a satellite assembly that could not be found. For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the class topic. - - - Returns the value of the specified string resource. - The name of the resource to retrieve. - The value of the resource localized for the caller's current UI culture, or if cannot be found in a resource set. - The parameter is . - The value of the specified resource is not a string. - No usable set of resources has been found, and there are no resources for the default culture. For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the class topic. - The default culture's resources reside in a satellite assembly that could not be found. For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the class topic. - - - Returns the value of the string resource localized for the specified culture. - The name of the resource to retrieve. - An object that represents the culture for which the resource is localized. - The value of the resource localized for the specified culture, or if cannot be found in a resource set. - The parameter is . - The value of the specified resource is not a string. - No usable set of resources has been found, and there are no resources for a default culture. For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the class topic. - The default culture's resources reside in a satellite assembly that could not be found. For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the class topic. - - - Provides the implementation for finding a resource set. - The culture object to look for. - - to load the resource set, if it has not been loaded yet; otherwise, . - - to check parent objects if the resource set cannot be loaded; otherwise, . - The specified resource set. - The main assembly does not contain a .resources file, which is required to look up a resource. - There was an internal error in the runtime. - The satellite assembly associated with could not be located. - - - Tells the resource manager to call the method on all objects and release all resources. - - - Initializes a new instance of the class for the specified stream. - The input stream for reading resources. - The parameter is not readable. - The parameter is . - An I/O error has occurred while accessing . - - - Initializes a new instance of the class for the specified named resource file. - The path and name of the resource file to read. is not case-sensitive. - The parameter is . - The file cannot be found. - An I/O error has occurred. - The resource file has an invalid format. For example, the length of the file may be zero. - - - Releases all operating system resources associated with this object. - - - Releases all resources used by the current instance of the class. - - - Returns an enumerator for this object. - An enumerator for this object. - The reader has been closed or disposed, and cannot be accessed. - - - Retrieves the type name and data of a named resource from an open resource file or stream. - The name of a resource. - When this method returns, contains a string that represents the type name of the retrieved resource (see the Remarks section for details). This parameter is passed uninitialized. - When this method returns, contains a byte array that is the binary representation of the retrieved type. This parameter is passed uninitialized. - - is . - - does not exist. - - - has an invalid type. - The retrieved resource data is corrupt. - The current object is not initialized, probably because it is closed. - - - Returns an enumerator for this object. - An enumerator for this object. - The reader has already been closed and cannot be accessed. - - - Initializes a new instance of the class with default properties. - - - Creates a new instance of the class using the system default that reads resources from the given stream. - The of resources to be read. The stream should refer to an existing resources file. - The is not readable. - The parameter is . - - - Creates a new instance of the class using the specified resource reader. - The reader that will be used. - The parameter is . - - - Creates a new instance of the class using the system default that opens and reads resources from the given file. - Resource file to read. - The parameter is . - - - Closes and releases any resources used by this . - - - Disposes of the resources (other than memory) used by the current instance of . - - - Releases resources (other than memory) associated with the current instance, closing internal managed objects if requested. - Indicates whether the objects contained in the current instance should be explicitly closed. - - - Returns the preferred resource reader class for this kind of . - Returns the for the preferred resource reader for this kind of . - - - Returns the preferred resource writer class for this kind of . - Returns the for the preferred resource writer for this kind of . - - - Returns an that can iterate through the . - An for this . - The resource set has been closed or disposed. - - - Searches for a resource object with the specified name. - Case-sensitive name of the resource to search for. - The requested resource. - The parameter is . - The object has been closed or disposed. - - - Searches for a resource object with the specified name in a case-insensitive manner, if requested. - Name of the resource to search for. - Indicates whether the case of the specified name should be ignored. - The requested resource. - The parameter is . - The object has been closed or disposed. - - - Searches for a resource with the specified name. - Name of the resource to search for. - The value of a resource, if the value is a . - The parameter is . - The resource specified by is not a . - The object has been closed or disposed. - - - Searches for a resource with the specified name in a case-insensitive manner, if requested. - Name of the resource to search for. - Indicates whether the case of the case of the specified name should be ignored. - The value of a resource, if the value is a . - The parameter is . - The resource specified by is not a . - The object has been closed or disposed. - - - Reads all the resources and stores them in a indicated in the property. - - - Returns an object to avoid a race condition with . This member is not intended to be used directly from your code. - An enumerator for the current object. - - - Initializes a new instance of the class that writes the resources to the provided stream. - The output stream. - The parameter is not writable. - The parameter is . - - - Initializes a new instance of the class that writes the resources to the specified file. - The output file name. - The parameter is . - - - Adds a named resource specified as a byte array to the list of resources to be written. - The name of the resource. - Value of the resource as an 8-bit unsigned integer array. - - (or a name that varies only by capitalization) has already been added to this . - The parameter is . - This has been closed and its hash table is unavailable. - - - Adds a named resource specified as a stream to the list of resources to be written. - The name of the resource to add. - The value of the resource to add. The resource must support the property. - - (or a name that varies only by capitalization) has already been added to this .-or-The stream does not support the property. - - or is . - This has been closed. - - - Adds a named resource specified as a stream to the list of resources to be written, and specifies whether the stream should be closed after the method is called. - The name of the resource to add. - The value of the resource to add. The resource must support the property. - - to close the stream after the method is called; otherwise, . - - (or a name that varies only by capitalization) has already been added to this .-or-The stream does not support the property. - - or is . - This has been closed. - - - Adds a named resource specified as an object to the list of resources to be written. - The name of the resource. - The value of the resource. - - (or a name that varies only by capitalization) has already been added to this . - The parameter is . - This has been closed and its hash table is unavailable. - - - Adds a string resource to the list of resources to be written. - The name of the resource. - The value of the resource. - - (or a name that varies only by capitalization) has already been added to this ResourceWriter. - The parameter is . - This has been closed and its hash table is unavailable. - - - Adds a unit of data as a resource to the list of resources to be written. - A name that identifies the resource that contains the added data. - The type name of the added data. For more information, see the Remarks section. - A byte array that contains the binary representation of the added data. - - , , or is . - - (or a name that varies only by capitalization) has already been added to this object. - The current object is not initialized. The probable cause is that the object is closed. - - - Saves the resources to the output stream and then closes it. - An I/O error has occurred. - An error has occurred during serialization of the object. - - - Allows users to close the resource file or stream, explicitly releasing resources. - An I/O error has occurred. - An error has occurred during serialization of the object. - - - Saves all resources to the output stream in the system default format. - An I/O error occurred. - An error occurred during serialization of the object. - This has been closed and its hash table is unavailable. - - - Initializes a new instance of the class. - A string that specifies the version of the satellite assemblies to load. - The parameter is . - - - Initializes a new instance of the class. - The patch band. - - - Initializes a new instance of the class with the name of the property used to access the attributed field. - The name of the property used to access the attributed field. - - - Initializes a new instance of the class. - The type object for the underlying state machine type that's used to implement a state machine method. - - - Schedules the state machine to proceed to the next action when the specified awaiter completes. - The awaiter. - The state machine. - The type of the awaiter. - The type of the state machine. - - - Schedules the state machine to proceed to the next action when the specified awaiter completes. This method can be called from partially trusted code. - The awaiter. - The state machine. - The type of the awaiter. - The type of the state machine. - - - Creates an instance of the class. - A new instance of the builder. - - - Marks the task as failed and binds the specified exception to the task. - The exception to bind to the task. - - is . - The task has already completed.-or-The builder is not initialized. - - - Marks the task as successfully completed. - The task has already completed.-or-The builder is not initialized. - - - Associates the builder with the specified state machine. - The state machine instance to associate with the builder. - - is . - The state machine was previously set. - - - Begins running the builder with the associated state machine. - The state machine instance, passed by reference. - The type of the state machine. - - is . - - - Schedules the state machine to proceed to the next action when the specified awaiter completes. - The awaiter. - The state machine. - The type of the awaiter. - The type of the state machine. - - - Schedules the state machine to proceed to the next action when the specified awaiter completes. This method can be called from partially trusted code. - The awaiter. - The state machine. - The type of the awaiter. - The type of the state machine. - - - Creates an instance of the class. - A new instance of the builder. - - - Marks the task as failed and binds the specified exception to the task. - The exception to bind to the task. - - is . - The task has already completed. - - - Marks the task as successfully completed. - The result to use to complete the task. - The task has already completed. - - - Associates the builder with the specified state machine. - The state machine instance to associate with the builder. - - is . - The state machine was previously set. - - - Begins running the builder with the associated state machine. - The state machine instance, passed by reference. - The type of the state machine. - - is . - - - Schedules the state machine to proceed to the next action when the specified awaiter completes. - The awaiter. - The state machine. - The type of the awaiter. - The type of the state machine. - - - Schedules the state machine to proceed to the next action when the specified awaiter completes. This method can be called from partially trusted code. - The awaiter. - The state machine. - The type of the awaiter. - The type of the state machine. - - - Creates an instance of the class. - A new instance of the builder. - - - Binds an exception to the method builder. - The exception to bind. - - is . - The builder is not initialized. - - - Marks the method builder as successfully completed. - The builder is not initialized. - - - Associates the builder with the specified state machine. - The state machine instance to associate with the builder. - - is . - The state machine was previously set. - - - Begins running the builder with the associated state machine. - The state machine instance, passed by reference. - The type of the state machine. - - is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified compilation relaxations. - The compilation relaxations. - - - Initializes a new instance of the class with the specified value. - One of the values. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Adds a key to the table. - The key to add. represents the object to which the property is attached. - The key's property value. - - is . - - already exists. - - - Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the object. - - - Atomically searches for a specified key in the table and returns the corresponding value. If the key does not exist in the table, the method invokes the default constructor of the class that represents the table's value to create a value that is bound to the specified key. - The key to search for. represents the object to which the property is attached. - The value that corresponds to , if already exists in the table; otherwise, a new value created by the default constructor of the class defined by the generic type parameter. - - is . - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The class that represents the table's value does not define a default constructor. - - - Atomically searches for a specified key in the table and returns the corresponding value. If the key does not exist in the table, the method invokes a callback method to create a value that is bound to the specified key. - The key to search for. represents the object to which the property is attached. - A delegate to a method that can create a value for the given . It has a single parameter of type , and returns a value of type . - The value attached to , if already exists in the table; otherwise, the new value returned by the delegate. - - or is . - - - Removes a key and its value from the table. - The key to remove. - - if the key is found and removed; otherwise, . - - is . - - - Gets the value of the specified key. - The key that represents an object with an attached property. - When this method returns, contains the attached property value. If is not found, contains the default value. - - if is found; otherwise, . - - is . - - - Ends the await on the completed task. - The awaiter was not properly initialized. - The task was canceled. - The task completed in a faulted state. - - - Schedules the continuation action for the task associated with this awaiter. - The action to invoke when the await operation completes. - The argument is . - The awaiter was not properly initialized. - - - Schedules the continuation action for the task associated with this awaiter. - The action to invoke when the await operation completes. - The argument is . - The awaiter was not properly initialized. - - - Returns an awaiter for this awaitable object. - The awaiter. - - - Ends the await on the completed task. - The result of the completed task. - The awaiter was not properly initialized. - The task was canceled. - The task completed in a faulted state. - - - Schedules the continuation action for the task associated with this awaiter. - The action to invoke when the await operation completes. - The argument is . - The awaiter was not properly initialized. - - - Schedules the continuation action for the task associated with this awaiter. - The action to invoke when the await operation completes. - The argument is . - The awaiter was not properly initialized. - - - Returns an awaiter for this awaitable object. - The awaiter. - - - Used by the binary rewriter to activate the default failure behavior. - One of the enumeration values that specifies the type of failure. - Additional user information. - The description of the condition that caused the failure. - The inner exception that caused the current exception. - A null reference ( in Visual Basic) if the event was handled and should not trigger a failure; otherwise, returns the localized failure message. - - is not a valid value. - - - Triggers the default failure behavior. - One of the enumeration values that specifies the type of failure. - The message to display. - Additional user information. - The description of the condition that caused the failure. - The inner exception that caused the current exception. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the number of 100-nanosecond ticks that represent the date and time of this instance. - The number of 100-nanosecond ticks that represent the date and time of this instance. - - - Initializes a new instance of the class with the specified signed integer values. - The power of 10 scaling factor that indicates the number of digits to the right of the decimal point. Valid values are 0 through 28 inclusive. - A value of 0 indicates a positive value, and a value of 1 indicates a negative value. - The high 32 bits of the 96-bit . - The middle 32 bits of the 96-bit . - The low 32 bits of the 96-bit . - - - Initializes a new instance of the class with the specified unsigned integer values. - The power of 10 scaling factor that indicates the number of digits to the right of the decimal point. Valid values are 0 through 28 inclusive. - A value of 0 indicates a positive value, and a value of 1 indicates a negative value. - The high 32 bits of the 96-bit . - The middle 32 bits of the 96-bit . - The low 32 bits of the 96-bit . - - > 28. - - - Initializes a new instance of the class with the specified binding. - One of the values that indicates the default binding preference. - - - Initializes a new instance of the class with the specified value. - The dependent assembly to bind to. - One of the values. - - - Initializes a new instances of the class. - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - The type of the elements contained in the buffer. - The number of elements in the buffer. - - - Creates a instance from a composite format string and its arguments. - A composite format string. - The arguments whose string representations are to be inserted in the result string. - The object that represents the composite format string and its arguments. - - is . -or- - is . - - - Initializes a new instance of the class. - - - Moves the state machine to its next state. - - - Configures the state machine with a heap-allocated replica. - The heap-allocated replica. - - - Schedules the continuation action that's invoked when the instance completes. - The action to invoke when the operation completes. - The argument is null (Nothing in Visual Basic). - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - The name of the indexer, as shown to other languages. - - - Schedules the continuation action that's invoked when the instance completes. - The action to invoke when the operation completes. - The argument is null (Nothing in Visual Basic). - - - Initializes a new instance of the class with the name of the specified friend assembly. - The name of a friend assembly. - - - Creates a new instance of the class. - - - Creates a new instance of the class. - - - Initializes a new instance of the class. - The type object for the underlying state machine type that's used to implement a state machine method. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified value. - A bitmask representing the desired value which specifies properties of the attributed method. - - - Initializes a new instance of the class with the specified value. - A value specifying properties of the attributed method. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class by using the specified description. - The description of the reference assembly. - - - Initializes a new instance of the class. - A type that an importing compiler must fully understand.This parameter is not supported in the .NET Framework version 2.0 and later. - - - Initializes a new instance of the class. - - - Determines whether a specified feature is supported by the common language runtime. - The name of the feature. - - if is supported; otherwise, . - - - Ensures that the remaining stack space is large enough to execute the average .NET Framework function. - The available stack space is insufficient to execute the average .NET Framework function. - - - Determines whether the specified instances are considered equal. - The first object to compare. - The second object to compare. - - if the parameter is the same instance as the parameter, or if both are , or if o1.Equals(o2) returns ; otherwise, . - - - Executes code using a while using another to execute additional code in case of an exception. - A delegate to the code to try. - A delegate to the code to run if an exception occurs. - The data to pass to and . - - - Serves as a hash function for a particular object, and is suitable for use in algorithms and data structures that use hash codes, such as a hash table. - An object to retrieve the hash code for. - A hash code for the object identified by the parameter. - - - Boxes a value type. - The value type to be boxed. - A boxed copy of if it is a value class; otherwise, itself. - - - Provides a fast way to initialize an array from data that is stored in a module. - The array to be initialized. - A field handle that specifies the location of the data used to initialize the array. - - - Designates a body of code as a constrained execution region (CER). - - - Designates a body of code as a constrained execution region (CER) without performing any probing. - - - Provides a way for applications to dynamically prepare event delegates. - The event delegate to prepare. - - - Indicates that the specified delegate should be prepared for inclusion in a constrained execution region (CER). - The delegate type to prepare. - - - Prepares a method for inclusion in a constrained execution region (CER). - A handle to the method to prepare. - - - Prepares a method for inclusion in a constrained execution region (CER) with the specified instantiation. - A handle to the method to prepare. - The instantiation to pass to the method. - - - Probes for a certain amount of stack space to ensure that a stack overflow cannot happen within a subsequent block of code (assuming that your code uses only a finite and moderate amount of stack space). We recommend that you use a constrained execution region (CER) instead of this method. - - - Runs a specified class constructor method. - A type handle that specifies the class constructor method to run. - The class initializer throws an exception. - - - Runs a specified module constructor method. - A handle that specifies the module constructor method to run. - The module constructor throws an exception. - - - Sets the object with information about the exception. - The object that holds the serialized object data about the exception being thrown. - The object that contains contextual information about the source or destination. - The parameter is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - The type object for the underlying state machine type that was generated by the compiler to implement the state machine method. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Ends the wait for the completion of the asynchronous task. - The object was not properly initialized. - The task was canceled. - The task completed in a state. - - - Sets the action to perform when the object stops waiting for the asynchronous task to complete. - The action to perform when the wait operation completes. - - is . - The object was not properly initialized. - - - Schedules the continuation action for the asynchronous task that is associated with this awaiter. - The action to invoke when the await operation completes. - - is . - The awaiter was not properly initialized. - - - Ends the wait for the completion of the asynchronous task. - The result of the completed task. - The object was not properly initialized. - The task was canceled. - The task completed in a state. - - - Sets the action to perform when the object stops waiting for the asynchronous task to complete. - The action to perform when the wait operation completes. - - is . - The object was not properly initialized. - - - Schedules the continuation action for the asynchronous task associated with this awaiter. - The action to invoke when the await operation completes. - - is . - The awaiter was not properly initialized. - - - Initializes a new instance of the class. - A string array that specifies, in a pre-order depth-first traversal of a type's construction, which value tuple occurrences are meant to carry element names. - - - Initializes a new instance of the class. - The source in another assembly. - - is or empty. - - - Initializes a new instance of the class specifying a destination . - The destination in another assembly. - - - Initializes a new instance of the class. - - - Retrieves a object for this instance of the class. - The object that is used to monitor the completion of an asynchronous operation. - - - Ends the await operation. - - - Sets the continuation to invoke. - The action to invoke asynchronously. - - is . - - - Posts the back to the current context. - The action to invoke asynchronously. - The argument is . - - - Initializes a new instance of the class. - - - Releases all the resources used by the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified guarantee and value. - One of the values. - One of the values. - - - Initializes a new instance of the class, specifying the set of paths to search for third-party Windows Runtime types and for managed assemblies, and specifying the name of the context. - The paths to search. - The name of the context. - The current application domain is not the default application domain. -or-The process is not running in the app container. -or-The computer does not have a developer license. - - or is . - - - Loads the specified assembly from the current context. - The full name of the assembly to load. For a description of full assembly names, see the property. - The assembly, if it is found in the current context; otherwise, . - - - Loads the specified type from the current context. - The assembly-qualified name of the type to load. For a description of assembly-qualified names, see the property. - The type, if it is found in the current context; otherwise, . - - - Creates a context and sets it as the shared context. - An enumerable collection of paths that are used to resolve binding requests that cannot be satisfied by the iteration context. - The shared context has already been set in this application domain. -or-The current application domain is not the default application domain.-or-The process is not running in the app container. -or-The computer does not have a developer license. - - is . - - - Sets a context to handle iterations of assembly binding requests, as assemblies are recompiled during the design process. - The context that handles iterations of assembly binding requests. - The current application domain is not the default application domain. - - is . - - - Creates an object that represents the specified exception at the current point in code. - The exception whose state is captured, and which is represented by the returned object. - An object that represents the specified exception at the current point in code. - - is . - - - Throws the exception that is represented by the current object, after restoring the state that was saved when the exception was captured. - - - Initializes a new instance of the class with a specified exception. - The exception that was just thrown by managed code, and that will be examined by the event. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified activation context. - An object that identifies the manifest-based activation application. - - is . - - - Initializes a new instance of the class with the specified activation context and activation data. - An object that identifies the manifest-based activation application. - An array of strings containing host-provided activation data. - - is . - - - Initializes a new instance of the class with the specified application identity. - An object that identifies the manifest-based activation application. - - is . - - - Initializes a new instance of the class with the specified application identity and activation data. - An object that identifies the manifest-based activation application. - An array of strings containing host-provided activation data. - - is . - - - Produces a copy of the current object. - A copy of the current object. - - - Initializes a new instance of the class. - - - Creates an instance of the application to be activated, using the specified activation context. - An that identifies the application to activate. - An that is a wrapper for the return value of the application execution. The return value must be unwrapped to access the real object. - - is . - - - Creates an instance of the application to be activated, using the specified activation context and custom activation data. - An that identifies the application to activate. - Custom activation data. - An that is a wrapper for the return value of the application execution. The return value must be unwrapped to access the real object. - - is . - - - Creates an instance of an application using the specified object. - An object whose property identifies the application to activate. - An that is a wrapper for the return value of the application execution. The return value must be unwrapped to access the real object. - The property of is . - The application instance failed to execute because the policy settings on the current application domain do not provide permission for this application to run. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier for the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The of the type to locate. - An instance of representing the type, with culture, arguments, binder, and activation attributes set to , and set to Public or Instance, or if is not found. - - - Provides COM objects with version-independent access to the method. - The of the type to locate. - - to ignore the case of the type name; otherwise, . - An instance of representing the type, with culture, arguments, binder, and activation attributes set to , and set to Public or Instance, or if is not found. - - - Provides COM objects with version-independent access to the method. - The of the type to locate. - - to ignore the case of the type name; otherwise, . - A bitmask that affects how the search is conducted. The value is a combination of bit flags from . - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects via reflection. If is , the default binder is used. - An array of type containing the arguments to be passed to the constructor. This array of arguments must match in number, order, and type the parameters of the constructor to be invoked. If the default constructor is desired, must be an empty array or . - An instance of used to govern the coercion of types. If this is , the for the current thread is used. (This is necessary to convert a that represents 1000 to a value, for example, since 1000 is represented differently by different cultures.) - An array of type containing one or more activation attributes that can participate in the activation. An example of an activation attribute is: URLAttribute(http://hostname/appname/objectURI) - An instance of representing the type and matching the specified criteria, or if is not found. - - - Provides COM objects with version-independent access to the method. - The to compare with the current . - - if the specified is equal to the current ; otherwise, . - - - Provides COM objects with version-independent access to the method. - This argument is ignored for objects of type . - An array of type containing the custom attributes for this assembly. - - - Provides COM objects with version-independent access to the method. - The for which the custom attributes are to be returned. - This argument is ignored for objects of type . - An array of type containing the custom attributes for this assembly as specified by . - - - Provides COM objects with version-independent access to the property. - An array of objects that represent the types defined in this assembly that are visible outside the assembly. - - - Provides COM objects with version-independent access to the method. - The name of the specified file. Do not include the path to the file. - A for the specified file, or if the file is not found. - - - Provides COM objects with version-independent access to the method. - An array of objects. - - - Provides COM objects with version-independent access to the method. - - to include resource modules; otherwise, . - An array of objects. - - - Provides COM objects with version-independent access to the method. - A hash code for the current . - - - Provides COM objects with version-independent access to the method. - An array of modules. - - - Provides COM objects with version-independent access to the method. - - to include resource modules; otherwise, . - An array of modules. - - - Provides COM objects with version-independent access to the method. - The case-sensitive name of the resource. - A object populated with information about the resource's topology, or if the resource is not found. - - - Provides COM objects with version-independent access to the method. - An array of type containing the names of all the resources. - - - Provides COM objects with version-independent access to the method. - The case-sensitive name of the manifest resource being requested. - A representing this manifest resource. - - - Provides COM objects with version-independent access to the method. - The type whose namespace is used to scope the manifest resource name. - The case-sensitive name of the manifest resource being requested. - A representing this manifest resource. - - - Provides COM objects with version-independent access to the method. - The name of the module being requested. - The module being requested, or if the module is not found. - - - Provides COM objects with version-independent access to the method. - An array of modules. - - - Provides COM objects with version-independent access to the method. - - to include resource modules; otherwise, . - An array of modules. - - - Provides COM objects with version-independent access to the method. - An for this assembly. - - - Provides COM objects with version-independent access to the method. - - to set the to the location of the assembly after it was shadow copied; to set to the original location. - An for this assembly. - - - Provides COM objects with version-independent access to the method. - The object to be populated with serialization information. - The destination context of the serialization. - - - Provides COM objects with version-independent access to the method. - An array of type containing all the assemblies referenced by this assembly. - - - Provides COM objects with version-independent access to the method. - The specified culture. - The specified satellite assembly. - - - Provides COM objects with version-independent access to the method. - The specified culture. - The version of the satellite assembly. - The specified satellite assembly. - - - Provides COM objects with version-independent access to the method. - A object. - - - Provides COM objects with version-independent access to the method. - The full name of the type. - A object that represents the specified class, or if the class is not found. - - - Provides COM objects with version-independent access to the method. - The full name of the type. - - to throw an exception if the type is not found; to return . - A object that represents the specified class. - - - Provides COM objects with version-independent access to the method. - The full name of the type. - - to throw an exception if the type is not found; to return . - - to ignore the case of the type name; otherwise, . - A object that represents the specified class. - - - Provides COM objects with version-independent access to the method. - An array of type containing objects for all the types defined in this assembly. - - - Provides COM objects with version-independent access to the method. - The of the custom attribute to be checked for this assembly. - This argument is ignored for objects of this type. - - if a custom attribute identified by the specified is defined; otherwise, . - - - Provides COM objects with version-independent access to the method. - Name of the module. Must correspond to a file name in this assembly's manifest. - A byte array that is a COFF-based image containing an emitted module, or a resource. - The loaded Module. - - - Provides COM objects with version-independent access to the method. - Name of the module. Must correspond to a file name in this assembly's manifest. - A byte array that is a COFF-based image containing an emitted module, or a resource. - A byte array containing the raw bytes representing the symbols for the module. Must be if this is a resource file. - The loaded module. - - - Provides COM objects with version-independent access to the method. - The full name of the assembly, or the class name if the full name of the assembly cannot be determined. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The to compare with the current . - - if the specified is equal to the current ; otherwise, . - - - Provides COM objects with version-independent access to the method. - Specifies whether to search this member's inheritance chain to find the attributes. - An array that contains all the custom attributes, or an array with zero elements if no attributes are defined. - - - Provides COM objects with version-independent access to the method. - The type of attribute to search for. Only attributes that are assignable to this type are returned. - Specifies whether to search this member's inheritance chain to find the attributes. - An array of custom attributes applied to this member, or an array with zero (0) elements if no attributes have been applied. - - - Provides COM objects with version-independent access to the method. - The hash code for the current instance. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array that receives the IDs corresponding to the names. - - - Provides COM objects with version-independent access to the member. - The flags. - - - Provides COM objects with version-independent access to the method. - An array of type containing information that matches the signature of the method (or constructor) reflected by this instance. - - - Provides COM objects with version-independent access to the method. - A object. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The instance that created this method. - One of the values that specifies the type of binding. - A that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. If is , then is used. - An array of type used to match the number, order, and type of the parameters for this constructor, under the constraints of . If this constructor does not require parameters, pass an array with zero elements, as in Object[] parameters = new Object[0]. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference-type elements, this value is . For value-type elements, this value is 0, 0.0, or , depending on the specific element type. - A used to govern the coercion of types. If this is , the for the current thread is used. - An instance of the class associated with the constructor. - - - Provides COM objects with version-independent access to the method. - The instance that created this method. - An argument list for the invoked method or constructor. This is an array of objects with the same number, order, and type as the parameters of the method or constructor to be invoked. If there are no parameters, should be .If the method or constructor represented by this instance takes a parameter ( in Visual Basic), no special attribute is required for that parameter in order to invoke the method or constructor using this function. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference-type elements, this value is . For value-type elements, this value is 0, 0.0, or , depending on the specific element type. - An instance of the class associated with the constructor. - - - Provides COM objects with version-independent access to the method. - One of the values that specifies the type of binding. - A that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. If is , then is used. - An array of type used to match the number, order, and type of the parameters for this constructor, under the constraints of . If this constructor does not require parameters, pass an array with zero elements, as in Object[] parameters = new Object[0]. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference-type elements, this value is . For value-type elements, this value is 0, 0.0, or , depending on the specific element type. - A used to govern the coercion of types. If this is , the for the current thread is used. - An instance of the class associated with the constructor. - - - Provides COM objects with version-independent access to the method. - An array of values that matches the number, order, and type (under the constraints of the default binder) of the parameters for this constructor. If this constructor takes no parameters, then use either an array with zero elements or , as in Object[] parameters = new Object[0]. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference-type elements, this value is . For value-type elements, this value is 0, 0.0, or , depending on the specific element type. - An instance of the class associated with the constructor. - - - Provides COM objects with version-independent access to the member. - The object to which the custom attributes are applied. - Specifies whether to search this member's inheritance chain to find the attributes. - - if one or more instances of is applied to this member; otherwise . - - - Provides COM objects with version-independent access to the method. - A string that represents the current . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The event source. - A method or methods to be invoked when the event is raised by the target. - - - Provides COM objects with version-independent access to the method. - The to compare with the current . - - if the specified is equal to the current ; otherwise, . - - - Provides COM objects with version-independent access to the method. - A object representing the method used to add an event-handler delegate to the event source. - - - Provides COM objects with version-independent access to the method. - - to return non-public methods; otherwise, . - A object representing the method used to add an event-handler delegate to the event source. - - - Provides COM objects with version-independent access to the method. - - to search a member's inheritance chain to find the attributes; otherwise, false. - An array that contains all the custom attributes, or an array with zero (0) elements if no attributes are defined. - - - Provides COM objects with version-independent access to the method. - The type of attribute to search for. Only attributes that are assignable to this type are returned. - - to search this member's inheritance chain to find the attributes; otherwise, . - An array of custom attributes applied to this member, or an array with zero (0) elements if no attributes have been applied. - - - Provides COM objects with version-independent access to the method. - The hash code for the current instance. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Provides COM objects with version-independent access to the method. - The method that is called when the event is raised. - - - Provides COM objects with version-independent access to the method. - - to return non-public methods; otherwise, . - The object that was called when the event was raised. - - - Provides COM objects with version-independent access to the method. - A object representing the method used to remove an event-handler delegate from the event source. - - - Provides COM objects with version-independent access to the method. - - to return non-public methods; otherwise, . - A object representing the method used to remove an event-handler delegate from the event source. - - - Provides COM objects with version-independent access to the method. - A object. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier for the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The object to which the custom attributes are applied. - - to search this member's inheritance chain to find the attributes; otherwise, . - - if one or more instance of the parameter is applied to this member; otherwise, . - - - Provides COM objects with version-independent access to the method. - The event source. - The delegate to be disassociated from the events raised by target. - - - Provides COM objects with version-independent access to the method. - A string that represents the current . - - - Provides COM objects with version-independent access to the method. - The to compare with the current . - - if the specified is equal to the current ; otherwise, . - - - Provides COM objects with version-independent access to the method. - The first exception thrown in a chain of exceptions. If the property of the current exception is a null reference ( in Visual Basic), this property returns the current exception. - - - Provides COM objects with version-independent access to the method. - The hash code for the current instance. - - - Provides COM objects with version-independent access to the method - The object that holds the serialized object data about the exception being thrown. - The structure that contains contextual information about the source or destination. - - - Provides COM objects with version-independent access to the method. - A object that represents the exact runtime type of the current instance. - - - Provides COM objects with version-independent access to the method. - A string that represents the current object. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The to compare with the current . - - if the specified is equal to the current ; otherwise, . - - - Provides COM objects with version-independent access to the method. - Specifies whether to search this member's inheritance chain to find the attributes. - An array that contains all the custom attributes, or an array with zero elements if no attributes are defined. - - - Provides COM objects with version-independent access to the method. - The type of attribute to search for. Only attributes that are assignable to this type are returned. - Specifies whether to search this member's inheritance chain to find the attributes. - An array of custom attributes applied to this member, or an array with zero (0) elements if no attributes have been applied. - - - Provides COM objects with version-independent access to the method. - The hash code for the current instance. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array that receives the IDs corresponding to the names. - - - Provides COM objects with version-independent access to the method. - A object. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - - - Provides COM objects with version-independent access to the method. - The object whose field value will be returned. - An object containing the value of the field reflected by this instance. - - - Provides COM objects with version-independent access to the method. - A structure that encapsulates a managed pointer to a location and a runtime representation of the type that might be stored at that location. - An containing a field value. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The object to which the custom attributes are applied. - Specifies whether to search this member's inheritance chain to find the attributes. - - if one or more instance of is applied to this member; otherwise, . - - - Provides COM objects with version-independent access to the method. - The object whose field value will be set. - The value to assign to the field. - - - Provides COM objects with version-independent access to the method. - The object whose field value will be set. - The value to assign to the field. - A field of that specifies the type of binding that is desired (for example, or ). - A set of properties that enables the binding, coercion of argument types, and invocation of members through reflection. If is , then is used. - The software preferences of a particular culture. - - - Provides COM objects with version-independent access to the method. - The object whose field value will be set. - The value to assign to the field. - - - Provides COM objects with version-independent access to the method. - A string that represents the current . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - A count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result is to be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The to compare with the current . - - if the specified is equal to the current ; otherwise, . - - - Provides COM objects with version-independent access to the method. - - to search this member's inheritance chain to find the attributes; otherwise, . - An array that contains all the custom attributes, or an array with zero (0) elements if no attributes are defined. - - - Provides COM objects with version-independent access to the method. - The type of attribute to search for. Only attributes that are assignable to this type are returned. - - to search this member's inheritance chain to find the attributes; otherwise, . - An array of custom attributes applied to this member, or an array with zero (0) elements if no attributes have been applied. - - - Provides COM objects with version-independent access to the method. - The hash code for the current instance. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Provides COM objects with version-independent access to the method. - A object. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier for the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The object to which the custom attributes are applied. - - to search this member's inheritance chain to find the attributes; otherwise, . - - if one or more instance of the parameter is applied to this member; otherwise, . - - - Provides COM objects with version-independent access to the method. - A string that represents the current . - - - Provides COM objects with version-independent access to the method. - The to compare with the current . - - if the specified is equal to the current ; otherwise, . - - - Provides COM objects with version-independent access to the method. - - to search this member's inheritance chain to find the attributes; otherwise, . - An array that contains all the custom attributes, or an array with zero (0) elements if no attributes are defined. - - - Provides COM objects with version-independent access to the method. - The type of attribute to search for. Only attributes that are assignable to this type are returned. - - to search this member's inheritance chain to find the attributes; otherwise, . - An array of custom attributes applied to this member, or an array with zero (0) elements if no attributes have been applied. - - - Provides COM objects with version-independent access to the method. - The hash code for the current instance. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Provides COM objects with version-independent access to the method. - One of the values. - - - Provides COM objects with version-independent access to the method. - An array of type containing information that matches the signature of the method (or constructor) reflected by this instance. - - - Provides COM objects with version-independent access to the method. - A object. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides COM objects with version-independent access to the method. - The instance that created this method. - An argument list for the invoked method or constructor. This is an array of objects with the same number, order, and type as the parameters of the method or constructor to be invoked. If there are no parameters, should be .If the method or constructor represented by this instance takes a parameter ( in Visual Basic), no special attribute is required for that parameter to invoke the method or constructor using this function. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference type elements, this value is . For value type elements, this value is 0, 0.0, or , depending on the specific element type. - An instance of the class associated with the constructor. - - - Provides COM objects with version-independent access to the method. - The instance that created this method. - One of the values that specifies the type of binding. - A that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. If is , then is used. - An array of type used to match the number, order, and type of the parameters for this constructor, under the constraints of . If this constructor does not require parameters, pass an array with zero elements, as in Object[] parameters = new Object[0]. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference type elements, this value is . For value type elements, this value is 0, 0.0, or , depending on the specific element type. - A object used to govern the coercion of types. If this is , the for the current thread is used. - An instance of the class associated with the constructor. - - - Provides access to properties and methods exposed by an object. - An identifier for the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The object to which the custom attributes are applied. - - to search this member's inheritance chain to find the attributes; otherwise, . - - if one or more instance of the parameter is applied to this member; otherwise, . - - - Provides COM objects with version-independent access to the method. - A string that represents the current . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The to compare with the current . - - if the specified is equal to the current ; otherwise, . - - - Provides COM objects with version-independent access to the method. - A object for the first implementation of this method. - - - Provides COM objects with version-independent access to the method. - - to search this member's inheritance chain to find the attributes; otherwise, . - An array that contains all the custom attributes, or an array with zero (0) elements if no attributes are defined. - - - Provides COM objects with version-independent access to the method. - The type of attribute to search for. Only attributes that are assignable to this type are returned. - - to search this member's inheritance chain to find the attributes; otherwise, . - An array of custom attributes applied to this member, or an array with zero (0) elements if no attributes have been applied. - - - Provides COM objects with version-independent access to the method. - The hash code for the current instance. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Provides COM objects with version-independent access to the method. - One of the values. - - - Provides COM objects with version-independent access to the method. - An array of type containing information that matches the signature of the method (or constructor) reflected by this instance. - - - Provides COM objects with version-independent access to the method. - A object. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides COM objects with version-independent access to the method. - The instance that created this method. - An argument list for the invoked method or constructor. This is an array of objects with the same number, order, and type as the parameters of the method or constructor to be invoked. If there are no parameters, should be .If the method or constructor represented by this instance takes a parameter ( in Visual Basic), no special attribute is required for that parameter to invoke the method or constructor using this function. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference type elements, this value is . For value type elements, this value is 0, 0.0, or , depending on the specific element type. - An instance of the class associated with the constructor. - - - Provides COM objects with version-independent access to the method. - The instance that created this method. - One of the values that specifies the type of binding. - A that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. If is , then is used. - An array of type used to match the number, order, and type of the parameters for this constructor, under the constraints of . If this constructor does not require parameters, pass an array with zero elements, as in Object[] parameters = new Object[0]. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference type elements, this value is . For value type elements, this value is 0, 0.0, or , depending on the specific element type. - A object used to govern the coercion of types. If this is , the for the current thread is used. - An instance of the class associated with the constructor. - - - Provides access to properties and methods exposed by an object. - An identifier for the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The object to which the custom attributes are applied. - - to search this member's inheritance chain to find the attributes; otherwise, . - - if one or more instance of the parameter is applied to this member; otherwise, . - - - Provides COM objects with version-independent access to the method. - A string that represents the current . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The to compare with the current . - - if the specified is equal to the current ; otherwise, . - - - Provides COM objects with version-independent access to the method. - An array of objects that reflect the public , , and other accessors of the property reflected by the current instance, if accessors are found; otherwise, this method returns an array with zero (0) elements. - - - Provides COM objects with version-independent access to the method. - - to include non-public methods in the returned array; otherwise, . - An array of objects whose elements reflect the , , and other accessors of the property reflected by the current instance. If the parameter is , this array contains public and non-public , , and other accessors. If is , this array contains only public , , and other accessors. If no accessors with the specified visibility are found, this method returns an array with zero (0) elements. - - - Provides COM objects with version-independent access to the method. - true to search this member's inheritance chain to find the attributes; otherwise false. - An array that contains all the custom attributes, or an array with zero elements if no attributes are defined. - - - Provides COM objects with version-independent access to the method. - The type of attribute to search for. Only attributes that are assignable to this type are returned. - true to search this member's inheritance chain to find the attributes; otherwise false. - An array of custom attributes applied to this member, or an array with zero (0) elements if no attributes have been applied. - - - Provides COM objects with version-independent access to the method. - A object representing the public accessor for this property, or if the accessor is non-public or does not exist. - - - Provides COM objects with version-independent access to the method. - - to return a non-public accessor; otherwise, . - A object representing the accessor for this property, if the parameter is . Or if is and the accessor is non-public, or if is but no accessors exist. - - - Provides COM objects with version-independent access to the method. - The hash code for the current instance. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Provides COM objects with version-independent access to the method. - An array of type containing the parameters for the indexes. - - - Provides COM objects with version-independent access to the method. - The object representing the method for this property if the accessor is public, or if the accessor is not public. - - - Provides COM objects with version-independent access to the method. - - to return a non-public accessor; otherwise, . - One of the values in the following table.Value Meaning A object representing the method for this property. The accessor is public.-or- The parameter is and the accessor is non-public. - - The parameter is , but the property is read-only.-or- The parameter is and the accessor is non-public.-or- There is no accessor. - - - Provides COM objects with version-independent access to the method. - A object. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides COM objects with version-independent access to the method. - The object whose property value will be returned. - Optional index values for indexed properties. This value should be for non-indexed properties. - The property value for the parameter. - - - Provides COM objects with version-independent access to the method. - The object whose property value will be returned. - The invocation attribute. This must be a bit flag from : , , , , , , or . A suitable invocation attribute must be specified. If a static member will be invoked, the flag of must be set. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects through reflection. If is , the default binder is used. - Optional index values for indexed properties. This value should be for non-indexed properties. - The object that represents the culture for which the resource will be localized. Note that if the resource is not localized for this culture, the method will be called successively in search of a match. If this value is , the is obtained from the property. - The property value for the parameter. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The object to which the custom attributes are applied. - true to search this member's inheritance chain to find the attributes; otherwise false. - - if one or more instances of the parameter are applied to this member; otherwise, . - - - Provides COM objects with version-independent access to the method. - The object whose property value will be set. - The new value for this property. - Optional index values for indexed properties. This value should be for non-indexed properties. - - - Provides COM objects with version-independent access to the method. - The object whose property value will be returned. - The new value for this property. - The invocation attribute. This must be a bit flag from : , , , , , , or . A suitable invocation attribute must be specified. If a static member will be invoked, the flag of must be set. - An object that enables the binding, coercion of argument types, invocation of members, and retrieval of objects through reflection. If is , the default binder is used. - Optional index values for indexed properties. This value should be for non-indexed properties. - The object that represents the culture for which the resource will be localized. Note that if the resource is not localized for this culture, the method will be called successively in search of a match. If this value is , the is obtained from the property. - - - Provides COM objects with version-independent access to the method. - A string that represents the current . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The whose underlying system type is to be compared with the underlying system type of the current . - - if the underlying system type of is the same as the underlying system type of the current ; otherwise, . - - - Provides COM objects with version-independent access to the method. - The whose underlying system type is to be compared with the underlying system type of the current . - - if the underlying system type of is the same as the underlying system type of the current ; otherwise, . - - - Provides COM objects with version-independent access to the method. - The delegate that compares the interfaces against . - The search criteria that determines whether an interface should be included in the returned array. - An array of objects representing a filtered list of the interfaces implemented or inherited by the current .-or- An empty array of type , if no interfaces matching the filter are implemented or inherited by the current . - - - Provides COM objects with version-independent access to the method. - A object indicating the type of member to search for. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - The delegate that does the comparisons, returning if the member currently being inspected matches the and otherwise. You can use the , , and delegates supplied by this class. The first uses the fields of , , and as search criteria, and the other two delegates use objects as the search criteria. - The search criteria that determines whether a member is returned in the array of objects.The fields of , , and can be used in conjunction with the delegate supplied by this class. - A filtered array of objects of the specified member type.-or- An empty array of type , if the current does not have members of type that match the filter criteria. - - - Provides COM objects with version-independent access to the method. - An containing the number of dimensions in the current . - - - Provides COM objects with version-independent access to the method. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - A object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- - , to use the . - The object that specifies the set of rules to use regarding the order and layout of arguments, how the return value is passed, what registers are used for arguments, and the stack is cleaned up. - An array of objects representing the number, order, and type of the parameters for the constructor to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a constructor that takes no parameters. - An array of objects representing the attributes associated with the corresponding element in the array. The default binder does not process this parameter. - A object representing the constructor that matches the specified requirements, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - A object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- - , to use the . - An array of objects representing the number, order, and type of the parameters for the constructor to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a constructor that takes no parameters.-or- - . - An array of objects representing the attributes associated with the corresponding element in the parameter type array. The default binder does not process this parameter. - A object representing the constructor that matches the specified requirements, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - An array of objects representing the number, order, and type of the parameters for the desired constructor.-or- An empty array of objects, to get a constructor that takes no parameters. Such an empty array is provided by the field . - A object representing the public instance constructor whose parameters match the types in the parameter type array, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - An array of objects representing all the public instance constructors defined for the current , but not including the type initializer (static constructor). If no public instance constructors are defined for the current , or if the current represents a type parameter of a generic type or method definition, an empty array of type is returned. - - - Provides COM objects with version-independent access to the method. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An array of objects representing all constructors defined for the current that match the specified binding constraints, including the type initializer if it is defined. Returns an empty array of type if no constructors are defined for the current , if none of the defined constructors match the binding constraints, or if the current represents a type parameter of a generic type or method definition. - - - Provides COM objects with version-independent access to the method. - Specifies whether to search this member's inheritance chain to find the attributes. - An array of custom attributes applied to this member, or an array with zero (0) elements if no attributes have been applied. - - - Provides COM objects with version-independent access to the method. - The type of attribute to search for. Only attributes that are assignable to this type are returned. - Specifies whether to search this member's inheritance chain to find the attributes. - An array of custom attributes applied to this member, or an array with zero (0) elements if no attributes have been applied. - - - Provides COM objects with version-independent access to the method. - An array of objects representing all default members of the current .-or- An empty array of type , if the current does not have default members. - - - Provides COM objects with version-independent access to the method. - The of the object encompassed or referred to by the current array, pointer or reference type.-or- - if the current is not an array or a pointer, or is not passed by reference, or represents a generic type or a type parameter of a generic type or method definition. - - - Provides COM objects with version-independent access to the method. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An array of objects representing all events that are declared or inherited by the current that match the specified binding constraints.-or- An empty array of type , if the current does not have events, or if none of the events match the binding constraints. - - - Provides COM objects with version-independent access to the method. - The containing the name of an event that is declared or inherited by the current . - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - The object representing the specified event that is declared or inherited by the current , if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - An array of objects representing all the public events that are declared or inherited by the current .-or- An empty array of type , if the current does not have public events. - - - Provides COM objects with version-independent access to the method. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An array of objects representing all events that are declared or inherited by the current that match the specified binding constraints.-or- An empty array of type , if the current does not have events, or if none of the events match the binding constraints. - - - Provides COM objects with version-independent access to the method. - The containing the name of the data field to get. - A object representing the public field with the specified name, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The containing the name of the data field to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - A object representing the field that matches the specified requirements, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - An array of objects representing all the public fields defined for the current .-or- An empty array of type , if no public fields are defined for the current . - - - Provides COM objects with version-independent access to the method. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An array of objects representing all fields defined for the current that match the specified binding constraints.-or- An empty array of type , if no fields are defined for the current , or if none of the defined fields match the binding constraints. - - - Provides COM objects with version-independent access to the method. - An containing the hash code for this instance. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array that receives the IDs corresponding to the names. - - - Provides COM objects with version-independent access to the method. - The containing the name of the interface to get. For generic interfaces, this is the mangled name. - A object representing the interface with the specified name, implemented or inherited by the current , if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The containing the name of the interface to get. For generic interfaces, this is the mangled name. - - to perform a case-insensitive search for .-or- - to perform a case-sensitive search for . - A object representing the interface with the specified name, implemented or inherited by the current , if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The of the interface of which to retrieve a mapping. - An object representing the interface mapping for . - - - Provides COM objects with version-independent access to the method. - An array of objects representing all the interfaces implemented or inherited by the current .-or- An empty array of type , if no interfaces are implemented or inherited by the current . - - - Provides COM objects with version-independent access to the method. - The containing the name of the public members to get. - An array of objects representing the public members with the specified name, if found; otherwise, an empty array. - - - Provides COM objects with version-independent access to the method. - The containing the name of the members to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return an empty array. - An array of objects representing the public members with the specified name, if found; otherwise, an empty array. - - - Provides COM objects with version-independent access to the method. - The containing the name of the members to get. - The value to search for. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return an empty array. - An array of objects representing the public members with the specified name, if found; otherwise, an empty array. - - - Provides COM objects with version-independent access to the method. - An array of objects representing all the public members of the current .-or- An empty array of type , if the current does not have public members. - - - Provides COM objects with version-independent access to the method. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An array of objects representing all members defined for the current that match the specified binding constraints.-or- An empty array of type , if no members are defined for the current , or if none of the defined members match the binding constraints. - - - Provides COM objects with version-independent access to the method. - The containing the name of the public method to get. - A object representing the public method with the specified name, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The containing the name of the method to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - A object representing the method that matches the specified requirements, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The containing the name of the method to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - A object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- - , to use the . - The object that specifies the set of rules to use regarding the order and layout of arguments, how the return value is passed, what registers are used for arguments, and how the stack is cleaned up. - An array of objects representing the number, order, and type of the parameters for the method to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a method that takes no parameters. - An array of objects representing the attributes associated with the corresponding element in the array. The default binder does not process this parameter. - A object representing the method that matches the specified requirements, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The containing the name of the method to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - A object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- - , to use the . - An array of objects representing the number, order, and type of the parameters for the method to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a method that takes no parameters. - An array of objects representing the attributes associated with the corresponding element in the array. The default binder does not process this parameter. - A object representing the method that matches the specified requirements, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The containing the name of the public method to get. - An array of objects representing the number, order, and type of the parameters for the method to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a method that takes no parameters. - A object representing the public method whose parameters match the specified argument types, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The containing the name of the public method to get. - An array of objects representing the number, order, and type of the parameters for the method to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a method that takes no parameters. - An array of objects representing the attributes associated with the corresponding element in the array. The default binder does not process this parameter. - A object representing the public method that matches the specified requirements, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - An array of objects representing all the public methods defined for the current .-or- An empty array of type , if no public methods are defined for the current . - - - Provides COM objects with version-independent access to the method. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An array of objects representing all methods defined for the current that match the specified binding constraints.-or- An empty array of type , if no methods are defined for the current , or if none of the defined methods match the binding constraints. - - - Provides COM objects with version-independent access to the method. - The string containing the name of the nested type to get. - A object representing the public nested type with the specified name, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The string containing the name of the nested type to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - A object representing the nested type that matches the specified requirements, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - An array of objects representing all the types nested within the current .-or- An empty array of type , if no types are nested within the current . - - - Provides COM objects with version-independent access to the method, and searches for the types nested within the current , using the specified binding constraints. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An array of objects representing all the types nested within the current that match the specified binding constraints.-or- An empty array of type , if no types are nested within the current , or if none of the nested types match the binding constraints. - - - Provides COM objects with version-independent access to the method. - An array of objects representing all public properties of the current .-or- An empty array of type , if the current does not have public properties. - - - Provides COM objects with version-independent access to the method. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An array of objects representing all properties of the current that match the specified binding constraints.-or- An empty array of type , if the current does not have properties, or if none of the properties match the binding constraints. - - - Provides COM objects with version-independent access to the method. - The containing the name of the public property to get. - A object representing the public property with the specified name, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The containing the name of the property to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - A object representing the property that matches the specified requirements, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The containing the name of the property to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - A object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- - , to use the . - The return type of the property. - An array of objects representing the number, order, and type of the parameters for the indexed property to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a property that is not indexed. - An array of objects representing the attributes associated with the corresponding element in the array. The default binder does not process this parameter. - A object representing the property that matches the specified requirements, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The containing the name of the public property to get. - The return type of the property. - A object representing the public property with the specified name, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The containing the name of the public property to get. - The return type of the property. - An array of objects representing the number, order, and type of the parameters for the indexed property to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a property that is not indexed. - A object representing the public property whose parameters match the specified argument types, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The containing the name of the public property to get. - The return type of the property. - An array of objects representing the number, order, and type of the parameters for the indexed property to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a property that is not indexed. - An array of objects representing the attributes associated with the corresponding element in the array. The default binder does not process this parameter. - A object representing the public property that matches the specified requirements, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The containing the name of the public property to get. - An array of objects representing the number, order, and type of the parameters for the indexed property to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a property that is not indexed. - A object representing the public property whose parameters match the specified argument types, if found; otherwise, . - - - Provides COM objects with version-independent access to the method. - The current . - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Provides COM objects with version-independent access to the method. - The containing the name of the constructor, method, property, or field member to invoke.-or- An empty string ("") to invoke the default member. -or-For IDispatch members, a string representing the DispID, for example "[DispID=3]". - A bitmask comprised of one or more that specify how the search is conducted. The access can be one of the such as , , , , , and so on. The type of lookup need not be specified. If the type of lookup is omitted, | will apply. - A object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- - , to use the . - The on which to invoke the specified member. - An array containing the arguments to pass to the member to invoke. - An representing the return value of the invoked member. - - - Provides COM objects with version-independent access to the method. - The containing the name of the constructor, method, property, or field member to invoke.-or- An empty string ("") to invoke the default member. -or-For IDispatch members, a string representing the DispID, for example "[DispID=3]". - A bitmask comprised of one or more that specify how the search is conducted. The access can be one of the such as , , , , , and so on. The type of lookup need not be specified. If the type of lookup is omitted, | will apply. - A object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- - , to use the . - The on which to invoke the specified member. - An array containing the arguments to pass to the member to invoke. - The object representing the globalization locale to use, which may be necessary for locale-specific conversions, such as converting a numeric String to a Double.-or- - to use the current thread's . - An representing the return value of the invoked member. - - - Provides COM objects with version-independent access to the method. - The containing the name of the constructor, method, property, or field member to invoke.-or- An empty string ("") to invoke the default member. -or-For IDispatch members, a string representing the DispID, for example "[DispID=3]". - A bitmask comprised of one or more that specify how the search is conducted. The access can be one of the such as , , , , , and so on. The type of lookup need not be specified. If the type of lookup is omitted, | will apply. - A object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- - , to use the . - The on which to invoke the specified member. - An array containing the arguments to pass to the member to invoke. - An array of objects representing the attributes associated with the corresponding element in the array. A parameter's associated attributes are stored in the member's signature. The default binder does not process this parameter. - The object representing the globalization locale to use, which may be necessary for locale-specific conversions, such as converting a numeric String to a Double.-or- - to use the current thread's . - An array containing the names of the parameters to which the values in the array are passed. - An representing the return value of the invoked member. - - - Provides COM objects with version-independent access to the method. - The to compare with the current . - - if and the current represent the same type, or if the current is in the inheritance hierarchy of , or if the current is an interface that implements, or if is a generic type parameter and the current represents one of the constraints of . if none of these conditions are the case, or if is . - - - Provides COM objects with version-independent access to the method. - The object to which the custom attributes are applied. - Specifies whether to search this member's inheritance chain to find the attributes. - - if one or more instance of is applied to this member; otherwise, . - - - Provides COM objects with version-independent access to the method. - The object to compare with the current . - - if the current is in the inheritance hierarchy of the object represented by , or if the current is an interface that supports. if neither of these conditions is the case, or if is , or if the current is an open generic type (that is, returns ). - - - Provides COM objects with version-independent access to the method. - The to compare with the current . - - if the represented by the parameter and the current represent classes, and the class represented by the current derives from the class represented by ; otherwise, . This method also returns if and the current represent the same class. - - - Provides COM objects with version-independent access to the method. - A representing the name of the current . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - An array of names to be mapped. - The count of the names to be mapped. - The locale context in which to interpret the names. - An array allocated by the caller that receives the identifiers corresponding to the names. - - - Retrieves the type information for an object, which can be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - If this is really an out parameter as the syntax above indicates, the wording here should be "When this method returns, contains a pointer to a location that receives the number of type information interfaces provided by the object. This parameter is passed uninitialized. - - - Provides access to properties and methods exposed by an object. - An identifier of a member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - A pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - A pointer to the location where the result will be stored. - A pointer to a structure that contains exception information. - The index of the first argument that has an error. - - - Initializes a new instance of the class. - - - Initializes a new instance of the structure. - A managed array. - The offset in bytes, of the element to be passed through platform invoke. - The array is larger than 2 gigabytes (GB). - - - Indicates whether the specified object matches the current object. - Object to compare with this instance. - - if the object matches this ; otherwise, . - - - Indicates whether the specified object matches the current instance. - An object to compare with this instance. - - if the specified object matches the current instance; otherwise, . - - - Returns the managed array referenced by this . - The managed array this instance references. - - - Returns a hash code for this value type. - The hash code for this instance. - - - Returns the offset provided when this was constructed. - The offset for this instance. - - - Determines whether two specified objects have the same value. - An object to compare with the parameter. - An object to compare with the parameter. - - if the value of is the same as the value of ; otherwise, . - - - Determines whether two specified objects no not have the same value. - An object to compare with the parameter. - An object to compare with the parameter. - - if the value of is not the same as the value of ; otherwise, . - - - Initializes a new instance of the class. - - if the class should be marshaled using the Automation Marshaler; if a proxy stub marshaler should be used. - - - Initializes a new instance of the class set to the value of the property. - - to indicate that best-fit mapping is enabled; otherwise, . The default is . - - - Initializes a new instance of the class with the specified object. - The object to wrap and marshal as . - - - Initializes a new instance of the class with the specified object. - The object to wrap and marshal as . - - - Initializes a new instance of the class with the specified enumeration value. - Describes the type of interface that is generated for a class. - - - Initializes a new instance of the class with the specified enumeration member. - One of the values that describes the type of interface that is generated for a class. - - - Initializes new instance of the with the class identifier of the original coclass. - A that contains the class identifier of the original coclass. - - - Initializes a new instance of the class with the alias for the attributed field or parameter. - The alias for the field or parameter as found in the type library when it was imported. - - - Initializes a new instance of the class with the major version, minor version, build, and revision numbers of the assembly. - The major version number of the assembly. - The minor version number of the assembly. - The build number of the assembly. - The revision number of the assembly. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified object as the default interface exposed to COM. - A value indicating the default interface to expose to COM. - - - Initializes a new instance of the class with the source interface and event provider class. - A that contains the original source interface from the type library. COM uses this interface to call back to the managed class. - A that contains the class that implements the methods of the event interface. - - - Adds a delegate to the invocation list of events originating from a COM object. - The COM object that triggers the events the caller would like to respond to. - The identifier of the source interface used by the COM object to trigger events. - The dispatch identifier of the method on the source interface. - The delegate to invoke when the COM event is fired. - - - Removes a delegate from the invocation list of events originating from a COM object. - The COM object the delegate is attached to. - The identifier of the source interface used by the COM object to trigger events. - The dispatch identifier of the method on the source interface. - The delegate to remove from the invocation list. - The delegate that was removed from the invocation list. - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class from serialization data. - The object that holds the serialized object data. - The object that supplies the contextual information about the source or destination. - - is . - - - Initializes a new instance of the class with a specified message. - The message that indicates the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified message and error code. - The message that indicates the reason the exception occurred. - The error code (HRESULT) value associated with this exception. - - - Converts the contents of the exception to a string. - A string containing the , , , and properties of the exception. - - - Initializes a new instance of the . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the name of the event source interface. - A null-delimited list of fully qualified event source interface names. - - - Initializes a new instance of the class with the type to use as a source interface. - The of the source interface. - - - Initializes a new instance of the class with the types to use as source interfaces. - The of the default source interface. - The of a source interface. - - - Initializes a new instance of the class with the types to use as source interfaces. - The of the default source interface. - The of a source interface. - The of a source interface. - - - Initializes a new instance of the class with the types to use as source interfaces. - The of the default source interface. - The of a source interface. - The of a source interface. - The of a source interface. - - - Enumerates the strings that are the keys of the internally maintained table of contextual object parameters. - When this method returns, contains a reference to the object parameter enumerator. This parameter is passed uninitialized. - - - Returns the current binding options stored in the current bind context. - A pointer to the structure to receive the binding options. - - - Looks up the given key in the internally maintained table of contextual object parameters and returns the corresponding object, if one exists. - The name of the object to search for. - When this method returns, contains the object interface pointer. This parameter is passed uninitialized. - - - Returns access to the Running Object Table (ROT) relevant to this binding process. - When this method returns, contains a reference to the Running Object Table (ROT). This parameter is passed uninitialized. - - - Registers the passed object as one of the objects that has been bound during a moniker operation and that should be released when the operation is complete. - The object to register for release. - - - Registers the specified object pointer under the specified name in the internally maintained table of object pointers. - The name to register with. - The object to register. - - - Releases all the objects currently registered with the bind context by using the method. - - - Removes the object from the set of registered objects that need to be released. - The object to unregister for release. - - - Revokes the registration of the object currently found under the specified key in the internally maintained table of contextual object parameters, if that key is currently registered. - The key to unregister. - An value if the specified key was successfully removed from the table; otherwise, an value. - - - Stores a block of parameters in the bind context. These parameters will apply to later operations that use this bind context. - The structure containing the binding options to set. - - - Establishes an advisory connection between the connection point and the caller's sink object. - A reference to the sink to receive calls for the outgoing interface managed by this connection point. - When this method returns, contains the connection cookie. This parameter is passed uninitialized. - - - Creates an enumerator object for iteration through the connections that exist to this connection point. - When this method returns, contains the newly created enumerator. This parameter is passed uninitialized. - - - Returns the IID of the outgoing interface managed by this connection point. - When this parameter returns, contains the IID of the outgoing interface managed by this connection point. This parameter is passed uninitialized. - - - Retrieves the interface pointer to the connectable object that conceptually owns this connection point. - When this parameter returns, contains the connectable object's interface. This parameter is passed uninitialized. - - - Terminates an advisory connection previously established through the method. - The connection cookie previously returned from the method. - - - Creates an enumerator of all the connection points supported in the connectable object, one connection point per IID. - When this method returns, contains the interface pointer of the enumerator. This parameter is passed uninitialized. - - - Asks the connectable object if it has a connection point for a particular IID, and if so, returns the interface pointer to that connection point. - A reference to the outgoing interface IID whose connection point is being requested. - When this method returns, contains the connection point that manages the outgoing interface . This parameter is passed uninitialized. - - - Creates a new enumerator that contains the same enumeration state as the current one. - When this method returns, contains a reference to the newly created enumerator. This parameter is passed uninitialized. - - - Retrieves a specified number of items in the enumeration sequence. - The number of references to return in . - When this method returns, contains a reference to the enumerated connections. This parameter is passed uninitialized. - When this method returns, contains a reference to the actual number of connections enumerated in . - - if the parameter equals the parameter; otherwise, . - - - Resets the enumeration sequence to the beginning. - - - Skips a specified number of items in the enumeration sequence. - The number of elements to skip in the enumeration. - - if the number of elements skipped equals the parameter; otherwise, . - - - Creates a new enumerator that contains the same enumeration state as the current one. - When this method returns, contains a reference to the newly created enumerator. This parameter is passed uninitialized. - - - Retrieves a specified number of items in the enumeration sequence. - The number of structures to return in . - When this method returns, contains a reference to the enumerated connections. This parameter is passed uninitialized. - When this method returns, contains a reference to the actual number of connections enumerated in . - - if the parameter equals the parameter; otherwise, . - - - Resets the enumeration sequence to the beginning. - - - Skips a specified number of items in the enumeration sequence. - The number of elements to skip in the enumeration. - - if the number of elements skipped equals the parameter; otherwise, . - - - Creates a new enumerator that contains the same enumeration state as the current one. - When this method returns, contains a reference to the newly created enumerator. This parameter is passed uninitialized. - - - Retrieves a specified number of items in the enumeration sequence. - The number of monikers to return in . - When this method returns, contains a reference to the enumerated monikers. This parameter is passed uninitialized. - When this method returns, contains a reference to the actual number of monikers enumerated in . - - if the parameter equals the parameter; otherwise, . - - - Resets the enumeration sequence to the beginning. - - - Skips a specified number of items in the enumeration sequence. - The number of elements to skip in the enumeration. - - if the number of elements skipped equals the parameter; otherwise, . - - - Creates a new enumerator that contains the same enumeration state as the current one. - When this method returns, contains a reference to the newly created enumerator. This parameter is passed uninitialized. - - - Retrieves a specified number of items in the enumeration sequence. - The number of strings to return in . - When this method returns, contains a reference to the enumerated strings. This parameter is passed uninitialized. - When this method returns, contains a reference to the actual number of strings enumerated in . - - if the parameter equals the parameter; otherwise, . - - - Resets the enumeration sequence to the beginning. - - - Skips a specified number of items in the enumeration sequence. - The number of elements to skip in the enumeration. - - if the number of elements skipped equals the parameter; otherwise, . - - - Creates a new enumerator that contains the same enumeration state as the current one. - An reference to the newly created enumerator. - - - Retrieves a specified number of items in the enumeration sequence. - The number of elements to return in . - When this method returns, contains a reference to the enumerated elements. This parameter is passed uninitialized. - When this method returns, contains a reference to the actual number of elements enumerated in . - - if the parameter equals the parameter; otherwise, . - - - Resets the enumeration sequence to the beginning. - An HRESULT with the value . - - - Skips a specified number of items in the enumeration sequence. - The number of elements to skip in the enumeration. - - if the number of elements skipped equals parameter; otherwise, . - - - Uses the moniker to bind to the object that it identifies. - A reference to the interface on the bind context object used in this binding operation. - A reference to the moniker to the left of the current moniker, if the moniker is part of a composite moniker. - The interface identifier (IID) of the interface that the client intends to use to communicate with the object that the moniker identifies. - When this method returns, contains a reference to the interface requested by . This parameter is passed uninitialized. - - - Retrieves an interface pointer to the storage that contains the object identified by the moniker. - A reference to the interface on the bind context object used during this binding operation. - A reference to the moniker to the left of the current moniker, if the moniker is part of a composite moniker. - The interface identifier (IID) of the storage interface requested. - When this method returns, contains a reference to the interface requested by . This parameter is passed uninitialized. - - - Creates a new moniker based on the common prefix that this moniker shares with another moniker. - A reference to the interface on another moniker to compare with the current moniker for a common prefix. - When this method returns, contains the moniker that is the common prefix of the current moniker and . This parameter is passed uninitialized. - - - Combines the current moniker with another moniker, creating a new composite moniker. - A reference to the interface on a moniker to append to the end of the current moniker. - - to indicate that the caller requires a nongeneric composition. The operation proceeds only if is a moniker class that the current moniker can combine with in some way other than forming a generic composite. to indicate that the method can create a generic composite if necessary. - When this method returns, contains a reference to the resulting composite moniker. This parameter is passed uninitialized. - - - Supplies a pointer to an enumerator that can enumerate the components of a composite moniker. - - to enumerate the monikers from left to right. to enumerate from right to left. - When this method returns, contains a reference to the enumerator object for the moniker. This parameter is passed uninitialized. - - - Retrieves the class identifier (CLSID) of an object. - When this method returns, contains the CLSID. This parameter is passed uninitialized. - - - Gets the display name, which is a user-readable representation of the current moniker. - A reference to the bind context to use in this operation. - A reference to the moniker to the left of the current moniker, if the moniker is part of a composite moniker. - When this method returns, contains the display name string. This parameter is passed uninitialized. - - - Returns the size, in bytes, of the stream needed to save the object. - When this method returns, contains a value indicating the size, in bytes, of the stream needed to save this object. This parameter is passed uninitialized. - - - Provides a number representing the time that the object identified by the current moniker was last changed. - A reference to the bind context to use in this binding operation. - A reference to the moniker to the left of the current moniker, if the moniker is part of a composite moniker. - When this method returns, contains the time of the last change. This parameter is passed uninitialized. - - - Calculates a 32-bit integer using the internal state of the moniker. - When this method returns, contains the hash value for this moniker. This parameter is passed uninitialized. - - - Provides a moniker that, when composed to the right of the current moniker or one of similar structure, composes to nothing. - When this method returns, contains a moniker that is the inverse of the current moniker. This parameter is passed uninitialized. - - - Checks the object for changes since it was last saved. - An value if the object has changed; otherwise, an value. - - - Compares the current moniker with a specified moniker and indicates whether they are identical. - A reference to the moniker to use for comparison. - An value if the monikers are identical; otherwise, an value. - - - Determines whether the object that is identified by the current moniker is currently loaded and running. - A reference to the bind context to use in this binding operation. - A reference to the moniker to the left of the current moniker if the current moniker is part of a composite. - A reference to the moniker most recently added to the Running Object Table (ROT). - An value if the moniker is running; an value if the moniker is not running; or an value. - - - Indicates whether this moniker is of one of the system-supplied moniker classes. - When this method returns, contains a pointer to an integer that is one of the values from the enumeration, and refers to one of the COM moniker classes. This parameter is passed uninitialized. - An value if the moniker is a system moniker; otherwise, an value. - - - Initializes an object from the stream where it was previously saved. - The stream that the object is loaded from. - - - Reads as many characters of the specified display name as the understands and builds a moniker corresponding to the portion read. - A reference to the bind context to use in this binding operation. - A reference to the moniker that has been built from the display name up to this point. - A reference to the string containing the remaining display name to parse. - When this method returns, contains the number of characters that were consumed in parsing . This parameter is passed uninitialized. - When this method returns, contains a reference to the moniker that was built from . This parameter is passed uninitialized. - - - Returns a reduced moniker, which is another moniker that refers to the same object as the current moniker but can be bound with equal or greater efficiency. - A reference to the interface on the bind context to use in this binding operation. - A value that specifies how far the current moniker should be reduced. - A reference to the moniker to the left of the current moniker. - When this method returns, contains a reference to the reduced form of the current moniker, which can be if an error occurs or if the current moniker is reduced to nothing. This parameter is passed uninitialized. - - - Supplies a moniker that, when appended to the current moniker (or one with a similar structure), yields the specified moniker. - A reference to the moniker to which a relative path should be taken. - When this method returns, contains a reference to the relative moniker. This parameter is passed uninitialized. - - - Saves an object to the specified stream. - The stream to which the object is saved. - - to clear the modified flag after the save is complete; otherwise - - - Retrieves the class identifier (CLSID) of an object. - When this method returns, contains a reference to the CLSID. This parameter is passed uninitialized. - - - Retrieves either the absolute path to the current working file of the object or, if there is no current working file, the default file name prompt of the object. - When this method returns, contains the address of a pointer to a zero-terminated string containing the path for the current file, or the default file name prompt (such as *.txt). This parameter is passed uninitialized. - - - Checks an object for changes since it was last saved to its current file. - - if the file has changed since it was last saved; if the file has not changed since it was last saved. - - - Opens the specified file and initializes an object from the file contents. - A zero-terminated string containing the absolute path of the file to open. - A combination of values from the enumeration to indicate the access mode in which to open . - - - Saves a copy of the object into the specified file. - A zero-terminated string containing the absolute path of the file to which the object is saved. - - to used the parameter as the current working file; otherwise . - - - Notifies the object that it can write to its file. - The absolute path of the file where the object was previously saved. - - - Enumerates the objects currently registered as running. - When this method returns, contains the new enumerator for the Running Object Table (ROT). This parameter is passed uninitialized. - - - Returns the registered object if the supplied object name is registered as running. - A reference to the moniker to search for in the Running Object Table (ROT). - When this method returns, contains the requested running object. This parameter is passed uninitialized. - An value that indicates the success or failure of the operation. - - - Searches for this moniker in the Running Object Table (ROT) and reports the recorded time of change, if present. - A reference to the moniker to search for in the Running Object Table (ROT). - When this object returns, contains the objects last change time. This parameter is passed uninitialized. - An value that indicates the success or failure of the operation. - - - Determines whether the specified moniker is currently registered in the Running Object Table (ROT). - A reference to the moniker to search for in the Running Object Table (ROT). - An value that indicates the success or failure of the operation. - - - Notes the time that a particular object changed so can report an appropriate change time. - The Running Object Table (ROT) entry of the changed object. - A reference to the object's last change time. - - - Registers that the supplied object has entered the running state. - Specifies whether the Running Object Table's (ROT) reference to is weak or strong, and controls access to the object through its entry in the ROT. - A reference to the object being registered as running. - A reference to the moniker that identifies . - A value that can be used to identify this ROT entry in subsequent calls to or . - - - Unregisters the specified object from the Running Object Table (ROT). - The Running Object Table (ROT) entry to revoke. - - - Creates a new stream object with its own seek pointer that references the same bytes as the original stream. - When this method returns, contains the new stream object. This parameter is passed uninitialized. - - - Ensures that any changes made to a stream object that is open in transacted mode are reflected in the parent storage. - A value that controls how the changes for the stream object are committed. - - - Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream. - A reference to the destination stream. - The number of bytes to copy from the source stream. - On successful return, contains the actual number of bytes read from the source. - On successful return, contains the actual number of bytes written to the destination. - - - Restricts access to a specified range of bytes in the stream. - The byte offset for the beginning of the range. - The length of the range, in bytes, to restrict. - The requested restrictions on accessing the range. - - - Reads a specified number of bytes from the stream object into memory starting at the current seek pointer. - When this method returns, contains the data read from the stream. This parameter is passed uninitialized. - The number of bytes to read from the stream object. - A pointer to a variable that receives the actual number of bytes read from the stream object. - - - Discards all changes that have been made to a transacted stream since the last call. - - - Changes the seek pointer to a new location relative to the beginning of the stream, to the end of the stream, or to the current seek pointer. - The displacement to add to . - The origin of the seek. The origin can be the beginning of the file, the current seek pointer, or the end of the file. - On successful return, contains the offset of the seek pointer from the beginning of the stream. - - - Changes the size of the stream object. - The new size of the stream as a number of bytes. - - - Retrieves the structure for this stream. - When this method returns, contains a structure that describes this stream object. This parameter is passed uninitialized. - Members in the structure that this method does not return, thus saving some memory allocation operations. - - - Removes the access restriction on a range of bytes previously restricted with the method. - The byte offset for the beginning of the range. - The length, in bytes, of the range to restrict. - The access restrictions previously placed on the range. - - - Writes a specified number of bytes into the stream object starting at the current seek pointer. - The buffer to write this stream to. - The number of bytes to write to the stream. - On successful return, contains the actual number of bytes written to the stream object. If the caller sets this pointer to , this method does not provide the actual number of bytes written. - - - Maps a name to a member of a type, or binds global variables and functions contained in a type library. - The name to bind. - A hash value for computed by . - A flags word containing one or more of the invoke flags defined in the enumeration. - When this method returns, contains a reference to the type description that contains the item to which it is bound, if a or was returned. This parameter is passed uninitialized. - When this method returns, contains a reference to a enumerator that indicates whether the name bound-to is a , , or . This parameter is passed uninitialized. - When this method returns, contains a reference to the bound-to , , or interface. This parameter is passed uninitialized. - - - Binds to the type descriptions contained within a type library. - The name to bind. - A hash value for determined by . - When this method returns, contains a reference to an of the type to which was bound. This parameter is passed uninitialized. - When this method returns, contains a reference to an variable. This parameter is passed uninitialized. - - - Retrieves the addresses of static functions or variables, such as those defined in a DLL. - The member ID of the member's address to retrieve. - One of the values that specifies whether the member is a property, and if so, what kind. - When this method returns, contains a reference to the member. This parameter is passed uninitialized. - - - Creates a new instance of a type that describes a component class (coclass). - The object that acts as the controlling . - The IID of the interface that the caller uses to communicate with the resulting object. - When this method returns, contains a reference to the created object. This parameter is passed uninitialized. - - - Retrieves the type library that contains this type description and its index within that type library. - When this method returns, contains a reference to the containing type library. This parameter is passed uninitialized. - When this method returns, contains a reference to the index of the type description within the containing type library. This parameter is passed uninitialized. - - - Retrieves a description or specification of an entry point for a function in a DLL. - The ID of the member function whose DLL entry description is to be returned. - One of the values that specifies the kind of member identified by . - If not , the function sets to a that contains the name of the DLL. - If not , the function sets to a that contains the name of the entry point. - If not , and the function is defined by an ordinal, then is set to point to the ordinal. - - - Retrieves the documentation string, the complete Help file name and path, and the context ID for the Help topic for a specified type description. - The ID of the member whose documentation is to be returned. - When this method returns, contains the name of the item method. This parameter is passed uninitialized. - When this method returns, contains the documentation string for the specified item. This parameter is passed uninitialized. - When this method returns, contains a reference to the Help context associated with the specified item. This parameter is passed uninitialized. - When this method returns, contains the fully qualified name of the Help file. This parameter is passed uninitialized. - - - Retrieves the structure that contains information about a specified function. - The index of the function description to return. - When this method returns, contains a reference to a structure that describes the specified function. This parameter is passed uninitialized. - - - Maps between member names and member IDs, and parameter names and parameter IDs. - An array of names to map. - The count of names to map. - When this method returns, contains a reference to an array in which name mappings are placed. This parameter is passed uninitialized. - - - Retrieves the value for one implemented interface or base interface in a type description. - The index of the implemented interface or base interface. - When this method returns, contains a reference to the enumeration. This parameter is passed uninitialized. - - - Retrieves marshaling information. - The member ID that indicates which marshaling information is needed. - When this method returns, contains a reference to the string used in marshaling the fields of the structure described by the referenced type description, or returns if there is no information to return. This parameter is passed uninitialized. - - - Retrieves the variable with the specified member ID (or the name of the property or method and its parameters) that corresponds to the specified function ID. - The ID of the member whose name (or names) is to be returned. - When this method returns, contains the name (or names) associated with the member. This parameter is passed uninitialized. - The length of the array. - When this method returns, contains the number of names in the array. This parameter is passed uninitialized. - - - Retrieves the referenced type descriptions if a type description references other type descriptions. - A handle to the referenced type description to return. - When this method returns, contains the referenced type description. This parameter is passed uninitialized. - - - Retrieves the type description of the implemented interface types if a type description describes a COM class. - The index of the implemented type whose handle is returned. - When this method returns, contains a reference to a handle for the implemented interface. This parameter is passed uninitialized. - - - Retrieves a structure that contains the attributes of the type description. - When this method returns, contains a reference to the structure that contains the attributes of this type description. This parameter is passed uninitialized. - - - Retrieves the interface for the type description, which enables a client compiler to bind to the type description's members. - When this method returns, contains a reference to the interface of the containing type library. This parameter is passed uninitialized. - - - Retrieves a structure that describes the specified variable. - The index of the variable description to return. - When this method returns, contains a reference to the structure that describes the specified variable. This parameter is passed uninitialized. - - - Invokes a method, or accesses a property of an object, that implements the interface described by the type description. - A reference to the interface described by this type description. - A value that identifies the interface member. - Flags that describe the context of the invoke call. - A reference to a structure that contains an array of arguments, an array of DISPIDs for named arguments, and counts of the number of elements in each array. - A reference to the location at which the result is to be stored. If specifies or , is ignored. Set to if no result is desired. - A pointer to an exception information structure, which is filled in only if is returned. - If returns , indicates the index within of the argument with the incorrect type. If more than one argument returns an error, indicates only the first argument with an error. This parameter is passed uninitialized. - - - Releases a structure previously returned by the method. - A reference to the structure to release. - - - Releases a structure previously returned by the method. - A reference to the structure to release. - - - Releases a structure previously returned by the method. - A reference to the structure to release. - - - Retrieves the addresses of static functions or variables, such as those defined in a DLL. - The member ID of the member's address to retrieve. - One of the values that specifies whether the member is a property, and if so, what kind. - When this method returns, contains a reference to the member. This parameter is passed uninitialized. - - - Creates a new instance of a type that describes a component class (coclass). - An object that acts as the controlling . - The IID of the interface that the caller uses to communicate with the resulting object. - When this method returns, contains a reference to the created object. This parameter is passed uninitialized. - - - Gets all custom data items for the library. - A pointer to , which holds all custom data items. - - - Gets all custom data from the specified function. - The index of the function to get the custom data for. - A pointer to , which holds all custom data items. - - - Gets all custom data for the specified implementation type. - The index of the implementation type for the custom data. - A pointer to which holds all custom data items. - - - Gets all of the custom data for the specified function parameter. - The index of the function to get the custom data for. - The index of the parameter of this function to get the custom data for. - A pointer to , which holds all custom data items. - - - Gets the variable for the custom data. - The index of the variable to get the custom data for. - A pointer to , which holds all custom data items. - - - Retrieves the type library that contains this type description and its index within that type library. - When this method returns, contains a reference to the containing type library. This parameter is passed uninitialized. - When this method returns, contains a reference to the index of the type description within the containing type library. This parameter is passed uninitialized. - - - Gets the custom data. - The GUID used to identify the data. - When this method returns, contains an that specifies where to put the retrieved data. This parameter is passed uninitialized. - - - Retrieves a description or specification of an entry point for a function in a DLL. - The ID of the member function whose DLL entry description is to be returned. - One of the values that specifies the kind of member identified by . - If not , the function sets to a that contains the name of the DLL. - If not , the function sets to a that contains the name of the entry point. - If not , and the function is defined by an ordinal, then is set to point to the ordinal. - - - Retrieves the documentation string, the complete Help file name and path, and the context ID for the Help topic for a specified type description. - The ID of the member whose documentation is to be returned. - When this method returns, contains the name of the item method. This parameter is passed uninitialized. - When this method returns, contains the documentation string for the specified item. This parameter is passed uninitialized. - When this method returns, contains a reference to the Help context associated with the specified item. This parameter is passed uninitialized. - When this method returns, contains the fully qualified name of the Help file. This parameter is passed uninitialized. - - - Retrieves the documentation string, the complete Help file name and path, the localization context to use, and the context ID for the library Help topic in the Help file. - The member identifier for the type description. - When this method returns, contains a that contains the name of the specified item. If the caller does not need the item name, can be . This parameter is passed uninitialized. - When this method returns, contains the Help localization context. If the caller does not need the Help context, can be . This parameter is passed uninitialized. - When this method returns, contains a that contains the fully qualified name of the file containing the DLL used for the Help file. If the caller does not need the file name, can be . This parameter is passed uninitialized. - - - Gets the custom data from the specified function. - The index of the function to get the custom data for. - The GUID used to identify the data. - When this method returns, contains an that specified where to put the data. This parameter is passed uninitialized. - - - Retrieves the structure that contains information about a specified function. - The index of the function description to return. - When this method returns, contains a reference to a structure that describes the specified function. This parameter is passed uninitialized. - - - Binds to a specific member based on a known DISPID, where the member name is not known (for example, when binding to a default member). - The member identifier. - One of the values that specifies the kind of member identified by memid. - When this method returns, contains an index into the function. This parameter is passed uninitialized. - - - Maps between member names and member IDs, and parameter names and parameter IDs. - An array of names to map. - The count of names to map. - When this method returns, contains a reference to an array in which name mappings are placed. This parameter is passed uninitialized. - - - Gets the implementation type of the custom data. - The index of the implementation type for the custom data. - The GUID used to identify the data. - When this method returns, contains an that specifies where to put the retrieved data. This parameter is passed uninitialized. - - - Retrieves the value for one implemented interface or base interface in a type description. - The index of the implemented interface or base interface. - When this method returns, contains a reference to the enumeration. This parameter is passed uninitialized. - - - Retrieves marshaling information. - The member ID that indicates which marshaling information is needed. - When this method returns, contains a reference to the string used in marshaling the fields of the structure described by the referenced type description, or returns if there is no information to return. This parameter is passed uninitialized. - - - Retrieves the variable with the specified member ID (or the name of the property or method and its parameters) that corresponds to the specified function ID. - The ID of the member whose name (or names) is to be returned. - When this method returns, contains the name (or names) associated with the member. This parameter is passed uninitialized. - The length of the array. - When this method returns, contains the number of names in the array. This parameter is passed uninitialized. - - - Gets the specified custom data parameter. - The index of the function to get the custom data for. - The index of the parameter of this function to get the custom data for. - The GUID used to identify the data. - When this method returns, contains an that specifies where to put the retrieved data. This parameter is passed uninitialized. - - - Retrieves the referenced type descriptions, if a type description references other type descriptions. - A handle to the referenced type description to return. - When this method returns, contains the referenced type description. This parameter is passed uninitialized. - - - Retrieves the type description of the implemented interface types, if a type description describes a COM class. - The index of the implemented type whose handle is returned. - When this method returns, contains a reference to a handle for the implemented interface. This parameter is passed uninitialized. - - - Retrieves a structure that contains the attributes of the type description. - When this method returns, contains a reference to the structure that contains the attributes of this type description. This parameter is passed uninitialized. - - - Retrieves the interface for the type description, which enables a client compiler to bind to the type description's members. - When this method returns, contains a reference to the of the containing type library. This parameter is passed uninitialized. - - - Returns the type flags without any allocations. This method returns a type flag, which expands the type flags without growing the (type attribute). - When this method returns, contains a reference to a . This parameter is passed uninitialized. - - - Returns the enumeration quickly, without doing any allocations. - When this method returns, contains a reference to a enumeration. This parameter is passed uninitialized. - - - Gets the variable for the custom data. - The index of the variable to get the custom data for. - The GUID used to identify the data. - When this method returns, contains an that specifies where to put the retrieved data. This parameter is passed uninitialized. - - - Retrieves a structure that describes the specified variable. - The index of the variable description to return. - When this method returns, contains a reference to the structure that describes the specified variable. This parameter is passed uninitialized. - - - Binds to a specific member based on a known , where the member name is not known (for example, when binding to a default member). - The member identifier. - When this method returns, contains an index of . This parameter is passed uninitialized. - - - Invokes a method, or accesses a property of an object, that implements the interface described by the type description. - A reference to the interface described by this type description. - Identifier of the interface member. - Flags describing the context of the invoke call. - A reference to a structure that contains an array of arguments, an array of DISPIDs for named arguments, and counts of the number of elements in each array. - A reference to the location at which the result is to be stored. If specifies or , is ignored. Set to if no result is desired. - A pointer to an exception information structure, which is filled in only if is returned. - If returns , indicates the index of the argument with incorrect type. If more than one argument returns an error, indicates only the first argument with an error. - - - Releases a structure previously returned by the method. - A reference to the structure to release. - - - Releases a structure previously returned by the method. - A reference to the structure to release. - - - Releases a structure previously returned by the method. - A reference to the structure to release. - - - Finds occurrences of a type description in a type library. - The name to search for. This is an in/out parameter. - A hash value to speed up the search, computed by the function. If is 0, a value is computed. - When this method returns, contains an array of pointers to the type descriptions that contain the name specified in . This parameter is passed uninitialized. - An array of the 's of the found items; [i] is the that indexes into the type description specified by [i]. Cannot be . - On entry, indicates how many instances to look for. For example, = 1 can be called to find the first occurrence. The search stops when one instance is found.On exit, indicates the number of instances that were found. If the and values of are identical, there might be more type descriptions that contain the name. - - - Retrieves the library's documentation string, the complete Help file name and path, and the context identifier for the library Help topic in the Help file. - The index of the type description whose documentation is to be returned. - When this method returns, contains a string that represents the name of the specified item. This parameter is passed uninitialized. - When this method returns, contains a string that represents the documentation string for the specified item. This parameter is passed uninitialized. - When this method returns, contains the Help context identifier associated with the specified item. This parameter is passed uninitialized. - When this method returns, contains a string that represents the fully qualified name of the Help file. This parameter is passed uninitialized. - - - Retrieves the structure that contains the library's attributes. - When this method returns, contains a structure that contains the library's attributes. This parameter is passed uninitialized. - - - Enables a client compiler to bind to a library's types, variables, constants, and global functions. - When this method returns, contains an instance of a instance for this . This parameter is passed uninitialized. - - - Retrieves the specified type description in the library. - The index of the interface to return. - When this method returns, contains an describing the type referenced by . This parameter is passed uninitialized. - - - Returns the number of type descriptions in the type library. - The number of type descriptions in the type library. - - - Retrieves the type description that corresponds to the specified GUID. - The IID of the interface or CLSID of the class whose type info is requested. - When this method returns, contains the requested interface. This parameter is passed uninitialized. - - - Retrieves the type of a type description. - The index of the type description within the type library. - When this method returns, contains a reference to the enumeration for the type description. This parameter is passed uninitialized. - - - Indicates whether a passed-in string contains the name of a type or member described in the library. - The string to test. This is an in/out parameter. - The hash value of . - - if was found in the type library; otherwise, . - - - Releases the structure originally obtained from the method. - The structure to release. - - - Finds occurrences of a type description in a type library. - The name to search for. - A hash value to speed up the search, computed by the function. If is 0, a value is computed. - When this method returns, contains an array of pointers to the type descriptions that contain the name specified in . This parameter is passed uninitialized. - When this method returns, contains an array of the s of the found items; [i] is the that indexes into the type description specified by [i]. This parameter cannot be . This parameter is passed uninitialized. - On entry, a value, passed by reference, that indicates how many instances to look for. For example, = 1 can be called to find the first occurrence. The search stops when one instance is found.On exit, indicates the number of instances that were found. If the and values of are identical, there might be more type descriptions that contain the name. - - - Gets all custom data items for the library. - A pointer to , which holds all custom data items. - - - Gets the custom data. - A , passed by reference, that is used to identify the data. - When this method returns, contains an object that specifies where to put the retrieved data. This parameter is passed uninitialized. - - - Retrieves the library's documentation string, the complete Help file name and path, and the context identifier for the library Help topic in the Help file. - An index of the type description whose documentation is to be returned. - When this method returns, contains a string that specifies the name of the specified item. This parameter is passed uninitialized. - When this method returns, contains the documentation string for the specified item. This parameter is passed uninitialized. - When this method returns, contains the Help context identifier associated with the specified item. This parameter is passed uninitialized. - When this method returns, contains a string that specifies the fully qualified name of the Help file. This parameter is passed uninitialized. - - - Retrieves the library's documentation string, the complete Help file name and path, the localization context to use, and the context ID for the library Help topic in the Help file. - An index of the type description whose documentation is to be returned; if is -1, the documentation for the library is returned. - When this method returns, contains a BSTR that specifies the name of the specified item. If the caller does not need the item name, can be . This parameter is passed uninitialized. - When this method returns, contains the Help localization context. If the caller does not need the Help context, can be . This parameter is passed uninitialized. - When this method returns, contains a BSTR that specifies the fully qualified name of the file containing the DLL used for Help file. If the caller does not need the file name, can be . This parameter is passed uninitialized. - - - Retrieves the structure that contains the library's attributes. - When this method returns, contains a structure that contains the library's attributes. This parameter is passed uninitialized. - - - Returns statistics about a type library that are required for efficient sizing of hash tables. - A pointer to a count of unique names. If the caller does not need this information, set to . - When this method returns, contains a pointer to a change in the count of unique names. This parameter is passed uninitialized. - - - Enables a client compiler to bind to a library's types, variables, constants, and global functions. - When this method returns, contains an instance for this . This parameter is passed uninitialized. - - - Retrieves the specified type description in the library. - An index of the interface to return. - When this method returns, contains an describing the type referenced by . This parameter is passed uninitialized. - - - Returns the number of type descriptions in the type library. - The number of type descriptions in the type library. - - - Retrieves the type description that corresponds to the specified GUID. - The , passed by reference, that represents the IID of the interface of the class whose type info is requested. - When this method returns, contains the requested interface. This parameter is passed uninitialized. - - - Retrieves the type of a type description. - The index of the type description within the type library. - When this method returns, contains a reference to the enumeration for the type description. This parameter is passed uninitialized. - - - Indicates whether a passed-in string contains the name of a type or member described in the library. - The string to test. - The hash value of . - - if was found in the type library; otherwise, . - - - Releases the structure originally obtained from the method. - The structure to release. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - to indicate that the type is visible to COM; otherwise, . The default is . - - - Initializes a new instance of the class with the specified invalid handle value. - The value of an invalid handle (usually 0 or -1). - The derived class resides in an assembly without unmanaged code access permission. - - - Marks the handle for releasing and freeing resources. - - - Releases all resources used by the . - - - Releases the unmanaged resources used by the class specifying whether to perform a normal dispose operation. - - for a normal dispose operation; to finalize the handle. - - - Frees all resources associated with the handle. - - - When overridden in a derived class, executes the code required to free the handle. - - if the handle is released successfully; otherwise, in the event of a catastrophic failure,. In this case, it generates a releaseHandleFailed MDA Managed Debugging Assistant. - - - Sets the handle to the specified pre-existing handle. - The pre-existing handle to use. - - - Marks a handle as invalid. - - - Initializes a new instance of the class with the to be wrapped and marshaled as type . - The to be wrapped and marshaled as . - - - Initializes a new instance of the class with the object containing the to be wrapped and marshaled as type . - The object containing the to be wrapped and marshaled as . - The parameter is not a type. - - - Initializes a new instance of the class with the specified value. - One of the values. - - - Initializes a new instance of the class, specifying the paths to use when searching for the targets of platform invokes. - A bitwise combination of enumeration values that specify the paths that the LoadLibraryEx function searches during platform invokes. - - - Initializes a new instance of the class with the object being wrapped. - The object to be wrapped and converted to . - - is not a class or an array.-or- - does not support . - The parameter was marked with a attribute that was passed a value of .-or-The parameter inherits from a type marked with a attribute that was passed a value of . - - - Initializes a new instance of the class with the specified DISPID. - The DISPID for the member. - - - Initializes a new instance of the class with the name of the DLL containing the method to import. - The name of the DLL that contains the unmanaged method. This can include an assembly display name, if the DLL is included in an assembly. - - - Initializes a new instance of the class with the HRESULT that corresponds to the exception supplied. - The exception to be converted to an error code. - - - Initializes a new instance of the class with the HRESULT of the error. - The HRESULT of the error. - - - Initializes a new instance of the class with an object containing the HRESULT of the error. - The object containing the HRESULT of the error. - The parameter is not an type. - - - Adds the named field to the Reflection object. - The name of the field. - A object representing the added field. - The object does not support this method. - - - Adds the named method to the Reflection object. - The name of the method. - The delegate to the method. - A object representing the added method. - The object does not support this method. - - - Adds the named property to the Reflection object. - The name of the property. - A object representing the added property. - The object does not support this method. - - - Removes the specified member. - The member to remove. - The object does not support this method. - - - Registers a that is called when an instance of a managed type, that extends from an unmanaged type, needs to allocate the aggregated unmanaged object. - A that is called in place of . - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class from serialization data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - is . - - - Initializes a new instance of the class with a specified error message. - The error message that specifies the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message and the HRESULT of the error. - The error message that specifies the reason for the exception. - The HRESULT of the error. - - - Returns a string that contains the HRESULT of the error. - A string that represents the HRESULT. - - - Initializes a new instance of the class with the offset in the structure to the beginning of the field. - The offset in bytes from the beginning of the structure to the beginning of the field. - - - Retrieves the address of an object in a handle. - The address of the pinned object as an . - The handle is any type other than . - - - Allocates a handle for the specified object. - The object that uses the . - A new that protects the object from garbage collection. This must be released with when it is no longer needed. - An instance with nonprimitive (non-blittable) members cannot be pinned. - - - Allocates a handle of the specified type for the specified object. - The object that uses the . - One of the values, indicating the type of to create. - A new of the specified type. This must be released with when it is no longer needed. - An instance with nonprimitive (non-blittable) members cannot be pinned. - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - - if the specified object is equal to the current object; otherwise, . - - - Releases a . - The handle was freed or never initialized. - - - Returns a new object created from a handle to a managed object. - An handle to a managed object to create a object from. - A new object that corresponds to the value parameter. - The value of the parameter is . - - - Returns an identifier for the current object. - An identifier for the current object. - - - Returns a value indicating whether two objects are equal. - A object to compare with the parameter. - A object to compare with the parameter. - - if the and parameters are equal; otherwise, . - - - A is stored using an internal integer representation. - An that indicates the handle for which the conversion is required. - The stored object using an internal integer representation. - - - A is stored using an internal integer representation. - The for which the integer is required. - The integer value. - - - Returns a value indicating whether two objects are not equal. - A object to compare with the parameter. - A object to compare with the parameter. - - if the and parameters are not equal; otherwise, . - - - Returns the internal integer representation of a object. - A object to retrieve an internal integer representation from. - An object that represents a object. - - - Initializes a new instance of the class with the specified GUID. - The to be assigned. - - - Initializes a new instance of the class with the object to wrap and a handle to the resource used by unmanaged code. - A managed object that should not be finalized until the platform invoke call returns. - An that indicates a handle to a resource. - - - Returns the handle to a resource of the specified object. - The object that needs a handle. - The handle to a resource of the specified object. - - - Returns the internal integer representation of a object. - A object to retrieve an internal integer representation from. - An object that represents a object. - - - Provides access to the underlying object wrapped by a custom marshaler. - The object contained by the adapter object. - - - Creates a new instance of the specified type. - The type to activate. - A associated with the specified type. - - - Performs necessary cleanup of the managed data when it is no longer needed. - The managed object to be destroyed. - - - Performs necessary cleanup of the unmanaged data when it is no longer needed. - A pointer to the unmanaged data to be destroyed. - - - Returns the size of the native data to be marshaled. - The size, in bytes, of the native data. - - - Converts the managed data to unmanaged data. - The managed object to be converted. - A pointer to the COM view of the managed object. - - - Converts the unmanaged data to managed data. - A pointer to the unmanaged data to be wrapped. - An object that represents the managed view of the COM data. - - - Returns an interface according to a specified interface ID. - The GUID of the requested interface. - A reference to the requested interface, when this method returns. - One of the enumeration values that indicates whether a custom implementation of IUnknown::QueryInterface was used. - - - Initializes a new instance of the class with specified value. - Indicates which enumeration will be used. - - - Initializes a new instance of the class with specified value. - Indicates which enumeration will be used. - - - Initializes a new instance of the class with the name of the original type library file. - The location of the original type library file. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified enumeration member. - Describes how the interface should be exposed to COM clients. - - - Initializes a new instance of the class with the specified enumeration member. - One of the values that describes how the interface should be exposed to COM clients. - - - Initializes an instance of the with default properties. - - - Initializes a new instance of the class from serialization data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - is . - - - Initializes an instance of the with a message. - The message that indicates the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class from serialization data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - is . - - - Initializes a new instance of the class with a specified message. - The message that indicates the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Returns the GUID of the COM category that contains the managed classes. - The GUID of the COM category that contains the managed classes. - - - Retrieves the COM ProgID for a specified type. - The type whose ProgID is being requested. - The ProgID for the specified type. - - - Retrieves a list of classes in an assembly that would be registered by a call to . - The assembly to search for classes. - A array containing a list of classes in . - - - Registers the classes in a managed assembly to enable creation from COM. - The assembly to be registered. - An value indicating any special settings needed when registering . - - if contains types that were successfully registered; otherwise if the assembly contains no eligible types. - - is . - The full name of is .-or- A method marked with is not .-or- There is more than one method marked with at a given level of the hierarchy.-or- The signature of the method marked with is not valid. - - - Registers the specified type with COM using the specified GUID. - The type to be registered for use from COM. - GUID used to register the specified type. - - - Determines whether the specified type is a COM type. - The type to determine if it is a COM type. - - if the specified type is a COM type; otherwise . - - - Determines whether the specified type requires registration. - The type to check for COM registration requirements. - - if the type must be registered for use from COM; otherwise . - - - Unregisters the classes in a managed assembly. - The assembly to be unregistered. - - if contains types that were successfully unregistered; otherwise if the assembly contains no eligible types. - - is . - The full name of is .-or- A method marked with is not .-or- There is more than one method marked with at a given level of the hierarchy.-or- The signature of the method marked with is not valid. - - - Converts an assembly to a COM type library. - The assembly to convert. - The file name of the resulting type library. - A value indicating any special settings. - The interface implemented by the caller. - An object that implements the interface. - - - Converts a COM type library to an assembly. - The object that implements the interface. - The file name of the resulting assembly. - A value indicating any special settings. - - interface implemented by the caller. - A array containing the public key. - A object containing the public and private cryptographic key pair. - If , the interfaces require link time checks for permission. If , the interfaces require run time checks that require a stack walk and are more expensive, but help provide greater protection. - An object containing the converted type library. - - - Converts a COM type library to an assembly. - The object that implements the interface. - The file name of the resulting assembly. - A value indicating any special settings. - - interface implemented by the caller. - A array containing the public key. - A object containing the public and private cryptographic key pair. - The namespace for the resulting assembly. - The version of the resulting assembly. If , the version of the type library is used. - An object containing the converted type library. - - - Gets the name and code base of a primary interop assembly for a specified type library. - The GUID of the type library. - The major version number of the type library. - The minor version number of the type library. - The LCID of the type library. - On successful return, the name of the primary interop assembly associated with . - On successful return, the code base of the primary interop assembly associated with . - - if the primary interop assembly was found in the registry; otherwise . - - - Returns a list of names to control the casing of. - An array of strings, where each element contains the name of a type to control casing for. - - - Notifies the caller that an event occured during the conversion of an assembly. - An value indicating the type of event. - Indicates extra information about the event. - A message generated by the event. - - - Asks the user to resolve a reference to another assembly. - The assembly to resolve. - The type library for . - - - Notifies the caller that an event occured during the conversion of a type library. - An value indicating the type of event. - Indicates extra information about the event. - A message generated by the event. - - - Asks the user to resolve a reference to another type library. - The object implementing the interface that needs to be resolved. - The assembly corresponding to . - - - Initializes a new instance of the class with the position of the LCID in the unmanaged signature. - Indicates the position of the LCID argument in the unmanaged signature, where 0 is the first argument. - - - Initializes a new instance of the class with the specified class type and method name. - The class that contains the required stub method. - The name of the stub method. - The stub method is not in the same assembly as the interface that contains the managed interop method.-or- - is a generic type.-or- - is an interface. - - cannot be found.-or-The method is not static or non-generic.-or-The method's parameter list does not match the expected parameter list for the stub. - The interface that contains the managed interop method has no access to the stub method, because the stub method has private or protected accessibility, or because of a security issue. - - - Increments the reference count on the specified interface. - The interface reference count to increment. - The new value of the reference count on the parameter. - - - Allocates a block of memory of specified size from the COM task memory allocator. - The size of the block of memory to be allocated. - An integer representing the address of the block of memory allocated. This memory must be released with . - There is insufficient memory to satisfy the request. - - - Allocates memory from the unmanaged memory of the process by using the specified number of bytes. - The required number of bytes in memory. - A pointer to the newly allocated memory. This memory must be released using the method. - There is insufficient memory to satisfy the request. - - - Allocates memory from the unmanaged memory of the process by using the pointer to the specified number of bytes. - The required number of bytes in memory. - A pointer to the newly allocated memory. This memory must be released using the method. - There is insufficient memory to satisfy the request. - - - Indicates whether runtime callable wrappers (RCWs) from any context are available for cleanup. - - if there are any RCWs available for cleanup; otherwise, . - - - Gets an interface pointer identified by the specified moniker. - The moniker corresponding to the desired interface pointer. - An object containing a reference to the interface pointer identified by the parameter. A moniker is a name, and in this case, the moniker is defined by an interface. - An unrecognized HRESULT was returned by the unmanaged method. - - - Changes the strength of an object's COM Callable Wrapper (CCW) handle. - The object whose CCW holds a reference counted handle. The handle is strong if the reference count on the CCW is greater than zero; otherwise, it is weak. - - to change the strength of the handle on the parameter to weak, regardless of its reference count; to reset the handle strength on to be reference counted. - - - Notifies the runtime to clean up all Runtime Callable Wrappers (RCWs) allocated in the current context. - - - Copies data from a one-dimensional, managed 8-bit unsigned integer array to an unmanaged memory pointer. - The one-dimensional array to copy from. - The zero-based index in the source array where copying should start. - The memory pointer to copy to. - The number of array elements to copy. - - and are not valid. - - , , , or is . - - - Copies data from a one-dimensional, managed character array to an unmanaged memory pointer. - The one-dimensional array to copy from. - The zero-based index in the source array where copying should start. - The memory pointer to copy to. - The number of array elements to copy. - - and are not valid. - - , , or is . - - - Copies data from a one-dimensional, managed double-precision floating-point number array to an unmanaged memory pointer. - The one-dimensional array to copy from. - The zero-based index in the source array where copying should start. - The memory pointer to copy to. - The number of array elements to copy. - - and are not valid. - - , , , or is . - - - Copies data from a one-dimensional, managed 16-bit signed integer array to an unmanaged memory pointer. - The one-dimensional array to copy from. - The zero-based index in the source array where copying should start. - The memory pointer to copy to. - The number of array elements to copy. - - and are not valid. - - , , , or is . - - - Copies data from a one-dimensional, managed 32-bit signed integer array to an unmanaged memory pointer. - The one-dimensional array to copy from. - The zero-based index in the source array where copying should start. - The memory pointer to copy to. - The number of array elements to copy. - - and are not valid. - - or is . - - - Copies data from a one-dimensional, managed 64-bit signed integer array to an unmanaged memory pointer. - The one-dimensional array to copy from. - The zero-based index in the source array where copying should start. - The memory pointer to copy to. - The number of array elements to copy. - - and are not valid. - - , , , or is . - - - Copies data from an unmanaged memory pointer to a managed 8-bit unsigned integer array. - The memory pointer to copy from. - The array to copy to. - The zero-based index in the destination array where copying should start. - The number of array elements to copy. - - , , , or is . - - - Copies data from an unmanaged memory pointer to a managed character array. - The memory pointer to copy from. - The array to copy to. - The zero-based index in the destination array where copying should start. - The number of array elements to copy. - - , , , or is . - - - Copies data from an unmanaged memory pointer to a managed double-precision floating-point number array. - The memory pointer to copy from. - The array to copy to. - The zero-based index in the destination array where copying should start. - The number of array elements to copy. - - , , , or is . - - - Copies data from an unmanaged memory pointer to a managed 16-bit signed integer array. - The memory pointer to copy from. - The array to copy to. - The zero-based index in the destination array where copying should start. - The number of array elements to copy. - - , , , or is . - - - Copies data from an unmanaged memory pointer to a managed 32-bit signed integer array. - The memory pointer to copy from. - The array to copy to. - The zero-based index in the destination array where copying should start. - The number of array elements to copy. - - , , , or is . - - - Copies data from an unmanaged memory pointer to a managed 64-bit signed integer array. - The memory pointer to copy from. - The array to copy to. - The zero-based index in the destination array where copying should start. - The number of array elements to copy. - - , , , or is . - - - Copies data from an unmanaged memory pointer to a managed array. - The memory pointer to copy from. - The array to copy to. - The zero-based index in the destination array where copying should start. - The number of array elements to copy. - - , , , or is . - - - Copies data from an unmanaged memory pointer to a managed single-precision floating-point number array. - The memory pointer to copy from. - The array to copy to. - The zero-based index in the destination array where copying should start. - The number of array elements to copy. - - , , , or is . - - - Copies data from a one-dimensional, managed array to an unmanaged memory pointer. - The one-dimensional array to copy from. - The zero-based index in the source array where copying should start. - The memory pointer to copy to. - The number of array elements to copy. - - , , , or is . - - - Copies data from a one-dimensional, managed single-precision floating-point number array to an unmanaged memory pointer. - The one-dimensional array to copy from. - The zero-based index in the source array where copying should start. - The memory pointer to copy to. - The number of array elements to copy. - - and are not valid. - - , , , or is . - - - Aggregates a managed object with the specified COM object. - The outer pointer. - An object to aggregate. - The inner pointer of the managed object. - - is a Windows Runtime object. - - - [Supported in the .NET Framework 4.5.1 and later versions] Aggregates a managed object of the specified type with the specified COM object. - The outer IUnknown pointer. - The managed object to aggregate. - The type of the managed object to aggregate. - The inner IUnknown pointer of the managed object. - - is a Windows Runtime object. - - - Wraps the specified COM object in an object of the specified type. - The object to be wrapped. - The type of wrapper to create. - The newly wrapped object that is an instance of the desired type. - - must derive from .-or- - is a Windows Runtime type. - The parameter is . - - cannot be converted to the destination type because it does not support all required interfaces. - - - [Supported in the .NET Framework 4.5.1 and later versions] Wraps the specified COM object in an object of the specified type. - The object to be wrapped. - The type of object to wrap. - The type of object to return. - The newly wrapped object. - - must derive from . -or- - is a Windows Runtime type. - - cannot be converted to the because it does not support all required interfaces. - - - Frees all substructures that the specified unmanaged memory block points to. - A pointer to an unmanaged block of memory. - Type of a formatted class. This provides the layout information necessary to delete the buffer in the parameter. - - has an automatic layout. Use sequential or explicit instead. - - - [Supported in the .NET Framework 4.5.1 and later versions] Frees all substructures of a specified type that the specified unmanaged memory block points to. - A pointer to an unmanaged block of memory. - The type of the formatted structure. This provides the layout information necessary to delete the buffer in the parameter. - - has an automatic layout. Use sequential or explicit instead. - - - Releases all references to a Runtime Callable Wrapper (RCW) by setting its reference count to 0. - The RCW to be released. - The new value of the reference count of the RCW associated with the parameter, which is 0 (zero) if the release is successful. - - is not a valid COM object. - - is . - - - Frees a using the COM SysFreeString function. - The address of the BSTR to be freed. - - - Frees a block of memory allocated by the unmanaged COM task memory allocator. - The address of the memory to be freed. - - - Frees memory previously allocated from the unmanaged memory of the process. - The handle returned by the original matching call to . - - - Returns the globally unique identifier (GUID) for the specified type, or generates a GUID using the algorithm used by the Type Library Exporter (Tlbexp.exe). - The type to generate a GUID for. - An identifier for the specified type. - - - Returns a programmatic identifier (ProgID) for the specified type. - The type to get a ProgID for. - The ProgID of the specified type. - The parameter is not a class that can be create by COM. The class must be public, have a public default constructor, and be COM visible. - The parameter is . - - - Obtains a running instance of the specified object from the running object table (ROT). - The programmatic identifier (ProgID) of the object that was requested. - The object that was requested; otherwise . You can cast this object to any COM interface that it supports. - The object was not found. - - - Returns a pointer to an IUnknown interface that represents the specified interface on the specified object. Custom query interface access is enabled by default. - The object that provides the interface. - The type of interface that is requested. - The interface pointer that represents the specified interface for the object. - The parameter is not an interface.-or-The type is not visible to COM. -or-The parameter is a generic type. - The parameter does not support the requested interface. - The parameter is .-or- The parameter is . - - - Returns a pointer to an IUnknown interface that represents the specified interface on the specified object. Custom query interface access is controlled by the specified customization mode. - The object that provides the interface. - The type of interface that is requested. - One of the enumeration values that indicates whether to apply an customization that is supplied by an . - The interface pointer that represents the interface for the object. - The parameter is not an interface.-or- The type is not visible to COM.-or-The parameter is a generic type. - The object does not support the requested interface. - The parameter is .-or- The parameter is . - - - [Supported in the .NET Framework 4.5.1 and later versions] Returns a pointer to an IUnknown interface that represents the specified interface on an object of the specified type. Custom query interface access is enabled by default. - The object that provides the interface. - The type of . - The type of interface to return. - The interface pointer that represents the interface. - The parameter is not an interface.-or- The type is not visible to COM. -or-The parameter is an open generic type. - The parameter does not support the interface. - The parameter is . - - - Returns an interface pointer that represents the specified interface for an object, if the caller is in the same context as that object. - The object that provides the interface. - The type of interface that is requested. - The interface pointer specified by that represents the interface for the specified object, or if the caller is not in the same context as the object. - - is not an interface.-or- The type is not visible to COM. - - does not support the requested interface. - - is .-or- - is . - - - Retrieves data that is referenced by the specified key from the specified COM object. - The COM object that contains the data that you want. - The key in the internal hash table of to retrieve the data from. - The data represented by the parameter in the internal hash table of the parameter. - - is .-or- - is . - - is not a COM object.-or- - is a Windows Runtime object. - - - Retrieves the virtual function table (v-table or VTBL) slot for a specified type when that type is exposed to COM. - An object that represents an interface method. - The VTBL slot identifier when it is exposed to COM. - The parameter is . - The parameter is not a object.-or-The parameter is not an interface method. - - - Converts an unmanaged function pointer to a delegate. - The unmanaged function pointer to be converted. - The type of the delegate to be returned. - A delegate instance that can be cast to the appropriate delegate type. - The parameter is not a delegate or is generic. - The parameter is .-or-The parameter is . - - - [Supported in the .NET Framework 4.5.1 and later versions] Converts an unmanaged function pointer to a delegate of a specified type. - The unmanaged function pointer to convert. - The type of the delegate to return. - A instance of the specified delegate type. - The generic parameter is not a delegate, or it is an open generic type. - The parameter is . - - - Retrieves the last slot in the virtual function table (v-table or VTBL) of a type when exposed to COM. - A type that represents an interface or class. - The last VTBL slot of the interface when exposed to COM. If the parameter is a class, the returned VTBL slot is the last slot in the interface that is generated from the class. - - - Retrieves a code that identifies the type of the exception that occurred. - The type of the exception. - - - Converts the specified HRESULT error code to a corresponding object. - The HRESULT to be converted. - An object that represents the converted HRESULT. - - - Converts the specified HRESULT error code to a corresponding object, with additional error information passed in an IErrorInfo interface for the exception object. - The HRESULT to be converted. - A pointer to the interface that provides more information about the error. You can specify IntPtr(0) to use the current interface, or IntPtr(-1) to ignore the current interface and construct the exception just from the error code. - An object that represents the converted HRESULT and information obtained from . - - - Retrieves a computer-independent description of an exception, and information about the state that existed for the thread when the exception occurred. - A pointer to an EXCEPTION_POINTERS structure. - - - Converts a delegate into a function pointer that is callable from unmanaged code. - The delegate to be passed to unmanaged code. - A value that can be passed to unmanaged code, which, in turn, can use it to call the underlying managed delegate. - The parameter is a generic type. - The parameter is . - - - [Supported in the .NET Framework 4.5.1 and later versions] Converts a delegate of a specified type to a function pointer that is callable from unmanaged code. - The delegate to be passed to unmanaged code. - The type of delegate to convert. - A value that can be passed to unmanaged code, which, in turn, can use it to call the underlying managed delegate. - The parameter is . - - - Returns the instance handle (HINSTANCE) for the specified module. - The module whose HINSTANCE is desired. - The HINSTANCE for ; or -1 if the module does not have an HINSTANCE. - The parameter is . - - - Converts the specified exception to an HRESULT. - The exception to convert to an HRESULT. - The HRESULT mapped to the supplied exception. - - - Returns the HRESULT corresponding to the last error incurred by Win32 code executed using . - The HRESULT corresponding to the last Win32 error code. - - - Returns an IDispatch interface from a managed object. - The object whose interface is requested. - The pointer for the parameter. - - does not support the requested interface. - - - Returns an IDispatch interface pointer from a managed object, if the caller is in the same context as that object. - The object whose interface is requested. - The interface pointer for the specified object, or if the caller is not in the same context as the specified object. - - does not support the requested interface. - - is . - - - Returns a interface from a managed type. - The type whose interface is being requested. - A pointer to the interface for the parameter. - - is not a visible type to COM.-or- - is a Windows Runtime type. - A type library is registered for the assembly that contains the type, but the type definition cannot be found. - - - Returns an IUnknown interface from a managed object. - The object whose interface is requested. - The pointer for the parameter. - - - Returns an IUnknown interface from a managed object, if the caller is in the same context as that object. - The object whose interface is requested. - The pointer for the specified object, or if the caller is not in the same context as the specified object. - - - Returns the error code returned by the last unmanaged function that was called using platform invoke that has the flag set. - The last error code set by a call to the Win32 SetLastError function. - - - Gets a pointer to a runtime-generated function that marshals a call from managed to unmanaged code. - A pointer to the method to marshal. - A pointer to the method signature. - The number of bytes in . - A pointer to the function that will marshal a call from the parameter to unmanaged code. - - - Retrieves a object for the specified virtual function table (v-table or VTBL) slot. - The type for which the is to be retrieved. - The VTBL slot. - On successful return, one of the enumeration values that specifies the type of the member. - The object that represents the member at the specified VTBL slot. - - is not visible from COM. - - - Converts an object to a COM VARIANT. - The object for which to get a COM VARIANT. - A pointer to receive the VARIANT that corresponds to the parameter. - The parameter is a generic type. - - - [Supported in the .NET Framework 4.5.1 and later versions] Converts an object of a specified type to a COM VARIANT. - The object for which to get a COM VARIANT. - A pointer to receive the VARIANT that corresponds to the parameter. - The type of the object to convert. - - - Returns an instance of a type that represents a COM object by a pointer to its IUnknown interface. - A pointer to the interface. - An object that represents the specified unmanaged COM object. - - - Converts a COM VARIANT to an object. - A pointer to a COM VARIANT. - An object that corresponds to the parameter. - - is not a valid VARIANT type. - - has an unsupported type. - - - [Supported in the .NET Framework 4.5.1 and later versions] Converts a COM VARIANT to an object of a specified type. - A pointer to a COM VARIANT. - The type to which to convert the COM VARIANT. - An object of the specified type that corresponds to the parameter. - - is not a valid VARIANT type. - - has an unsupported type. - - - Converts an array of COM VARIANTs to an array of objects. - A pointer to the first element of an array of COM VARIANTs. - The count of COM VARIANTs in . - An object array that corresponds to . - - is a negative number. - - - [Supported in the .NET Framework 4.5.1 and later versions] Converts an array of COM VARIANTs to an array of a specified type. - A pointer to the first element of an array of COM VARIANTs. - The count of COM VARIANTs in . - The type of the array to return. - An array of objects that corresponds to . - - is a negative number. - - - Gets the first slot in the virtual function table (v-table or VTBL) that contains user-defined methods. - A type that represents an interface. - The first VTBL slot that contains user-defined methods. The first slot is 3 if the interface is based on IUnknown, and 7 if the interface is based on IDispatch. - - is not visible from COM. - - - Converts a fiber cookie into the corresponding instance. - An integer that represents a fiber cookie. - A thread that corresponds to the parameter. - The parameter is 0. - - - Returns a managed object of a specified type that represents a COM object. - A pointer to the interface of the unmanaged object. - The type of the requested managed class. - An instance of the class corresponding to the object that represents the requested unmanaged COM object. - - is not attributed with .-or- - is a Windows Runtime type. - - - Converts an unmanaged ITypeInfo object into a managed object. - The interface to marshal. - A managed type that represents the unmanaged object. - - - Returns the type associated with the specified class identifier (CLSID). - The CLSID of the type to return. - - regardless of whether the CLSID is valid. - - - Retrieves the name of the type represented by an ITypeInfo object. - An object that represents an pointer. - The name of the type that the parameter points to. - The parameter is . - - - Retrieves the name of the type represented by an ITypeInfo object. - An object that represents an pointer. - The name of the type that the parameter points to. - - - Retrieves the library identifier (LIBID) of a type library. - The type library whose LIBID is to be retrieved. - The LIBID of the specified type library. - - - Retrieves the library identifier (LIBID) of a type library. - The type library whose LIBID is to be retrieved. - The LIBID of the type library that the parameter points to. - - - Retrieves the library identifier (LIBID) that is assigned to a type library when it was exported from the specified assembly. - The assembly from which the type library was exported. - The LIBID that is assigned to a type library when it is exported from the specified assembly. - - is . - - - Retrieves the LCID of a type library. - The type library whose LCID is to be retrieved. - The LCID of the type library that the parameter points to. - - - Retrieves the LCID of a type library. - The type library whose LCID is to be retrieved. - The LCID of the type library that the parameter points to. - - - Retrieves the name of a type library. - The type library whose name is to be retrieved. - The name of the type library that the parameter points to. - The parameter is . - - - Retrieves the name of a type library. - The type library whose name is to be retrieved. - The name of the type library that the parameter points to. - - - Retrieves the version number of a type library that will be exported from the specified assembly. - A managed assembly. - The major version number. - The minor version number. - - is . - - - Creates a unique Runtime Callable Wrapper (RCW) object for a given IUnknown interface. - A managed pointer to an interface. - A unique RCW for the specified interface. - - - Gets a pointer to a runtime-generated function that marshals a call from unmanaged to managed code. - A pointer to the method to marshal. - A pointer to the method signature. - The number of bytes in . - A pointer to a function that will marshal a call from to managed code. - - - Indicates whether a specified object represents a COM object. - The object to check. - - if the parameter is a COM type; otherwise, . - - is . - - - Indicates whether a type is visible to COM clients. - The type to check for COM visibility. - - if the type is visible to COM; otherwise, . - - - Calculates the number of bytes in unmanaged memory that are required to hold the parameters for the specified method. - The method to be checked. - The number of bytes required to represent the method parameters in unmanaged memory. - The parameter is . - The parameter is not a object. - - - Returns the field offset of the unmanaged form of the managed class. - A value type or formatted reference type that specifies the managed class. You must apply the to the class. - The field within the parameter. - The offset, in bytes, for the parameter within the specified class that is declared by platform invoke. - The class cannot be exported as a structure or the field is nonpublic. Beginning with the .NET Framework version 2.0, the field may be private. - The parameter is . - - - [Supported in the .NET Framework 4.5.1 and later versions] Returns the field offset of the unmanaged form of a specified managed class. - The name of the field in the type. - A managed value type or formatted reference type. You must apply the attribute to the class. - The offset, in bytes, for the parameter within the specified class that is declared by platform invoke. - - - Executes one-time method setup tasks without calling the method. - The method to be checked. - The parameter is . - The parameter is not a object. - - - Performs a pre-link check for all methods on a class. - The class whose methods are to be checked. - The parameter is . - - - Copies all characters up to the first null character from an unmanaged ANSI string to a managed , and widens each ANSI character to Unicode. - The address of the first character of the unmanaged string. - A managed string that holds a copy of the unmanaged ANSI string. If is , the method returns a null string. - - - Allocates a managed , copies a specified number of characters from an unmanaged ANSI string into it, and widens each ANSI character to Unicode. - The address of the first character of the unmanaged string. - The byte count of the input string to copy. - A managed string that holds a copy of the native ANSI string if the value of the parameter is not ; otherwise, this method returns . - - is less than zero. - - - Allocates a managed and copies all characters up to the first null character from a string stored in unmanaged memory into it. - For Unicode platforms, the address of the first Unicode character.-or- For ANSI plaforms, the address of the first ANSI character. - A managed string that holds a copy of the unmanaged string if the value of the parameter is not ; otherwise, this method returns . - - - Allocates a managed and copies the specified number of characters from a string stored in unmanaged memory into it. - For Unicode platforms, the address of the first Unicode character.-or- For ANSI plaforms, the address of the first ANSI character. - The number of characters to copy. - A managed string that holds a copy of the native string if the value of the parameter is not ; otherwise, this method returns . - - is less than zero. - - - Allocates a managed and copies a binary string (BSTR) stored in unmanaged memory into it. - The address of the first character of the unmanaged string. - A managed string that holds a copy of the unmanaged string. - - equals . - - - Allocates a managed and copies all characters up to the first null character from an unmanaged Unicode string into it. - The address of the first character of the unmanaged string. - A managed string that holds a copy of the unmanaged string if the value of the parameter is not ; otherwise, this method returns . - - - Allocates a managed and copies a specified number of characters from an unmanaged Unicode string into it. - The address of the first character of the unmanaged string. - The number of Unicode characters to copy. - A managed string that holds a copy of the unmanaged string if the value of the parameter is not ; otherwise, this method returns . - - - Marshals data from an unmanaged block of memory to a managed object. - A pointer to an unmanaged block of memory. - The object to which the data is to be copied. This must be an instance of a formatted class. - Structure layout is not sequential or explicit.-or- Structure is a boxed value type. - - - Marshals data from an unmanaged block of memory to a newly allocated managed object of the specified type. - A pointer to an unmanaged block of memory. - The type of object to be created. This object must represent a formatted class or a structure. - A managed object containing the data pointed to by the parameter. - The parameter layout is not sequential or explicit.-or-The parameter is a generic type. - - is . - - The class specified by does not have an accessible default constructor. - - - [Supported in the .NET Framework 4.5.1 and later versions] Marshals data from an unmanaged block of memory to a newly allocated managed object of the type specified by a generic type parameter. - A pointer to an unmanaged block of memory. - The type of the object to which the data is to be copied. This must be a formatted class or a structure. - A managed object that contains the data that the parameter points to. - The layout of is not sequential or explicit. - The class specified by does not have an accessible default constructor. - - - [Supported in the .NET Framework 4.5.1 and later versions] Marshals data from an unmanaged block of memory to a managed object of the specified type. - A pointer to an unmanaged block of memory. - The object to which the data is to be copied. - The type of . This must be a formatted class. - Structure layout is not sequential or explicit. - - - Requests a pointer to a specified interface from a COM object. - The interface to be queried. - The interface identifier (IID) of the requested interface. - When this method returns, contains a reference to the returned interface. - An HRESULT that indicates the success or failure of the call. - - - Reads a single byte from unmanaged memory. - The address in unmanaged memory from which to read. - The byte read from unmanaged memory. - - is not a recognized format.-or- - is . -or- - is invalid. - - - Reads a single byte at a given offset (or index) from unmanaged memory. - The base address in unmanaged memory from which to read. - An additional byte offset, which is added to the parameter before reading. - The byte read from unmanaged memory at the given offset. - Base address () plus offset byte () produces a null or invalid address. - - - Reads a single byte at a given offset (or index) from unmanaged memory. - The base address in unmanaged memory of the source object. - An additional byte offset, which is added to the parameter before reading. - The byte read from unmanaged memory at the given offset. - Base address () plus offset byte () produces a null or invalid address. - - is an object. This method does not accept parameters. - - - Reads a 16-bit signed integer from unmanaged memory. - The address in unmanaged memory from which to read. - The 16-bit signed integer read from unmanaged memory. - - is not a recognized format.-or- - is .-or- - is invalid. - - - Reads a 16-bit signed integer at a given offset from unmanaged memory. - The base address in unmanaged memory from which to read. - An additional byte offset, which is added to the parameter before reading. - The 16-bit signed integer read from unmanaged memory at the given offset. - Base address () plus offset byte () produces a null or invalid address. - - - Reads a 16-bit signed integer at a given offset from unmanaged memory. - The base address in unmanaged memory of the source object. - An additional byte offset, which is added to the parameter before reading. - The 16-bit signed integer read from unmanaged memory at the given offset. - Base address () plus offset byte () produces a null or invalid address. - - is an object. This method does not accept parameters. - - - Reads a 32-bit signed integer from unmanaged memory. - The address in unmanaged memory from which to read. - The 32-bit signed integer read from unmanaged memory. - - is not a recognized format.-or- - is .-or- - is invalid. - - - Reads a 32-bit signed integer at a given offset from unmanaged memory. - The base address in unmanaged memory from which to read. - An additional byte offset, which is added to the parameter before reading. - The 32-bit signed integer read from unmanaged memory. - Base address () plus offset byte () produces a null or invalid address. - - - Reads a 32-bit signed integer at a given offset from unmanaged memory. - The base address in unmanaged memory of the source object. - An additional byte offset, which is added to the parameter before reading. - The 32-bit signed integer read from unmanaged memory at the given offset. - Base address () plus offset byte () produces a null or invalid address. - - is an object. This method does not accept parameters. - - - Reads a 64-bit signed integer from unmanaged memory. - The address in unmanaged memory from which to read. - The 64-bit signed integer read from unmanaged memory. - - is not a recognized format.-or- - is .-or- - is invalid. - - - Reads a 64-bit signed integer at a given offset from unmanaged memory. - The base address in unmanaged memory from which to read. - An additional byte offset, which is added to the parameter before reading. - The 64-bit signed integer read from unmanaged memory at the given offset. - Base address () plus offset byte () produces a null or invalid address. - - - Reads a 64-bit signed integer at a given offset from unmanaged memory. - The base address in unmanaged memory of the source object. - An additional byte offset, which is added to the parameter before reading. - The 64-bit signed integer read from unmanaged memory at the given offset. - Base address () plus offset byte () produces a null or invalid address. - - is an object. This method does not accept parameters. - - - Reads a processor native-sized integer from unmanaged memory. - The address in unmanaged memory from which to read. - The integer read from unmanaged memory. A 32 bit integer is returned on 32 bit machines and a 64 bit integer is returned on 64 bit machines. - - is not a recognized format.-or- - is . -or- - is invalid. - - - Reads a processor native sized integer at a given offset from unmanaged memory. - The base address in unmanaged memory from which to read. - An additional byte offset, which is added to the parameter before reading. - The integer read from unmanaged memory at the given offset. - Base address () plus offset byte () produces a null or invalid address. - - - Reads a processor native sized integer from unmanaged memory. - The base address in unmanaged memory of the source object. - An additional byte offset, which is added to the parameter before reading. - The integer read from unmanaged memory at the given offset. - Base address () plus offset byte () produces a null or invalid address. - - is an object. This method does not accept parameters. - - - Resizes a block of memory previously allocated with . - A pointer to memory allocated with . - The new size of the allocated block. - An integer representing the address of the reallocated block of memory. This memory must be released with . - There is insufficient memory to satisfy the request. - - - Resizes a block of memory previously allocated with . - A pointer to memory allocated with . - The new size of the allocated block. This is not a pointer; it is the byte count you are requesting, cast to type . If you pass a pointer, it is treated as a size. - A pointer to the reallocated memory. This memory must be released using . - There is insufficient memory to satisfy the request. - - - Decrements the reference count on the specified interface. - The interface to release. - The new value of the reference count on the interface specified by the parameter. - - - Decrements the reference count of the Runtime Callable Wrapper (RCW) associated with the specified COM object. - The COM object to release. - The new value of the reference count of the RCW associated with . This value is typically zero since the RCW keeps just one reference to the wrapped COM object regardless of the number of managed clients calling it. - - is not a valid COM object. - - is . - - - Releases the thread cache. - - - Allocates an unmanaged binary string (BSTR) and copies the contents of a managed object into it. - The managed object to copy. - The address, in unmanaged memory, where the parameter was copied to, or 0 if a null object was supplied. - The parameter is . - The current computer is not running Windows 2000 Service Pack 3 or later. - There is insufficient memory available. - - - Copies the contents of a managed object to a block of memory allocated from the unmanaged COM task allocator. - The managed object to copy. - The address, in unmanaged memory, where the parameter was copied to, or 0 if a null object was supplied. - The parameter is . - The current computer is not running Windows 2000 Service Pack 3 or later. - There is insufficient memory available. - - - Copies the contents of a managed object to a block of memory allocated from the unmanaged COM task allocator. - The managed object to copy. - The address, in unmanaged memory, where the parameter was copied to, or 0 if a null object was supplied. - The parameter is . - The current computer is not running Windows 2000 Service Pack 3 or later. - There is insufficient memory available. - - - Copies the contents of a managed into unmanaged memory, converting into ANSI format as it copies. - The managed object to copy. - The address, in unmanaged memory, to where the parameter was copied, or 0 if a null object was supplied. - The parameter is . - The current computer is not running Windows 2000 Service Pack 3 or later. - There is insufficient memory available. - - - Copies the contents of a managed object into unmanaged memory. - The managed object to copy. - The address, in unmanaged memory, where was copied, or 0 if is a object whose length is 0. - The parameter is . - The current computer is not running Windows 2000 Service Pack 3 or later. - There is insufficient memory available. - - - Sets data referenced by the specified key in the specified COM object. - The COM object in which to store the data. - The key in the internal hash table of the COM object in which to store the data. - The data to set. - - if the data was set successfully; otherwise, . - - is .-or- - is . - - is not a COM object.-or- - is a Windows Runtime object. - - - Returns the unmanaged size of an object in bytes. - The object whose size is to be returned. - The size of the specified object in unmanaged code. - The parameter is . - - - Returns the size of an unmanaged type in bytes. - The type whose size is to be returned. - The size of the specified type in unmanaged code. - The parameter is a generic type. - The parameter is . - - - [Supported in the .NET Framework 4.5.1 and later versions] Returns the size of an unmanaged type in bytes. - The type whose size is to be returned. - The size, in bytes, of the type that is specified by the generic type parameter. - - - [Supported in the .NET Framework 4.5.1 and later versions] Returns the unmanaged size of an object of a specified type in bytes. - The object whose size is to be returned. - The type of the parameter. - The size, in bytes, of the specified object in unmanaged code. - The parameter is . - - - Allocates a BSTR and copies the contents of a managed into it. - The managed string to be copied. - An unmanaged pointer to the , or 0 if is null. - There is insufficient memory available. - The length for is out of range. - - - Copies the contents of a managed to a block of memory allocated from the unmanaged COM task allocator. - A managed string to be copied. - An integer representing a pointer to the block of memory allocated for the string, or 0 if is . - There is insufficient memory available. - The parameter exceeds the maximum length allowed by the operating system. - - - Copies the contents of a managed to a block of memory allocated from the unmanaged COM task allocator. - A managed string to be copied. - The allocated memory block, or 0 if is . - There is insufficient memory available. - The length for is out of range. - - - Copies the contents of a managed to a block of memory allocated from the unmanaged COM task allocator. - A managed string to be copied. - An integer representing a pointer to the block of memory allocated for the string, or 0 if s is . - The parameter exceeds the maximum length allowed by the operating system. - There is insufficient memory available. - - - Copies the contents of a managed into unmanaged memory, converting into ANSI format as it copies. - A managed string to be copied. - The address, in unmanaged memory, to where was copied, or 0 if is . - There is insufficient memory available. - The parameter exceeds the maximum length allowed by the operating system. - - - Copies the contents of a managed into unmanaged memory, converting into ANSI format if required. - A managed string to be copied. - The address, in unmanaged memory, to where the string was copied, or 0 if is . - There is insufficient memory available. - - - Copies the contents of a managed into unmanaged memory. - A managed string to be copied. - The address, in unmanaged memory, to where the was copied, or 0 if is . - The method could not allocate enough native heap memory. - The parameter exceeds the maximum length allowed by the operating system. - - - Marshals data from a managed object to an unmanaged block of memory. - A managed object that holds the data to be marshaled. This object must be a structure or an instance of a formatted class. - A pointer to an unmanaged block of memory, which must be allocated before this method is called. - - to call the method on the parameter before this method copies the data. The block must contain valid data. Note that passing when the memory block already contains data can lead to a memory leak. - - is a reference type that is not a formatted class.-or- - is a generic type. - - - [Supported in the .NET Framework 4.5.1 and later versions] Marshals data from a managed object of a specified type to an unmanaged block of memory. - A managed object that holds the data to be marshaled. The object must be a structure or an instance of a formatted class. - A pointer to an unmanaged block of memory, which must be allocated before this method is called. - - to call the method on the parameter before this method copies the data. The block must contain valid data. Note that passing when the memory block already contains data can lead to a memory leak. - The type of the managed object. - - is a reference type that is not a formatted class. - - - Throws an exception with a specific failure HRESULT value. - The HRESULT corresponding to the desired exception. - - - Throws an exception with a specific failure HRESULT, based on the specified IErrorInfo interface. - The HRESULT corresponding to the desired exception. - - A pointer to the IErrorInfo interface that provides more information about the error. You can specify IntPtr(0) to use the current IErrorInfo interface, or IntPtr(-1) to ignore the current IErrorInfo interface and construct the exception just from the error code. - - - Gets the address of the element at the specified index inside the specified array. - The array that contains the desired element. - The index in the parameter of the desired element. - The address of inside . - - - [Supported in the .NET Framework 4.5.1 and later versions] Gets the address of the element at the specified index in an array of a specified type. - The array that contains the desired element. - The index of the desired element in the array. - The type of the array. - The address of in . - - - Writes a single byte value to unmanaged memory. - The address in unmanaged memory to write to. - The value to write. - - is not a recognized format.-or- - is .-or- - is invalid. - - - Writes a single byte value to unmanaged memory at a specified offset. - The base address in unmanaged memory to write to. - An additional byte offset, which is added to the parameter before writing. - The value to write. - Base address () plus offset byte () produces a null or invalid address. - - - Writes a single byte value to unmanaged memory at a specified offset. - The base address in unmanaged memory of the target object. - An additional byte offset, which is added to the parameter before writing. - The value to write. - Base address () plus offset byte () produces a null or invalid address. - - is an object. This method does not accept parameters. - - - Writes a character as a 16-bit integer value to unmanaged memory. - The address in unmanaged memory to write to. - The value to write. - - is not a recognized format.-or- - is .-or- - is invalid. - - - Writes a 16-bit integer value to unmanaged memory. - The address in unmanaged memory to write to. - The value to write. - - is not a recognized format.-or- - is .-or- - is invalid. - - - Writes a 16-bit signed integer value to unmanaged memory at a specified offset. - The base address in the native heap to write to. - An additional byte offset, which is added to the parameter before writing. - The value to write. - Base address () plus offset byte () produces a null or invalid address. - - - Writes a 16-bit signed integer value into unmanaged memory at a specified offset. - The base address in unmanaged memory to write to. - An additional byte offset, which is added to the parameter before writing. - The value to write. - Base address () plus offset byte () produces a null or invalid address. - - - Writes a 16-bit signed integer value to unmanaged memory at a specified offset. - The base address in unmanaged memory of the target object. - An additional byte offset, which is added to the parameter before writing. - The value to write. - Base address () plus offset byte () produces a null or invalid address. - - is an object. This method does not accept parameters. - - - Writes a 16-bit signed integer value to unmanaged memory at a specified offset. - The base address in unmanaged memory of the target object. - An additional byte offset, which is added to the parameter before writing. - The value to write. - Base address () plus offset byte () produces a null or invalid address. - - is an object. This method does not accept parameters. - - - Writes a 32-bit signed integer value to unmanaged memory. - The address in unmanaged memory to write to. - The value to write. - - is not a recognized format.-or- - is . -or- - is invalid. - - - Writes a 32-bit signed integer value into unmanaged memory at a specified offset. - The base address in unmanaged memory to write to. - An additional byte offset, which is added to the parameter before writing. - The value to write. - Base address () plus offset byte () produces a null or invalid address. - - - Writes a 32-bit signed integer value to unmanaged memory at a specified offset. - The base address in unmanaged memory of the target object. - An additional byte offset, which is added to the parameter before writing. - The value to write. - Base address () plus offset byte () produces a null or invalid address. - - is an object. This method does not accept parameters. - - - Writes a 64-bit signed integer value to unmanaged memory at a specified offset. - The base address in unmanaged memory to write. - An additional byte offset, which is added to the parameter before writing. - The value to write. - Base address () plus offset byte () produces a null or invalid address. - - - Writes a 64-bit signed integer value to unmanaged memory. - The address in unmanaged memory to write to. - The value to write. - - is not a recognized format.-or- - is .-or- - is invalid. - - - Writes a 64-bit signed integer value to unmanaged memory at a specified offset. - The base address in unmanaged memory of the target object. - An additional byte offset, which is added to the parameter before writing. - The value to write. - Base address () plus offset byte () produces a null or invalid address. - - is an object. This method does not accept parameters. - - - Writes a processor native-sized integer value to unmanaged memory at a specified offset. - The base address in unmanaged memory to write to. - An additional byte offset, which is added to the parameter before writing. - The value to write. - Base address () plus offset byte () produces a null or invalid address. - - - Writes a processor native sized integer value into unmanaged memory. - The address in unmanaged memory to write to. - The value to write. - - is not a recognized format.-or- - is .-or- - is invalid. - - - Writes a processor native sized integer value to unmanaged memory. - The base address in unmanaged memory of the target object. - An additional byte offset, which is added to the parameter before writing. - The value to write. - Base address () plus offset byte () produces a null or invalid address. - - is an object. This method does not accept parameters. - - - Frees a BSTR pointer that was allocated using the method. - The address of the to free. - - - Frees an unmanaged string pointer that was allocated using the method. - The address of the unmanaged string to free. - - - Frees an unmanaged string pointer that was allocated using the method. - The address of the unmanaged string to free. - - - Frees an unmanaged string pointer that was allocated using the method. - The address of the unmanaged string to free. - - - Frees an unmanaged string pointer that was allocated using the method. - The address of the unmanaged string to free. - - - Initializes a new instance of the class with the specified value. - The value the data is to be marshaled as. - - - Initializes a new instance of the class with the specified enumeration member. - The value the data is to be marshaled as. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class from serialization data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - is . - - - Initializes a new instance of the class with a specified error message. - The error message that specifies the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with default values. - - - Creates a new instance. - The name of the platform that this instance represents. - An object that represents the operating system. - - is an empty string. - - is . - - - Determines whether the current instance is equal to the specified object. - - if is a instance and its name is the same as the current object; otherwise, . - - if is a instance and its name is the same as the current object. - - - Determines whether the current instance and the specified instance are equal. - The object to compare with the current instance. - - if the current instance and are equal; otherwise, . - - - Returns the hash code for this instance. - The hash code for this instance. - - - Determines whether two objects are equal. - The first object to compare. - The second object to compare. - - if and are equal; otherwise, . - - - Determines whether two instances are unequal. - The first object to compare. - The second object to compare. - - if and are unequal; otherwise, . - - - Returns the string representation of this instance. - A string that represents this instance. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the major and minor version numbers of the type library for which this assembly is the primary interop assembly. - The major version of the type library for which this assembly is the primary interop assembly. - The minor version of the type library for which this assembly is the primary interop assembly. - - - Initializes a new instance of the with the specified ProgID. - The ProgID to be assigned to the class. - - - Initializes a new instance of the class. - - - Returns the GUID of the COM category that contains the managed classes. - The GUID of the COM category that contains the managed classes. - - - Retrieves the COM ProgID for the specified type. - The type corresponding to the ProgID that is being requested. - The ProgID for the specified type. - - - Retrieves a list of classes in an assembly that would be registered by a call to . - The assembly to search for classes. - A array containing a list of classes in . - The parameter is . - - - Registers the classes in a managed assembly to enable creation from COM. - The assembly to be registered. - An value indicating any special settings used when registering . - - if contains types that were successfully registered; otherwise if the assembly contains no eligible types. - - is . - The full name of is .-or- A method marked with is not .-or- There is more than one method marked with at a given level of the hierarchy.-or- The signature of the method marked with is not valid. - A user-defined custom registration function (marked with the attribute) throws an exception. - - - Registers the specified type with COM using the specified GUID. - The to be registered for use from COM. - The used to register the specified type. - The parameter is . - The parameter cannot be created. - - - Registers the specified type with COM using the specified execution context and connection type. - The object to register for use from COM. - One of the values that indicates the context in which the executable code will be run. - One of the values that specifies how connections are made to the class object. - An integer that represents a cookie value. - The parameter is . - The parameter cannot be created. - - - Indicates whether a type is marked with the , or derives from a type marked with the and shares the same GUID as the parent. - The type to check for being a COM type. - - if a type is marked with the , or derives from a type marked with the and shares the same GUID as the parent; otherwise . - - - Determines whether the specified type requires registration. - The type to check for COM registration requirements. - - if the type must be registered for use from COM; otherwise . - - - Unregisters the classes in a managed assembly. - The assembly to be unregistered. - - if contains types that were successfully unregistered; otherwise if the assembly contains no eligible types. - - is . - The full name of is .-or- A method marked with is not .-or- There is more than one method marked with at a given level of the hierarchy.-or- The signature of the method marked with is not valid. - A user-defined custom unregistration function (marked with the attribute) throws an exception. - - - Removes references to a type registered with the method. - The cookie value returned by a previous call to the method overload. - - - Initializes a new instance of the class. - - - Tests whether the specified assembly is loaded in the global assembly cache. - The assembly to test. - - if the assembly is loaded in the global assembly cache; otherwise, . - - - Returns the directory where the common language runtime is installed. - A string that contains the path to the directory where the common language runtime is installed. - - - Returns the specified interface on the specified class. - The identifier for the desired class. - The identifier for the desired interface. - An unmanaged pointer to the requested interface. - - IUnknown::QueryInterface failure. - - - Returns an instance of a type that represents a COM object by a pointer to its interface. - The identifier for the desired class. - The identifier for the desired interface. - An object that represents the specified unmanaged COM object. - - IUnknown::QueryInterface failure. - - - Gets the version number of the common language runtime that is running the current process. - A string containing the version number of the common language runtime. - - - Indicates whether the current application is running on the specified platform. - A platform. - - if the current app is running on the specified platform; otherwise, . - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class from serialization data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - is . - - - Initializes a new instance of the class with the specified message. - The message that indicates the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class from serialization data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - is . - - - Initializes a new instance of the class with the specified message. - The message that indicates the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Creates a new instance of the class, and specifies whether the buffer handle is to be reliably released. - - to reliably release the handle during the finalization phase; to prevent reliable release (not recommended). - - - Obtains a pointer from a object for a block of memory. - A byte pointer, passed by reference, to receive the pointer from within the object. You must set this pointer to before you call this method. - The method has not been called. - - - Specifies the allocation size of the memory buffer by using the specified number of elements and element size. You must call this method before you use the instance. - The number of elements in the buffer. - The size of each element in the buffer. - - is less than zero. -or- - is less than zero.-or- - multiplied by is greater than the available address space. - - - Defines the allocation size of the memory region in bytes. You must call this method before you use the instance. - The number of bytes in the buffer. - - is less than zero.-or- - is greater than the available address space. - - - Defines the allocation size of the memory region by specifying the number of value types. You must call this method before you use the instance. - The number of elements of the value type to allocate memory for. - The value type to allocate memory for. - - is less than zero.-or- - multiplied by the size of each element is greater than the available address space. - - - Reads a value type from memory at the specified offset. - The location from which to read the value type. You may have to consider alignment issues. - The value type to read. - The value type that was read from memory. - The method has not been called. - - - Reads the specified number of value types from memory starting at the offset, and writes them into an array starting at the index. - The location from which to start reading. - The output array to write to. - The location in the output array to begin writing to. - The number of value types to read from the input array and to write to the output array. - The value type to read. - - is less than zero.-or- - is less than zero. - - is . - The length of the array minus the index is less than . - The method has not been called. - - - Releases a pointer that was obtained by the method. - The method has not been called. - - - Writes a value type to memory at the given location. - The location at which to start writing. You may have to consider alignment issues. - The value to write. - The value type to write. - The method has not been called. - - - Writes the specified number of value types to a memory location by reading bytes starting from the specified location in the input array. - The location in memory to write to. - The input array. - The offset in the array to start reading from. - The number of value types to write. - The value type to write. - - is . - - or is less than zero. - The length of the input array minus is less than . - The method has not been called. - - - Initializes a new instance of the class with the specified invalid handle value. - The value of an invalid handle (usually 0 or -1). Your implementation of should return for this value. - - to reliably let release the handle during the finalization phase; otherwise, (not recommended). - The derived class resides in an assembly without unmanaged code access permission. - - - Marks the handle for releasing and freeing resources. - - - Manually increments the reference counter on instances. - - if the reference counter was successfully incremented; otherwise, . - - - Returns the value of the field. - An representing the value of the field. If the handle has been marked invalid with , this method still returns the original handle value, which can be a stale value. - - - Manually decrements the reference counter on a instance. - - - Releases all resources used by the class. - - - Releases the unmanaged resources used by the class specifying whether to perform a normal dispose operation. - - for a normal dispose operation; to finalize the handle. - - - Frees all resources associated with the handle. - - - When overridden in a derived class, executes the code required to free the handle. - - if the handle is released successfully; otherwise, in the event of a catastrophic failure,. In this case, it generates a releaseHandleFailed MDA Managed Debugging Assistant. - - - Sets the handle to the specified pre-existing handle. - The pre-existing handle to use. - - - Marks a handle as no longer used. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class from serialization data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - is . - - - Initializes a new instance of the class with a specified message. - The message that indicates the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Indicates whether the exception can be recovered from, and whether the code can continue from the point at which the exception was thrown. - Always , because resumable exceptions are not implemented. - - - This attribute has been deprecated. - - - Initalizes a new instance of the class with the specified enumeration member. - A 16-bit integer that represents one of the values that specifes how the class or structure should be arranged. - - - Initalizes a new instance of the class with the specified enumeration member. - One of the enumeration values that specifes how the class or structure should be arranged. - - - Creates a new instance of the class. - - - Creates a new instance of the class with the specified scope and identifier. - The first type equivalence string. - The second type equivalence string. - - - Initializes a new instance of the class. - - - Converts an assembly to a COM type library. - The assembly to convert. - The file name of the resulting type library. - A value indicating any special settings. - The interface implemented by the caller. - An object that implements the interface. - - - Converts a COM type library to an assembly. - The object that implements the interface. - The file name of the resulting assembly. - A value indicating any special settings. - - interface implemented by the caller. - A array containing the public key. - A object containing the public and private cryptographic key pair. - If , the interfaces require link time checks for permission. If , the interfaces require run time checks that require a stack walk and are more expensive, but help provide greater protection. - An object containing the converted type library. - - is .-or- - is .-or- - is . - - is an empty string.-or- - is longer than MAX_PATH. - - is not .-or- - and are . - The metadata produced has errors preventing any types from loading. - - - Converts a COM type library to an assembly. - The object that implements the interface. - The file name of the resulting assembly. - A value indicating any special settings. - - interface implemented by the caller. - A array containing the public key. - A object containing the public and private cryptographic key pair. - The namespace for the resulting assembly. - The version of the resulting assembly. If , the version of the type library is used. - An object containing the converted type library. - - is .-or- - is .-or- - is . - - is an empty string.-or- - is longer than MAX_PATH. - - is not .-or- - and are . - The metadata produced has errors preventing any types from loading. - - - Gets the name and code base of a primary interop assembly for a specified type library. - The GUID of the type library. - The major version number of the type library. - The minor version number of the type library. - The LCID of the type library. - On successful return, the name of the primary interop assembly associated with . - On successful return, the code base of the primary interop assembly associated with . - - if the primary interop assembly was found in the registry; otherwise . - - - Initializes a new instance of the class with the specified value. - The value for the attributed method as found in the type library it was imported from. - - - Initializes a new instance of the class with the specified value. - The value for the attributed method as found in the type library it was imported from. - - - Initializes a new instance of the class specifying the that exclusively uses an interface. - The object that exclusively uses an interface. - - - Initializes a new instance of the class with the specified value. - The value for the attributed type as found in the type library it was imported from. - - - Initializes a new instance of the class with the specified value. - The value for the attributed type as found in the type library it was imported from. - - - Initializes a new instance of the class with the specified value. - The value for the attributed field as found in the type library it was imported from. - - - Initializes a new instance of the class with the specified value. - The value for the attributed field as found in the type library it was imported from. - - - Initializes a new instance of the class with the major and minor version numbers of the type library. - The major version number of the type library. - The minor version number of the type library. - - - Enumerate the strings which are the keys of the internally-maintained table of contextual object parameters. - On successful return, a reference to the object parameter enumerator. - - - Return the current binding options stored in this bind context. - A pointer to the structure to receive the binding options. - - - Lookup the given key in the internally-maintained table of contextual object parameters and return the corresponding object, if one exists. - The name of the object to search for. - On successful return, the object interface pointer. - - - Return access to the Running Object Table (ROT) relevant to this binding process. - On successful return, a reference to the ROT. - - - Register the passed object as one of the objects that has been bound during a moniker operation and which should be released when it is complete. - The object to register for release. - - - Register the given object pointer under the specified name in the internally-maintained table of object pointers. - The name to register with. - The object to register. - - - Releases all the objects currently registered with the bind context by . - - - Removes the object from the set of registered objects that need to be released. - The object to unregister for release. - - - Revoke the registration of the object currently found under this key in the internally-maintained table of contextual object parameters, if any such key is currently registered. - The key to unregister. - - - Store in the bind context a block of parameters that will apply to later operations using this bind context. - The structure containing the binding options to set. - - - Establishes an advisory connection between the connection point and the caller's sink object. - Reference to the sink to receive calls for the outgoing interface managed by this connection point. - On successful return, contains the connection cookie. - - - Creates an enumerator object for iteration through the connections that exist to this connection point. - On successful return, contains the newly created enumerator. - - - Returns the IID of the outgoing interface managed by this connection point. - On successful return, contains the IID of the outgoing interface managed by this connection point. - - - Retrieves the interface pointer to the connectable object that conceptually owns this connection point. - On successful return, contains the connectable object's interface. - - - Terminates an advisory connection previously established through . - The connection cookie previously returned from . - - - Creates an enumerator of all the connection points supported in the connectable object, one connection point per IID. - On successful return, contains the interface pointer of the enumerator. - - - Asks the connectable object if it has a connection point for a particular IID, and if so, returns the interface pointer to that connection point. - A reference to the outgoing interface IID whose connection point is being requested. - On successful return, contains the connection point that manages the outgoing interface . - - - Creates another enumerator that contains the same enumeration state as the current one. - On successful return, a reference to the newly created enumerator. - - - Retrieves a specified number of items in the enumeration sequence. - The number of references to return in . - On successful return, a reference to the enumerated connections. - On successful return, a reference to the actual number of connections enumerated in . - - if the parameter equals the parameter; otherwise, . - - - Resets the enumeration sequence to the beginning. - An HRESULT with the value . - - - Skips over a specified number of items in the enumeration sequence. - The number of elements to skip in the enumeration. - - if the number of elements skipped equals the parameter; otherwise, . - - - Creates another enumerator that contains the same enumeration state as the current one. - On successful return, a reference to the newly created enumerator. - - - Retrieves a specified number of items in the enumeration sequence. - The number of structures to return in . - On successful return, a reference to the enumerated connections. - On successful return, a reference to the actual number of connections enumerated in . - - if the parameter equals the parameter; otherwise, . - - - Resets the enumeration sequence to the beginning. - - - Skips over a specified number of items in the enumeration sequence. - The number of elements to skip in the enumeration. - - if the number of elements skipped equals the parameter; otherwise, . - - - Creates another enumerator that contains the same enumeration state as the current one. - On successful return, a reference to the newly created enumerator. - - - Retrieves a specified number of items in the enumeration sequence. - The number of monikers to return in . - On successful return, a reference to the enumerated monikers. - On successful return, a reference to the actual number of monikers enumerated in . - - if the parameter equals the parameter; otherwise, . - - - Resets the enumeration sequence to the beginning. - An HRESULT with the value . - - - Skips over a specified number of items in the enumeration sequence. - The number of elements to skip in the enumeration. - - if the number of elements skipped equals the parameter; otherwise, . - - - Creates another enumerator that contains the same enumeration state as the current one. - On successful return, a reference to the newly created enumerator. - - - Retrieves a specified number of items in the enumeration sequence. - The number of strings to return in . - On successful return, a reference to the enumerated strings. - On successful return, a reference to the actual number of strings enumerated in . - - if the parameter equals the parameter; otherwise, . - - - Resets the enumeration sequence to the beginning. - An HRESULT with the value . - - - Skips over a specified number of items in the enumeration sequence. - The number of elements to skip in the enumeration. - - if the number of elements skipped equals the parameter; otherwise, . - - - Creates another enumerator that contains the same enumeration state as the current one. - On successful return, a reference to the newly created enumerator. - - - Retrieves a specified number of items in the enumeration sequence. - The number of elements to return in . - On successful return, a reference to the enumerated elements. - On successful return, a reference to the actual number of elements enumerated in . - - if the parameter equals the parameter; otherwise, . - - - Resets the enumeration sequence to the beginning. - An HRESULT with the value . - - - Skips over a specified number of items in the enumeration sequence. - The number of elements to skip in the enumeration. - - if the number of elements skipped equals parameter; otherwise, . - - - Uses the moniker to bind to the object it identifies. - A reference to the interface on the bind context object used in this binding operation. - A reference to the moniker to the left of this moniker, if the moniker is part of a composite moniker. - The interface identifier (IID) of the interface the client intends to use to communicate with the object that the moniker identifies. - On successful return, reference to the interface requested by . - - - Retrieves an interface pointer to the storage that contains the object identified by the moniker. - A reference to the interface on the bind context object used during this binding operation. - A reference to the moniker to the left of this moniker, if the moniker is part of a composite moniker. - The interface identifier (IID) of the storage interface requested. - On successful return, a reference to the interface requested by . - - - Creates a new moniker based on the common prefix that this moniker shares with another moniker. - A reference to the interface on another moniker to compare with this for a common prefix. - On successful return, contains the moniker that is the common prefix of this moniker and . - - - Combines the current moniker with another moniker, creating a new composite moniker. - A reference to the interface on the moniker to compose onto the end of this moniker. - If , the caller requires a nongeneric composition, so the operation proceeds only if is a moniker class that this moniker can compose with in some way other than forming a generic composite. If , the method can create a generic composite if necessary. - On successful return, a reference to the resulting composite moniker. - - - Supplies a pointer to an enumerator that can enumerate the components of a composite moniker. - If , enumerates the monikers from left to right. If , enumerates from right to left. - On successful return, references the enumerator object for the moniker. - - - Retrieves the class identifier (CLSID) of an object. - On successful return, contains the CLSID. - - - Gets the display name, which is a user-readable representation of this moniker. - A reference to the bind context to use in this operation. - A reference to the moniker to the left of this moniker, if the moniker is part of a composite moniker. - On successful return, contains the display name string. - - - Returns the size in bytes of the stream needed to save the object. - On successful return, contains a value indicating the size in bytes of the stream needed to save this object. - - - Provides a number representing the time the object identified by this moniker was last changed. - A reference to the bind context to be used in this binding operation. - A reference to the moniker to the left of this moniker, if the moniker is part of a composite moniker. - On successful return, contains the time of last change. - - - Calculates a 32-bit integer using the internal state of the moniker. - On successful return, contains the hash value for this moniker. - - - Provides a moniker that, when composed to the right of this moniker or one of similar structure, composes to nothing. - On successful return, contains a moniker that is the inverse of this moniker. - - - Checks the object for changes since it was last saved. - An value if the object has changed; otherwise, an value. - - - Compares this moniker with a specified moniker and indicates whether they are identical. - A reference to the moniker to be used for comparison. - - - Determines whether the object that is identified by this moniker is currently loaded and running. - A reference to the bind context to be used in this binding operation. - A reference to the moniker to the left of this moniker if this moniker is part of a composite. - A reference to the moniker most recently added to the Running Object Table. - - - Indicates whether this moniker is of one of the system-supplied moniker classes. - A pointer to an integer that is one of the values from the enumeration, and refers to one of the COM moniker classes. - - - Initializes an object from the stream where it was previously saved. - Stream from which the object is loaded. - - - Reads as many characters of the specified display name as it understands and builds a moniker corresponding to the portion read. - A reference to the bind context to be used in this binding operation. - A reference to the moniker that has been built out of the display name up to this point. - A reference to the string containing the remaining display name to parse. - On successful return, contains the number of characters in that were consumed in this step. - Reference to the moniker that was built from . - - - Returns a reduced moniker which is another moniker that refers to the same object as this moniker but can be bound with equal or greater efficiency. - A reference to the interface on the bind context to be used in this binding operation. - Specifies how far this moniker should be reduced. - A reference to the moniker to the left of this moniker. - On successful return, a reference to the reduced form of this moniker, which can be if an error occurs or if this moniker is reduced to nothing. - - - Supplies a moniker that, when appended to this moniker (or one with a similar structure), yields the specified moniker. - A reference to the moniker to which a relative path should be taken. - On successful return, reference to the relative moniker. - - - Saves an object to the specified stream. - The stream into which the object is saved. - Indicates whether to clear the modified flag after the save is complete. - - - Retrieves the class identifier (CLSID) of an object. - On successful return, a reference to the CLSID. - - - Retrieves either the absolute path to current working file of the object, or if there is no current working file, the default filename prompt of the object. - The address of a pointer to a zero-terminated string containing the path for the current file, or the default filename prompt (such as *.txt). - - - Checks an object for changes since it was last saved to its current file. - - if the file has changed since it was last saved; if the file has not changed since it was last saved. - - - Opens the specified file and initializes an object from the file contents. - A zero-terminated string containing the absolute path of the file to open. - A combination of values from the enumeration to indicate the access mode in which to open . - - - Saves a copy of the object into the specified file. - A zero-terminated string containing the absolute path of the file to which the object is saved. - Indicates whether is to be used as the current working file. - - - Notifies the object that it can write to its file. - The absolute path of the file where the object was previously saved. - - - Enumerates the objects currently registered as running. - On successful return, the new enumerator for the ROT. - - - Returns the registered object if the supplied object name is registered as running. - Reference to the moniker to search for in the ROT. - On successful return, contains the requested running object. - - - Searches for this moniker in the ROT and reports the recorded time of change, if present. - Reference to the moniker to search for in the ROT. - On successful return, contains the objects last change time. - - - Determines if the specified moniker is currently registered in the Running Object Table. - Reference to the moniker to search for in the Running Object Table. - - - Makes a note of the time that a particular object has changed so can report an appropriate change time. - The ROT entry of the changed object. - Reference to the object's last change time. - - - Registers that the supplied object has entered the running state. - Specifies whether the Running Object Table's (ROT) reference to is weak or strong, and controls access to the object through its entry in the ROT. - Reference to the object being registered as running. - Reference to the moniker that identifies . - Reference to a 32-bit value that can be used to identify this ROT entry in subsequent calls to or . - - - Unregisters the specified object from the ROT. - The ROT entry to revoke. - - - Creates a new stream object with its own seek pointer that references the same bytes as the original stream. - On successful return, contains the new stream object. - - - Ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. - Controls how the changes for the stream object are committed. - - - Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream. - Reference to the destination stream. - The number of bytes to copy from the source stream. - On successful return, contains the actual number of bytes read from the source. - On successful return, contains the actual number of bytes written to the destination. - - - Restricts access to a specified range of bytes in the stream. - The byte offset for the beginning of the range. - The length of the range, in bytes, to restrict. - The requested restrictions on accessing the range. - - - Reads a specified number of bytes from the stream object into memory starting at the current seek pointer. - On successful return, contains the data read frtom the stream. - The number of bytes to read from the stream object. - Pointer to a variable that receives the actual number of bytes read from the stream object. - - - Discards all changes that have been made to a transacted stream since the last call. - - - Changes the seek pointer to a new location relative to the beginning of the stream, to the end of the stream, or to the current seek pointer. - Displacement to add to . - Specifies the origin of the seek. The origin can be the beginning of the file, the current seek pointer, or the end of the file. - On successful return, contains the offset of the seek pointer from the beginning of the stream. - - - Changes the size of the stream object. - Specifies the new size of the stream as a number of bytes. - - - Retrieves the structure for this stream. - On successful return, contains a structure which describes this stream object. - Specifies some of the members in the structure that this method does not return, thus saving some memory allocation operations. - - - Removes the access restriction on a range of bytes previously restricted with . - The byte offset for the beginning of the range. - The length, in bytes, of the range to restrict. - The access restrictions previously placed on the range. - - - Writes a specified number of bytes into the stream object starting at the current seek pointer. - Buffer to write this stream to. - The number of bytes to write into the stream. - On successful return, contains the actual number of bytes written to the stream object. The caller can set this pointer to , in which case this method does not provide the actual number of bytes written. - - - Maps a name to a member of a type, or binds global variables and functions contained in a type library. - The name to bind. - A hash value for computed by . - A flags word containing one or more of the invoke flags defined in the enumeration. - On successful return, a reference to the type description that contains the item to which it is bound, if a or was returned. - A reference to a enumerator that indicates whether the name bound to is a , , or . - A reference to the bound-to , , or interface. - - - Binds to the type descriptions contained within a type library. - The name to bind. - A hash value for determined by . - On successful return, a reference to an of the type to which was bound. - On successful return, a reference to an variable. - - - Retrieves the addresses of static functions or variables, such as those defined in a DLL. - Member ID of the member's address to retrieve. - Specifies whether the member is a property, and if so, what kind. - On successful return, a reference to the member. - - - Creates a new instance of a type that describes a component class (coclass). - Object which acts as the controlling . - The IID of the interface that the caller will use to communicate with the resulting object. - On successful return, a reference to the created object. - - - Retrieves the type library that contains this type description and its index within that type library. - On successful return, a reference to the containing type library. - On successful return, a reference to the index of the type description within the containing type library. - - - Retrieves a description or specification of an entry point for a function in a DLL. - ID of the member function whose DLL entry description is to be returned. - Specifies the kind of member identified by . - If not , the function sets to a that contains the name of the DLL. - If not , the function sets to a that contains the name of the entry point. - If not , and the function is defined by an ordinal, then is set to point to the ordinal. - - - Retrieves the documentation string, the complete Help file name and path, and the context ID for the Help topic for a specified type description. - ID of the member whose documentation is to be returned. - On successful return, the name of the item method. - On successful return, the documentation string for the specified item. - On successful return, a reference to the Help context associated with the specified item. - On successful return, the fully qualified name of the Help file. - - - Retrieves the structure that contains information about a specified function. - Index of the function description to return. - Reference to a that describes the specified function. - - - Maps between member names and member IDs, and parameter names and parameter IDs. - On succesful return, an array of names to map. - Count of names to map. - Reference to an array in which name mappings are placed. - - - Retrieves the value for one implemented interface or base interface in a type description. - Index of the implemented interface or base interface. - On successful return, a reference to the enumeration. - - - Retrieves marshaling information. - The member ID that indicates which marshaling information is needed. - A reference to the opcode string used in marshaling the fields of the structure described by the referenced type description, or returns if there is no information to return. - - - Retrieves the variable with the specified member ID (or the name of the property or method and its parameters) that correspond to the specified function ID. - The ID of the member whose name (or names) is to be returned. - On succesful return, contains the name (or names) associated with the member. - Length of the array. - On succesful return, the number of names in the array. - - - If a type description references other type descriptions, it retrieves the referenced type descriptions. - Handle to the referenced type description to return. - On successful return, the referenced type description. - - - If a type description describes a COM class, it retrieves the type description of the implemented interface types. - Index of the implemented type whose handle is returned. - Reference to a handle for the implemented interface. - - - Retrieves a structure that contains the attributes of the type description. - On successful return, a reference to the structure that contains the attributes of this type description. - - - Retrieves the interface for the type description, which enables a client compiler to bind to the type description's members. - On successful return, a reference to the of the containing type library. - - - Retrieves a structure that describes the specified variable. - Index of the variable description to return. - On successful return, a reference to the that describes the specified variable. - - - Invokes a method, or accesses a property of an object, that implements the interface described by the type description. - Reference to the interface described by this type description. - Identifies the interface member. - Flags describing the context of the invoke call. - Reference to a structure that contains an array of arguments, an array of DISPIDs for named arguments, and counts of the number of elements in each array. - Reference to the location at which the result is to be stored. If specifies or , is ignored. Set to if no result is desired. - Points to an exception information structure, which is filled in only if is returned. - If returns , indicates the index within of the argument with incorrect type. If more than one argument returns an error, indicates only the first argument with an error. - - - Releases a previously returned by . - Reference to the to release. - - - Releases a previously returned by . - Reference to the to release. - - - Releases a previously returned by . - Reference to the to release. - - - Finds occurrences of a type description in a type library. - The name to search for. - A hash value to speed up the search, computed by the function. If is 0, a value is computed. - On successful return, an array of pointers to the type descriptions that contain the name specified in . - An array of the 's of the found items; [i] is the that indexes into the type description specified by [i]. Cannot be . - On entry, indicates how many instances to look for. For example, = 1 can be called to find the first occurrence. The search stops when one instance is found.On exit, indicates the number of instances that were found. If the and values of are identical, there might be more type descriptions that contain the name. - - - Retrieves the library's documentation string, the complete Help file name and path, and the context identifier for the library Help topic in the Help file. - Index of the type description whose documentation is to be returned. - Returns a string that contains the name of the specified item. - Returns a string that contains the documentation string for the specified item. - Returns the Help context identifier associated with the specified item. - Returns a string that contains the fully qualified name of the Help file. - - - Retrieves the structure that contains the library's attributes. - On successful return, a structure that contains the library's attributes. - - - Enables a client compiler to bind to a library's types, variables, constants, and global functions. - On successful return, an instance of a instance for this . - - - Retrieves the specified type description in the library. - Index of the interface to return. - On successful return, a describing the type referenced by . - - - Returns the number of type descriptions in the type library. - The number of type descriptions in the type library. - - - Retrieves the type description that corresponds to the specified GUID. - IID of the interface of CLSID of the class whose type info is requested. - On successful return, the requested interface. - - - Retrieves the type of a type description. - The index of the type description within the type library. - Reference to the enumeration for the type description. - - - Indicates whether a passed-in string contains the name of a type or member described in the library. - The string to test. - The hash value of . - - if was found in the type library; otherwise . - - - Releases the originally obtained from . - The to release. - - - Initializes a new instance of the class with the object to be wrapped. - The object being wrapped. - - - Initializes a new instance of the class with the specified calling convention. - The specified calling convention. - - - Initializes a new instance of the class for the specified parameter. - The object to marshal. - - - Initializes a new instance of the class. - The interface type that is specified as the default interface for the class the attribute is applied to. - - - Initializes a new instance of the class. - The name of the namespace to resolve. - - - Returns a value that indicates whether the current object is equal to the specified object. - The object to compare. - - if the current object is equal to ; otherwise, . - - - Returns the hash code for this instance. - The hash code for this instance. - - - Indicates whether two instances are equal. - The first instance to compare. - The second instance to compare. - - if the two objects are equal; otherwise, . - - - Indicates whether two instances are not equal. - The first instance to compare. - The second instance to compare. - - if the two instances are not equal; otherwise, . - - - Initializes a new instance of the class. - - is not a delegate type. - - - Adds the specified event handler to the table and to the invocation list, and returns a token that can be used to remove the event handler. - The event handler to add. - A token that can be used to remove the event handler from the table and the invocation list. - - - Returns the specified event registration token table, if it is not ; otherwise, returns a new event registration token table. - An event registration token table, passed by reference. - The event registration token table that is specified by , if it is not ; otherwise, a new event registration token table. - - - Removes the specified event handler delegate from the table and the invocation list. - The event handler to remove. - - - Removes the event handler that is associated with the specified token from the table and the invocation list. - The token that was returned when the event handler was added. - - - Returns a new instance of the Windows Runtime class that is created by the interface. - The new instance of the Windows Runtime class. - - - Initializes a new instance of the class, specifying the interface that the target type implements and the version in which that interface was first implemented. - The interface that was first implemented in the specified version of the target type. - The major component of the version of the target type that first implemented . - The minor component of the version of the target type that first implemented . - The build component of the version of the target type that first implemented . - The revision component of the version of the target type that first implemented . - - - Initializes a new instance of the class, specifying the namespace to resolve and the assembly whose dependency is being resolved. - The namespace to resolve. - The assembly whose dependency is being resolved. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class, and specifies the name of the return value. - The name of the return value. - - - Adds the specified event handler to a Windows Runtime event. - A delegate that represents the method that adds event handlers to the Windows Runtime event. - A delegate that represents the method that removes event handlers from the Windows Runtime event. - A delegate the represents the event handler that is added. - The type of the delegate that represents the event handler. - - is . -or- - is . - - - Frees the specified Windows Runtime HSTRING. - The address of the HSTRING to free. - The Windows Runtime is not supported on the current version of the operating system. - - - Returns an object that implements the activation factory interface for the specified Windows Runtime type. - The Windows Runtime type to get the activation factory interface for. - An object that implements the activation factory interface. - - does not represent a Windows Runtime type (that is, belonging to the Windows Runtime itself or defined in a Windows Runtime component). -or-The object specified for was not provided by the common language runtime type system. - - is . - The specified Windows Runtime class is not properly registered. For example, the .winmd file was located, but the Windows Runtime failed to locate the implementation. - - - Returns a managed string that contains a copy of the specified Windows Runtime HSTRING. - An unmanaged pointer to the HSTRING to copy. - A managed string that contains a copy of the HSTRING if is not ; otherwise, . - The Windows Runtime is not supported on the current version of the operating system. - - - Removes all the event handlers that can be removed by using the specified method. - A delegate that represents the method that removes event handlers from the Windows Runtime event. - - is . - - - Removes the specified event handler from a Windows Runtime event. - A delegate that represents the method that removes event handlers from the Windows Runtime event. - The event handler that is removed. - The type of the delegate that represents the event handler. - - is . - - - Allocates a Windows Runtime HSTRING and copies the specified managed string to it. - The managed string to copy. - An unmanaged pointer to the new HSTRING, or if is . - The Windows Runtime is not supported on the current version of the operating system. - - is . - - - Locates the Windows Metadata files for the specified namespace, given the specified locations to search. - The namespace to resolve. - The application paths to search for Windows Metadata files, or to search only for Windows Metadata files from the operating system installation. - An enumerable list of strings that represent the Windows Metadata files that define . - The operating system version does not support the Windows Runtime. - - is . - - - Locates the Windows Metadata files for the specified namespace, given the specified locations to search. - The namespace to resolve. - The path to search for Windows Metadata files provided by the SDK, or to search for Windows Metadata files from the operating system installation. - The application paths to search for Windows Metadata files. - An enumerable list of strings that represent the Windows Metadata files that define . - The operating system version does not support the Windows Runtime. - - is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class, specifying the amount of memory required for successful execution. - The required memory size, in megabytes. This must be a positive value. - The specified memory size is negative. - There is insufficient memory to begin execution of the code protected by the gate. - - - Releases all resources used by the . - - - Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the object. - - - Enables optimization profiling for the current application domain, and sets the folder where the optimization profile files are stored. On a single-core computer, the method is ignored. - The full path to the folder where profile files are stored for the current application domain. - - - Starts just-in-time (JIT) compilation of the methods that were previously recorded in the specified profile file, on a background thread. Starts the process of recording current method use, which later overwrites the specified profile file. - The file name of the profile to use. - - - Initializes a new instance of the class with the given type name, assembly name, and application URL. - The type name of the client activated type. - The assembly name of the client activated type. - The URL of the application to activate the type in. - - - Initializes a new instance of the class with the given and application URL. - The of the client activated type. - The URL of the application to activate the type in. - - - Returns the type name, assembly name, and application URL of the client-activated type as a . - The type name, assembly name, and application URL of the client-activated type as a . - - - Initializes a new instance of the class with the given type name and assembly name. - The type name of the client-activated service type. - The assembly name of the client-activated service type. - - - Initializes a new instance of the class with the given . - The of the client-activated service type. - - - Returns the type and assembly name of the client-activated service type as a . - The type and assembly name of the client-activated service type as a . - - - Creates an instance of the object that is specified in the provided . - The information about the object that is needed to activate it, stored in a . - Status of the object activation contained in a . - The immediate caller does not have infrastructure permission. - - - Creates a new instance of the class. - The call site URL. - The parameter is . - The immediate caller does not have infrastructure permission. - - - Checks whether the specified object refers to the same URL as the current instance. - The object to compare to the current . - - if the object is a with the same value; otherwise, . - The immediate caller does not have infrastructure permission. - - - Returns the hash value for the current . - The hash value for the current . - The immediate caller does not have infrastructure permission. - - - Forces the creation of the context and the server object inside the context at the specified URL. - The of the server object to create. - The immediate caller does not have infrastructure permission. - - - Returns a Boolean value that indicates whether the specified meets 's requirements. - The context to check against the current context attribute. - The construction call, the parameters of which need to be checked against the current context. - - if the passed-in context is acceptable; otherwise, . - The immediate caller does not have infrastructure permission. - - - Initializes a new instance of the class. - - - Throws a . - The key that is associated with the object in the parameter. - The value to add. - The method is called. - - - Throws a . - The method is called. - - - Returns a value that indicates whether the channel object contains a property that is associated with the specified key. - The key of the property to look for. - - if the channel object contains a property associated with the specified key; otherwise, . - - - Throws a . - The array to copy the properties to. - The index at which to begin copying. - The method is called. - - - Returns a that enumerates over all the properties associated with the channel object. - A that enumerates over all the properties associated with the channel object. - - - Throws a . - The key of the object to be removed. - The method is called. - - - Returns a that enumerates over all the properties that are associated with the channel object. - A that enumerates over all the properties that are associated with the channel object. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the URIs that the current channel maps to. - An array of channel URIs that the current channel maps to. - - - Asynchronously dispatches the given message to the server-side chain(s) based on the URI embedded in the message. - The message to dispatch. - The sink that will process the return message if it is not . - A object used to control the asynchronously dispatched message. - The parameter is . - The immediate caller does not have infrastructure permission. - - - Creates a channel sink chain for the specified channel. - The first provider in the chain of sink providers that will create the channel sink chain. - The for which to create the channel sink chain. - A new channel sink chain for the specified channel. - The immediate caller does not have infrastructure permission. - - - Dispatches incoming remote calls. - The stack of server channel sinks that the message already traversed. - The message to dispatch. - When this method returns, contains a that holds the reply from the server to the message that is contained in the parameter. This parameter is passed uninitialized. - A that gives the status of the server message processing. - The parameter is . - The immediate caller does not have infrastructure permission. - - - Returns a registered channel with the specified name. - The channel name. - An interface to a registered channel, or if the channel is not registered. - The immediate caller does not have infrastructure permission. - - - Returns a of properties for a given proxy. - The proxy to retrieve properties for. - An interface to the dictionary of properties, or if no properties were found. - At least one of the callers that is higher in the callstack does not have permission to configure remoting types and channels. - - - Returns an array of all the URLs that can be used to reach the specified object. - The object to retrieve the URL array for. - An array of strings that contains the URLs that can be used to remotely identify the object, or if none were found. - The immediate caller does not have infrastructure permission. - - - Registers a channel with the channel services. is obsolete. Please use instead. - The channel to register. - The parameter is . - The channel has already been registered. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Registers a channel with the channel services. - The channel to register. - - ensures that security is enabled; otherwise . Setting the value to does not effect the security setting on the TCP or IPC channel. - The parameter is . - The channel has already been registered. - At least one of the callers higher in the call stack does not have permission to configure remoting types and channels. - Not supported in Windows 98 for and on all platforms for . Host the service using Internet Information Services (IIS) if you require a secure HTTP channel. - - - Synchronously dispatches the incoming message to the server-side chain(s) based on the URI embedded in the message. - The message to dispatch. - A reply message is returned by the call to the server-side chain. - The parameter is . - The immediate caller does not have infrastructure permission. - - - Unregisters a particular channel from the registered channels list. - The channel to unregister. - The parameter is . - The channel is not registered. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class with the specified reply sink. - The that the current stack can use to reply to messages. - - - Requests asynchronous processing of a method call on the sinks that are in the current sink stack. - The headers that are retrieved from the server response stream. - The stream that is returning from the transport sink. - The current sink stack is empty. - - - Dispatches the specified exception on the reply sink. - The exception to dispatch to the server. - - - Dispatches the specified reply message on the reply sink. - The to dispatch. - - - Pops the information that is associated with all the sinks from the sink stack up to and including the specified sink. - The sink to remove and return from the sink stack. - Information generated on the request side and associated with the specified sink. - The current sink stack is empty, or the specified sink was never pushed onto the current stack. - - - Pushes the specified sink and information that is associated with it onto the sink stack. - The sink to push onto the sink stack. - Information generated on the request side that is needed on the response side. - - - Returns the object URI as an out parameter, and the URI of the current channel as the return value. - The URL of the object. - When this method returns, contains a that holds the object URI. This parameter is passed uninitialized. - The URI of the current channel, or if the URI does not belong to this channel. - The immediate caller does not have infrastructure permission. - - - Returns an array of all the URLs for a URI. - The URI for which URLs are required. - An array of the URLs. - The immediate caller does not have infrastructure permission. - - - Instructs the current channel to start listening for requests. - Optional initialization information. - The immediate caller does not have infrastructure permission. - - - Instructs the current channel to stop listening for requests. - Optional state information for the channel. - The immediate caller does not have infrastructure permission. - - - Adds a URI on which the channel hook will listen. - A URI on which the channel hook will listen. - The immediate caller does not have infrastructure permission. - - - Returns a channel message sink that delivers messages to the specified URL or channel data object. - The URL to which the new sink will deliver messages. Can be . - The channel data object of the remote host to which the new sink will deliver messages. Can be . - When this method returns, contains a URI of the new channel message sink that delivers messages to the specified URL or channel data object. This parameter is passed uninitialized. - A channel message sink that delivers messages to the specified URL or channel data object, or if the channel cannot connect to the given endpoint. - The immediate caller does not have infrastructure permission. - - - Requests asynchronous processing of a method call on the current sink. - A stack of channel sinks that called this sink. - The message to process. - The headers to add to the outgoing message heading to the server. - The stream headed to the transport sink. - The immediate caller does not have infrastructure permission. - - - Requests asynchronous processing of a response to a method call on the current sink. - A stack of sinks that called this sink. - Information generated on the request side that is associated with this sink. - The headers retrieved from the server response stream. - The stream coming back from the transport sink. - The immediate caller does not have infrastructure permission. - - - Returns the onto which the provided message is to be serialized. - The containing details about the method call. - The headers to add to the outgoing message heading to the server. - The onto which the provided message is to be serialized. - The immediate caller does not have infrastructure permission. - - - Requests message processing from the current sink. - The message to process. - The headers to add to the outgoing message heading to the server. - The stream headed to the transport sink. - When this method returns, contains a interface that holds the headers that the server returned. This parameter is passed uninitialized. - When this method returns, contains a coming back from the transport sink. This parameter is passed uninitialized. - The immediate caller does not have infrastructure permission. - - - Creates a sink chain. - Channel for which the current sink chain is being constructed. - The URL of the object to connect to. This parameter can be if the connection is based entirely on the information contained in the parameter. - A channel data object that describes a channel on the remote server. - The first sink of the newly formed channel sink chain, or , which indicates that this provider will not or cannot provide a connection for this endpoint. - The immediate caller does not have infrastructure permission. - - - Pops the information associated with all the sinks from the sink stack up to and including the specified sink. - The sink to remove and return from the sink stack. - Information generated on the request side and associated with the specified sink. - The immediate caller does not have infrastructure permission. - - - Pushes the specified sink and information associated with it onto the sink stack. - The sink to push onto the sink stack. - Information generated on the request side that is needed on the response side. - The immediate caller does not have infrastructure permission. - - - Requests asynchronous processing of a method call on the sinks in the current sink stack. - The headers retrieved from the server response stream. - The stream coming back from the transport sink. - The current sink stack is empty. - The immediate caller does not have infrastructure permission. - - - Dispatches the specified exception on the reply sink. - The exception to dispatch to the server. - The immediate caller does not have infrastructure permission. - - - Dispatches the specified reply message on the reply sink. - The to dispatch. - The immediate caller does not have infrastructure permission. - - - Requests processing from the current sink of the response from a method call sent asynchronously. - A stack of sinks leading back to the server transport sink. - Information generated on the request side that is associated with this sink. - The response message. - The headers to add to the return message heading to the client. - The stream heading back to the transport sink. - The immediate caller does not have infrastructure permission. - - - Returns the onto which the provided response message is to be serialized. - A stack of sinks leading back to the server transport sink. - The state that has been pushed to the stack by this sink. - The response message to serialize. - The headers to put in the response stream to the client. - The onto which the provided response message is to be serialized. - The immediate caller does not have infrastructure permission. - - - Requests message processing from the current sink. - A stack of channel sinks that called the current sink. - The message that contains the request. - Headers retrieved from the incoming message from the client. - The stream that needs to be to processed and passed on to the deserialization sink. - When this method returns, contains a that holds the response message. This parameter is passed uninitialized. - When this method returns, contains a that holds the headers that are to be added to return message heading to the client. This parameter is passed uninitialized. - When this method returns, contains a that is heading back to the transport sink. This parameter is passed uninitialized. - A status value that provides information about how message was processed. - The immediate caller does not have infrastructure permission. - - - Creates a sink chain. - The channel for which to create the channel sink chain. - The first sink of the newly formed channel sink chain, or , which indicates that this provider will not or cannot provide a connection for this endpoint. - The immediate caller does not have infrastructure permission. - - - Returns the channel data for the channel that the current sink is associated with. - A object in which the channel data is to be returned. - The immediate caller does not have infrastructure permission. - - - Pops the information associated with all the sinks from the sink stack up to and including the specified sink. - The sink to remove and return from the sink stack. - Information generated on the request side and associated with the specified sink. - The immediate caller does not have infrastructure permission. - - - Pushes the specified sink and information associated with it onto the sink stack. - The sink to push onto the sink stack. - Information generated on the request side that is needed on the response side. - The immediate caller does not have infrastructure permission. - - - Presents a callback delegate to handle a callback after a message has been dispatched asynchronously. - The status and state of an asynchronous operation on a remote object. - - - Stores a message sink and its associated state for later asynchronous processing. - A server channel sink. - The state associated with . - - - Stores a message sink and its associated state, and then dispatches a message asynchronously, using the sink just stored and any other stored sinks. - A server channel sink. - The state associated with . - - - Requests asynchronous processing of a method call on the sinks in the current sink stack. - The response message. - The headers retrieved from the server response stream. - The stream coming back from the transport sink. - - - Returns the onto which the specified message is to be serialized. - The message to be serialized onto the requested stream. - The headers retrieved from the server response stream. - The onto which the specified message is to be serialized. - The immediate caller does not have infrastructure permission. - - - Returns a that iterates over all entries in the object. - A that iterates over all entries in the object. - The immediate caller does not have infrastructure permission. - - - Initializes a new instance of the class. - - - Requests asynchronous processing of a method call on the sinks in the current sink stack. - The message to be serialized onto the requested stream. - The headers retrieved from the server response stream. - The stream coming back from the transport sink. - The current sink stack is empty. - - - Returns the onto which the specified message is to be serialized. - The message to be serialized onto the requested stream. - The headers retrieved from the server response stream. - The onto which the specified message is to be serialized. - The sink stack is empty. - - - Pops the information associated with all the sinks from the sink stack up to and including the specified sink. - The sink to remove and return from the sink stack. - Information generated on the request side and associated with the specified sink. - The current sink stack is empty, or the specified sink was never pushed onto the current stack. - - - Pushes the specified sink and information associated with it onto the sink stack. - The sink to push onto the sink stack. - Information generated on the request side that is needed on the response side. - - - Provides a delegate to handle a callback after a message has been dispatched asynchronously. - The status and state of an asynchronous operation on a remote object. - - - Stores a message sink and its associated state for later asynchronous processing. - A server channel sink. - The state associated with . - The current sink stack is empty.-or-The specified sink was never pushed onto the current stack. - - - Stores a message sink and its associated state, and then dispatches a message asynchronously, using the sink just stored and any other stored sinks. - A server channel sink. - The state associated with . - - - Initializes a new instance of the class. - The name of the sink provider that the data in the current object is associated with. - - - Initializes a new instance of the class. - - - Returns an enumerator of the stored transport headers. - An enumerator of the stored transport headers. - - - Initializes a new instance of the class. - - - Allocates an unnamed data slot. - A local data slot. - - - Allocates a named data slot. - The required name for the data slot. - A local data slot object. - - - Executes code in another context. - The delegate used to request the callback. - - - Cleans up the backing objects for the nondefault contexts. - - - Frees a named data slot on all the contexts. - The name of the data slot to free. - - - Freezes the context, making it impossible to add or remove context properties from the current context. - The context is already frozen. - - - Retrieves the value from the specified slot on the current context. - The data slot that contains the data. - Returns the data associated with . - - - Looks up a named data slot. - The data slot name. - Returns a local data slot. - - - Returns a specific context property, specified by name. - The name of the property. - The specified context property. - - - Registers a dynamic property implementing the interface with the remoting service. - The dynamic property to register. - The object/proxy for which the is registered. - The context for which the is registered. - - if the property was successfully registered; otherwise, . - Either or its name is , or it is not dynamic (it does not implement ). - Both an object as well as a context are specified (both and are not ). - - - Sets the data in the specified slot on the current context. - The data slot where the data is to be added. - The data that is to be added. - - - Sets a specific context property by name. - The actual context property. - There is an attempt to add properties to the default context. - The context is frozen. - The property or the property name is . - - - Returns a class representation of the current context. - A class representation of the current context. - - - Unregisters a dynamic property implementing the interface. - The name of the dynamic property to unregister. - The object/proxy for which the is registered. - The context for which the is registered. - - if the object was successfully unregistered; otherwise, . - The parameter is . - Both an object as well as a context are specified (both and are not ). - - - Creates an instance of the class with the specified name. - The name of the context attribute. - - - Returns a Boolean value indicating whether this instance is equal to the specified object. - The object to compare with this instance. - - if is not and if the object names are equivalent; otherwise, . - - - Called when the context is frozen. - The context to freeze. - - - Returns the hashcode for this instance of . - The hashcode for this instance of . - - - Adds the current context property to the given message. - The to which to add the context property. - The parameter is . - - - Returns a Boolean value indicating whether the context parameter meets the context attribute's requirements. - The context in which to check. - The to which to add the context property. - - if the passed in context is okay; otherwise, . - Either or is . - - - Returns a Boolean value indicating whether the context property is compatible with the new context. - The new context in which the property has been created. - - if the context property is okay with the new context; otherwise, . - - - Returns context properties to the caller in the given message. - The to which to add the context properties. - - - Returns a Boolean value indicating whether the specified context meets the context attribute's requirements. - The context to check against the current context attribute. - The construction call, parameters of which need to be checked against the current context. - - if the passed in context is okay; otherwise, . - - - Called when the context is frozen. - The context to freeze. - - - Returns a Boolean value indicating whether the context property is compatible with the new context. - The new context in which the has been created. - - if the context property can coexist with the other context properties in the given context; otherwise, . - - - Called on each client context property that has this interface, before the construction request leaves the client. - An . - - - Called on each server context property that has this interface, before the construction response leaves the server for the client. - An . - - - Called on each client context property that has this interface, when the construction request returns to the client from the server. - An . - - if successful; otherwise, . - - - Called on each client context property that has this interface, when the construction request returns to the client from the server. - An . - - if successful; otherwise, . - - - Indicates whether it is all right to activate the object type indicated in the parameter. - An . - A Boolean value indicating whether the requested type can be activated. - - - Takes the first sink in the chain of sinks composed so far, and then chains its message sink in front of the chain already formed. - The chain of sinks composed so far. - The composite sink chain. - - - Returns the message sink that will be notified of call start and finish events through the interface. - A dynamic sink that exposes the interface. - - - Takes the first sink in the chain of sinks composed so far, and then chains its message sink in front of the chain already formed. - The server object for which the chain is being created. - The chain of sinks composed so far. - The composite sink chain. - - - Chains the message sink of the provided server object in front of the given sink chain. - The server object which provides the message sink that is to be chained in front of the given chain. - The chain of sinks composed so far. - The composite sink chain. - - - Takes the first sink in the chain of sinks composed so far, and then chains its message sink in front of the chain already formed. - The chain of sinks composed so far. - The composite sink chain. - - - Indicates that a call is returning. - A reply message. - A value of if the method is invoked on the client side and if it is invoked on the server side. - A value of if this is an asynchronic call and if it is a synchronic call. - - - Indicates that a call is starting. - A request message. - A value of if the method is invoked on the client side and if the method is on the server side. - A value of if this is an asynchronic call and if it is a synchronic call. - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class with a Boolean value indicating whether reentry is required. - A Boolean value indicating whether reentry is required. - - - Initializes a new instance of the class with a flag indicating the behavior of the object to which this attribute is applied. - An integer value indicating the behavior of the object to which this attribute is applied. - The parameter was not one of the defined flags. - - - Initializes a new instance of the class with a flag indicating the behavior of the object to which this attribute is applied, and a Boolean value indicating whether reentry is required. - An integer value indicating the behavior of the object to which this attribute is applied. - - if reentry is required, and callouts must be intercepted and serialized; otherwise, . - The parameter was not one of the defined flags. - - - Creates a CallOut sink and chains it in front of the provided chain of sinks at the context boundary on the client end of a remoting call. - The chain of sinks composed so far. - The composite sink chain with the new CallOut sink. - - - Adds the context property to the specified . - The to which to add the property. - - - Creates a synchronized dispatch sink and chains it in front of the provided chain of sinks at the context boundary on the server end of a remoting call. - The chain of sinks composed so far. - The composite sink chain with the new synchronized dispatch sink. - - - Returns a Boolean value indicating whether the context parameter meets the context attribute's requirements. - The context to check. - Information gathered at construction time of the context bound object marked by this attribute. The can inspect, add to, and remove properties from the context while determining if the context is acceptable to it. - - if the passed in context is OK; otherwise, . - The or parameter is . - - - Creates an instance of . - - - Sends a message concerning a remoting channel to an unmanaged debugger. - A string to place in the message. - - - Gets an appropriate SOAP-related attribute for the specified class member or method parameter. - A class member or method parameter. - The SOAP-related attribute for the specified class member or method parameter. - - - Instructs an internal debugger to check for a condition and display a message if the condition is . - - to prevent a message from being displayed; otherwise, . - The message to display if is . - - - Sends any number of messages concerning remoting channels to an internal debugger. - An array of type that contains any number of messages. - - - Sets internal identifying information for a remoted server object for each method call from client to server. - A that represents a method call on a remote object. - Internal identifying information for a remoted server object. - - - Unwraps the object. - The unwrapped object. - - - Checks whether the proxy that represents the specified object type can be cast to the type represented by the interface. - The type to cast to. - The object for which to check casting. - - if cast will succeed; otherwise, . - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class with the renewal time of the sponsored object. - The by which to increase the lifetime of the sponsored objects when renewal is requested. - - - Empties the list objects registered with the current . - - - Frees the resources of the current before the garbage collector reclaims them. - - - Initializes a new instance of , providing a lease for the current object. - An for the current object. - - - Registers the specified for sponsorship. - The object to register for sponsorship with the . - - if registration succeeded; otherwise, . - - - Requests a sponsoring client to renew the lease for the specified object. - The lifetime lease of the object that requires lease renewal. - The additional lease time for the specified object. - - - Unregisters the specified from the list of objects sponsored by the current . - The object to unregister. - - - Registers a sponsor for the lease without renewing the lease. - The callback object of the sponsor. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Registers a sponsor for the lease, and renews it by the specified . - The callback object of the sponsor. - The length of time to renew the lease by. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Renews a lease for the specified time. - The length of time to renew the lease by. - The new expiration time of the lease. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Removes a sponsor from the sponsor list. - The lease sponsor to unregister. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Requests a sponsoring client to renew the lease for the specified object. - The lifetime lease of the object that requires lease renewal. - The additional lease time for the specified object. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Creates an instance of . - - - Implements the interface. - The request interface. - The response interface. - No value is returned. - - - Gets the response message for the asynchronous call. - A remoting message that should represent a response to a method call on a remote object. - - - Sets an for the current remote method call, which provides a way to control asynchronous messages after they have been dispatched. - The for the current remote method call. - - - Synchronously processes a response message returned by a method call on a remote object. - A response message to a method call on a remote object. - Returns . - - - Empties a data slot with the specified name. - The name of the data slot to empty. - The immediate caller does not have infrastructure permission. - - - Retrieves an object with the specified name from the . - The name of the item in the call context. - The object in the call context associated with the specified name. - The immediate caller does not have infrastructure permission. - - - Returns the headers that are sent along with the method call. - The headers that are sent along with the method call. - The immediate caller does not have infrastructure permission. - - - Retrieves an object with the specified name from the logical call context. - The name of the item in the logical call context. - The object in the logical call context associated with the specified name. - The immediate caller does not have infrastructure permission. - - - Stores a given object in the logical call context and associates it with the specified name. - The name with which to associate the new item in the logical call context. - The object to store in the logical call context, this object must be serializable. - The immediate caller does not have infrastructure permission. - - - Stores a given object and associates it with the specified name. - The name with which to associate the new item in the call context. - The object to store in the call context. - The immediate caller does not have infrastructure permission. - - - Sets the headers that are sent along with the method call. - A array of the headers that are to be sent along with the method call. - The immediate caller does not have infrastructure permission. - - - Initializes a new instance of the class from an array of remoting headers. - An array of remoting headers that contain key-value pairs. This array is used to initialize fields for those headers that belong to the namespace "http://schemas.microsoft.com/clr/soap/messageProperties". - - - Initializes a new instance of the class by copying an existing message. - A remoting message. - - - Initializes a new instance of the class from an array of remoting headers and a request message. - An array of remoting headers that contain key-value pairs. This array is used to initialize fields for those headers that belong to the namespace "http://schemas.microsoft.com/clr/soap/messageProperties". - A request message that constitutes a constructor call on a remote object. - - - Initializes a new instance of the class with the given name and value. - The name of the . - The object that contains the value for the . - - - Initializes a new instance of the class with the given name, value, and additional configuration information. - The name of the . - The object that contains the value for the . - Indicates whether the receiving end must understand the out-of-band data. - - - Initializes a new instance of the class. - The name of the . - The object that contains the value of the . - Indicates whether the receiving end must understand out-of-band data. - The XML namespace. - - - Cancels an asynchronous call. - The number of milliseconds after which to cancel the message. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Asynchronously processes the given message. - The message to process. - The reply sink for the reply message. - Returns an interface that provides a way to control asynchronous messages after they have been dispatched. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Synchronously processes the given message. - The message to process. - A reply message in response to the request. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Returns the specified argument that is not marked as an parameter. - The number of the requested argument. - The requested argument that is not marked as an parameter. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Returns the name of the specified argument that is not marked as an parameter. - The number of the requested argument. - The name of a specific argument that is not marked as an parameter. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets a specific argument as an . - The number of the requested argument. - The argument passed to the method. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets the name of the argument passed to the method. - The number of the requested argument. - The name of the specified argument passed to the method, or if the current method is not implemented. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Returns the specified argument marked as a or an parameter. - The number of the requested argument. - The specified argument marked as a or an parameter. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Returns the name of the specified argument marked as a or an parameter. - The number of the requested argument name. - The argument name, or if the current method is not implemented. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Initializes a new instance of the class. - A message that acts either as an outgoing method call on a remote object, or as the subsequent response. - - - Begins the deserialization process of a remote procedure call (RPC). - The from which the data is deserialized. - The delegate designed to handle objects. Can be . - The root of the deserialized object graph. - - - Starts the serialization process of a remote procedure call (RPC). - The onto which the specified graph is serialized. - The root of the object graph to be serialized. - The array of objects to transmit with the graph specified by the parameter. Can be . - - - Creates a new object that is a copy of the current instance. - A new object that is a copy of this instance. - - - Empties a data slot with the specified name. - The name of the data slot to empty. - - - Retrieves an object associated with the specified name from the current instance. - The name of the item in the call context. - The object in the logical call context associated with the specified name. - - - Populates a specified with the data needed to serialize the current . - The to populate with data. - The contextual information about the source or destination of the serialization. - - is . - The immediate caller does not have SerializationFormatter permission. - - - Stores the specified object in the current instance, and associates it with the specified name. - The name with which to associate the new item in the call context. - The object to store in the call context. - - - Initializes a new instance of the class from an array of remoting headers. - An array of remoting headers that contains key/value pairs. This array is used to initialize fields for headers that belong to the namespace "http://schemas.microsoft.com/clr/soap/messageProperties". - - - Initializes a new instance of the class by copying an existing message. - A remoting message. - - - Gets a method argument, as an object, at a specified index. - The index of the requested argument. - The method argument as an object. - - - Gets the name of a method argument at a specified index. - The index of the requested argument. - The name of the method argument. - - - Gets a method argument at a specified index that is not marked as an parameter. - The index of the requested argument. - The method argument that is not marked as an parameter. - - - Gets the name of a method argument at a specified index that is not marked as an parameter. - The index of the requested argument. - The name of the method argument that is not marked as an parameter. - - - The method is not implemented. - The data for serializing or deserializing the remote object. - The context of a certain serialized stream. - - - Initializes an internal serialization handler from an array of remoting headers that are applied to a method. - An array of remoting headers that contain key/value pairs. This array is used to initialize fields for headers that belong to the namespace "http://schemas.microsoft.com/clr/soap/messageProperties". - An internal serialization handler. - - - Initializes a . - - - Sets method information from previously initialized remoting message properties. - - - Sets method information from serialization settings. - The data for serializing or deserializing the remote object. - The context of a given serialized stream. - - - Initializes a new instance of the class by wrapping an interface. - A message that acts as an outgoing method call on a remote object. - - - Gets a method argument, as an object, at a specified index. - The index of the requested argument. - The method argument as an object. - - - Gets the name of a method argument at a specified index. - The index of the requested argument. - The name of the method argument. - - - Gets a method argument at a specified index that is not marked as an parameter. - The index of the requested argument. - The method argument that is not marked as an parameter. - - - Gets the name of a method argument at a specified index that is not marked as an out parameter. - The index of the requested argument. - The name of the method argument that is not marked as an out parameter. - - - Initializes a new instance of the class from an array of remoting headers and a request message. - An array of remoting headers that contains key/value pairs. This array is used to initialize fields for headers that belong to the namespace "http://schemas.microsoft.com/clr/soap/messageProperties". - A request message that acts as a method call on a remote object. - - - Gets a method argument, as an object, at a specified index. - The index of the requested argument. - The method argument as an object. - - - Gets the name of a method argument at a specified index. - The index of the requested argument. - The name of the method argument. - - - The method is not implemented. - Data for serializing or deserializing the remote object. - Context of a certain serialized stream. - - - Returns the specified argument marked as a parameter or an parameter. - The index of the requested argument. - The specified argument marked as a parameter or an parameter. - - - Returns the name of the specified argument marked as a parameter or an parameter. - The index of the requested argument. - The argument name, or if the current method is not implemented. - - - Initializes an internal serialization handler from an array of remoting headers that are applied to a method. - An array of remoting headers that contain key/value pairs. This array is used to initialize fields for headers that belong to the namespace "http://schemas.microsoft.com/clr/soap/messageProperties". - An internal serialization handler. - - - Sets method information from serialization settings. - The data for serializing or deserializing the remote object. - The context of a certain serialized stream. - - - Wraps an to create a . - A message that acts as an outgoing method call on a remote object. - - - Gets a method argument, as an object, at a specified index. - The index of the requested argument. - The method argument as an object. - - - Gets the name of a method argument at a specified index. - The index of the requested argument. - The name of the method argument. - - - Returns the specified argument marked as a parameter or an parameter. - The index of the requested argument. - The specified argument marked as a parameter or an parameter. - - - Returns the name of the specified argument marked as a parameter or an parameter. - The index of the requested argument. - The argument name, or if the current method is not implemented. - - - Creates an instance of . - - - Initializes a new instance of the class. - - - Adds the specified to the surrogate selector chain. - The next to examine. - - - Returns the next in the chain of surrogate selectors. - The next in the chain of surrogate selectors. - - - Returns the object at the root of the object graph. - The object at the root of the object graph. - - - Returns the appropriate surrogate for the given type in the given context. - The for which the surrogate is requested. - The source or destination of serialization. - When this method returns, contains an that is appropriate for the specified object type. This parameter is passed uninitialized. - The appropriate surrogate for the given type in the given context. - - - Sets the object at the root of the object graph. - The object at the root of the object graph. - The parameter is . - - - Sets up the current surrogate selector to use the SOAP format. - - - Initializes a new instance of the class. - The exception that was thrown during execution of the remotely called method. - An with which to create an instance of the class. - - - Initializes a new instance of the class with all the information returning to the caller after the method call. - The object returned by the invoked method from which the current instance originated. - The objects returned from the invoked method as parameters. - The number of parameters returned from the invoked method. - The of the method call. - The original method call to the invoked method. - - - Returns a specified argument passed to the remote method during the method call. - The zero-based index of the requested argument. - An argument passed to the remote method during the method call. - - - Returns the name of a specified method argument. - The zero-based index of the requested argument name. - The name of a specified method argument. - - - Returns the object passed as an or parameter during the remote method call. - The zero-based index of the requested or parameter. - The object passed as an or parameter during the remote method call. - - - Returns the name of a specified or parameter passed to the remote method. - The zero-based index of the requested argument. - A string representing the name of the specified or parameter, or if the current method is not implemented. - - - Creates an instance of . - - - Creates an instance of class. - - - Returns a value indicating whether the current attribute contains interop XML element values. - - if the current attribute contains interop XML element values; otherwise, . - - - Creates an instance of . - - - Creates an instance of . - - - Creates an instance of . - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified URI. - A that contains a URI. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the binary representation of a 64-bit number. - A array that contains a 64-bit number. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - One of the following: - is . The length of is less than 4.The length of is not a multiple of 4. - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a specified object. - A object to initialize the current instance. - - - Initializes a new instance of the class with a specified object and an integer that indicates whether is a positive or negative value. - A object to initialize the current instance. - An integer that indicates whether is positive. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - does not contain a date and time that corresponds to any of the recognized format patterns. - - - Returns as a . - A that is obtained from in the format "yyyy-MM-dd" or "'-'yyyy-MM-dd" if is negative. - - - Creates an instance of . - - - Converts the specified into a object. - The to convert. - A object obtained from . - One of the following: - is an empty string. - is reference. - does not contain a date and time that corresponds to any of the recognized format patterns. - - - Returns the specified object as a . - The object to convert. - A representation of in the format "yyyy-MM-dd'T'HH:mm:ss.fffffffzzz". - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a specified object. - A object to initialize the current instance. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - does not contain a date and time that corresponds to any of the recognized format patterns. - - - Returns as a . - A obtained from in the format "---dd". - - - Creates an instance of . - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - does not contain a date and time that corresponds to any of the recognized format patterns. - - - Returns the specified object as a . - The object to convert. - A representation of in the format "PxxYxxDTxxHxxMxx.xxxS" or "PxxYxxDTxxHxxMxxS". The "PxxYxxDTxxHxxMxx.xxxS" is used if does not equal zero. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with an XML attribute. - A that contains an XML attribute. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with an XML attribute. - A that contains an XML attribute. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - A array that contains a hexadecimal number. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with an XML attribute. - A that contains an XML attribute. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with an XML attribute. - A that contains an XML attribute. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with an XML attribute. - A that contains an XML attribute. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a value. - A value to initialize the current instance. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the language identifier value of attribute. - A that contains the language identifier value of a attribute. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A object that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a specified object. - A object to initialize the current instance. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - does not contain a date and time that corresponds to any of the recognized format patterns. - - - Returns as a . - A that is obtained from in the format "--MM--". - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a specified object. - A object to initialize the current instance. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - does not contain a date and time that corresponds to any of the recognized format patterns. - - - Returns as a . - A that is obtained from in the format "'--'MM'-'dd". - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with an XML type. - A that contains an XML type. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with an XML type. - A that contains an XML type. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a value. - A value to initialize the current instance. - - is greater than -1. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with an XML attribute. - A containing an XML attribute. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with an XML attribute. - A that contains an XML attribute. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a value. - A value to initialize the current instance. - - is less than 0. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a value. - A value to initialize the current instance. - - is greater than zero. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a normalized string. - A object that contains a normalized string. - - contains invalid characters (0xD, 0xA, or 0x9). - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object obtained from . - - contains invalid characters (0xD, 0xA, or 0x9). - - - Returns as a . - A that is obtained from in the format "<![CDATA[" + + "]]>". - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with an XML attribute. - A that contains an XML attribute. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a value. - A value to initialize the current instance. - - is less than 1. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the local part of a qualified name. - A that contains the local part of a qualified name. - - - Initializes a new instance of the class with the namespace alias and the local part of a qualified name. - A that contains the namespace alias of a qualified name. - A that contains the local part of a qualified name. - - - Initializes a new instance of the class with the namespace alias, the local part of a qualified name, and the namespace that is referenced by the alias. - A that contains the namespace alias of a qualified name. - A that contains the local part of a qualified name. - A that contains the namespace that is referenced by . - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A indicating the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns the qualified name as a . - A in the format " : ". If is not specified, this method returns . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a specified object. - A object to initialize the current instance. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - does not contain a date and time that corresponds to any of the recognized format patterns. - - - Returns as a . - A that is obtained from in the format "HH:mm:ss.fffzzz". - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with an XML . - A that contains an XML . - One of the following: - contains invalid characters (0xD or 0x9). - [0] or [ .Length - 1] contains white space. - contains any spaces. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - - Returns as a . - A that is obtained from . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a specified object. - A object to initialize the current instance. - - - Initializes a new instance of the class with a specified object and an integer that indicates whether is a positive or negative value. - A object to initialize the current instance. - An integer that indicates whether is positive. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert. - A object that is obtained from . - - does not contain a date and time that corresponds to any of the recognized format patterns. - - - Returns as a . - A that is obtained from in the format "yyyy" or "-yyyy" if is negative. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with a specified object. - A object to initialize the current instance. - - - Initializes a new instance of the class with a specified object and an integer that indicates whether is a positive or negative value. - A object to initialize the current instance. - An integer that indicates whether is positive. - - - Returns the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Converts the specified into a object. - The to convert - A object that is obtained from . - - does not contain a date and time that corresponds to any of the recognized format patterns. - - - Returns a as a . - A that is obtained from in the format "yyyy-MM" or "'-'yyyy-MM" if is negative. - - - Initializes an instance of the class, wrapping the given object . - The object that is wrapped by the new . - - - Initializes the lifetime lease of the wrapped object. - An initialized that allows you to control the lifetime of the wrapped object. - - - Returns the wrapped object. - The wrapped object. - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class to reference a specified of a specified . - The object that the new instance will reference. - The of the object that the new instance will reference. - - - Initializes a new instance of the class from serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination of the exception. - - - Populates a specified with the data needed to serialize the current instance. - The to populate with data. - The contextual information about the source or destination of the serialization. - The parameter is . - The immediate caller does not have serialization formatter permission. - - - Returns a reference to the remote object that the describes. - The context where the current object resides. - A reference to the remote object that the describes. - The immediate caller does not have serialization formatter permission. - - - Returns a Boolean value that indicates whether the current instance references an object located in the current . - A Boolean value that indicates whether the current instance references an object located in the current . - - - Returns a Boolean value that indicates whether the current instance references an object located in the current process. - A Boolean value that indicates whether the current instance references an object located in the current process. - - - Initializes a new instance of the class with default values. - - - Creates either an uninitialized or a transparent proxy, depending on whether the specified type can exist in the current context. - The object type to create an instance of. - An uninitialized or a transparent proxy. - - - Creates an instance of a remoting proxy for a remote object described by the specified , and located on the server. - The object reference to the remote object for which to create a proxy. - The type of the server where the remote object is located. - The server object. - The context in which the server object is located. - The new instance of remoting proxy for the remote object that is described in the specified . - - - Gets properties for a new context. - The message for which the context is to be retrieved. - - - Checks the specified context. - The context to be verified. - The message for the remote call. - The specified context. - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class that represents a remote object of the specified . - The of the remote object for which to create a proxy. - - is not an interface, and is not derived from . - - - Initializes a new instance of the class. - The of the remote object for which to create a proxy. - A stub to associate with the new proxy instance. - The stub data to set for the specified stub and the new proxy instance. - - is not an interface, and is not derived from . - - - Attaches the current proxy instance to the specified remote . - The that the current proxy instance represents. - The immediate caller does not have UnmanagedCode permission. - - - Creates an for the specified object type, and registers it with the remoting infrastructure as a client-activated object. - The object type that an is created for. - A new instance of that is created for the specified type. - - - Detaches the current proxy instance from the remote server object that it represents. - The detached server object. - The immediate caller does not have UnmanagedCode permission. - - - Requests an unmanaged reference to the object represented by the current proxy instance. - - if the object reference is requested for marshaling to a remote location; if the object reference is requested for communication with unmanaged objects in the current process through COM. - A pointer to a COM Callable Wrapper if the object reference is requested for communication with unmanaged objects in the current process through COM, or a pointer to a cached or newly generated COM interface if the object reference is requested for marshaling to a remote location. - - - Adds the transparent proxy of the object represented by the current instance of to the specified . - The into which the transparent proxy is serialized. - The source and destination of the serialization. - The or parameter is . - The immediate caller does not have SerializationFormatter permission. - - - Returns the of the object that the current instance of represents. - The of the object that the current instance of represents. - - - Retrieves stub data that is stored for the specified proxy. - The proxy for which stub data is requested. - Stub data for the specified proxy. - The immediate caller does not have UnmanagedCode permission. - - - Returns the transparent proxy for the current instance of . - The transparent proxy for the current proxy instance. - - - Returns the server object that is represented by the current proxy instance. - The server object that is represented by the current proxy instance. - The immediate caller does not have UnmanagedCode permission. - - - Initializes a new instance of the object of the remote object that the current instance of represents with the specified . - A construction call message that contains the constructor parameters for the new instance of the remote object that is represented by the current . Can be . - The result of the construction request. - The immediate caller does not have UnmanagedCode permission. - - - When overridden in a derived class, invokes the method that is specified in the provided on the remote object that is represented by the current instance. - A that contains a of information about the method call. - The message returned by the invoked method, containing the return value and any or parameters. - - - Stores an unmanaged proxy of the object that is represented by the current instance. - A pointer to the interface for the object that is represented by the current proxy instance. - - - Sets the stub data for the specified proxy. - The proxy for which to set stub data. - The new stub data. - The immediate caller does not have UnmanagedCode permission. - - - Requests a COM interface with the specified ID. - A reference to the requested interface. - A pointer to the requested interface. - - - Reads the configuration file and configures the remoting infrastructure. is obsolete. Please use instead. - The name of the remoting configuration file. Can be . - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Reads the configuration file and configures the remoting infrastructure. - The name of the remoting configuration file. Can be . - If set to security is required. If set to , security is not required but still may be used. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Indicates whether the server channels in this application domain return filtered or complete exception information to local or remote callers. - - to specify local callers; to specify remote callers. - - if only filtered exception information is returned to local or remote callers, as specified by the parameter; if complete exception information is returned. - - - Retrieves an array of object types registered on the client as types that will be activated remotely. - An array of object types registered on the client as types that will be activated remotely. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Retrieves an array of object types registered on the service end that can be activated on request from a client. - An array of object types registered on the service end that can be activated on request from a client. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Retrieves an array of object types registered on the client end as well-known types. - An array of object types registered on the client end as well-known types. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Retrieves an array of object types registered on the service end as well-known types. - An array of object types registered on the service end as well-known types. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Returns a Boolean value that indicates whether the specified is allowed to be client activated. - The object to check. - - if the specified is allowed to be client activated; otherwise, . - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Checks whether the object specified by its type name and assembly name is registered as a remotely activated client type. - The type name of the object to check. - The assembly name of the object to check. - The that corresponds to the specified object type. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Checks whether the specified object is registered as a remotely activated client type. - The object type to check. - The that corresponds to the specified object type. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Checks whether the object specified by its type name and assembly name is registered as a well-known client type. - The type name of the object to check. - The assembly name of the object to check. - The that corresponds to the specified object type. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Checks whether the specified object is registered as a well-known client type. - The object to check. - The that corresponds to the specified object type. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Registers an object recorded in the provided on the client end as a type that can be activated on the server. - Configuration settings for the client-activated type. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Registers an object on the client end as a type that can be activated on the server, using the given parameters to initialize a new instance of the class. - The object . - URL of the application where this type is activated. - The or parameter is . - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Registers an object type recorded in the provided on the service end as one that can be activated on request from a client. - Configuration settings for the client-activated type. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Registers a specified object type on the service end as a type that can be activated on request from a client. - The of object to register. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Registers an object recorded in the provided on the client end as a well-known type that can be activated on the server. - Configuration settings for the well-known type. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Registers an object on the client end as a well-known type that can be activated on the server, using the given parameters to initialize a new instance of the class. - The object . - URL of a well-known client object. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Registers an object recorded in the provided on the service end as a well-known type. - Configuration settings for the well-known type. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Registers an object on the service end as a well-known type, using the given parameters to initialize a new instance of . - The object . - The object URI. - The activation mode of the well-known object type being registered. (See .) - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class from serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination of the exception. - The parameter is . - - - Initializes a new instance of the class with a specified message. - The error message that explains why the exception occurred. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains why the exception occurred. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Creates a proxy for a well-known object, given the and URL. - The of a well-known object on the server end to which you want to connect. - The URL of the server class. - A proxy to the remote object that points to an endpoint served by the specified well-known object. - The immediate caller does not have permission to configure remoting types and channels. - - - Creates a proxy for a well-known object, given the , URL, and channel-specific data. - The of the well-known object to which you want to connect. - The URL of the well-known object. - Channel specific data. Can be . - A proxy that points to an endpoint that is served by the requested well-known object. - The immediate caller does not have permission to configure remoting types and channels. - - - Stops an object from receiving any further messages through the registered remoting channels. - Object to disconnect from its channel. - - if the object was disconnected from the registered remoting channels successfully; otherwise, . - The parameter is . - The parameter is a proxy. - The immediate caller does not have permission to configure remoting types and channels. - - - Connects to the specified remote object, and executes the provided on it. - The remote object whose method you want to call. - A method call message to the specified remote object's method. - The response of the remote method. - The immediate caller does not have infrastructure permission. - The method was called from a context other than the native context of the object. - - - Returns a chain of envoy sinks that should be used when sending messages to the remote object represented by the specified proxy. - The proxy of the remote object that requested envoy sinks are associated with. - A chain of envoy sinks associated with the specified proxy. - The immediate caller does not have infrastructure permission. - - - Returns a lifetime service object that controls the lifetime policy of the specified object. - The object to obtain lifetime service for. - The object that controls the lifetime of . - The immediate caller does not have infrastructure permission. - - - Returns the method base from the given . - The method message to extract the method base from. - The method base extracted from the parameter. - Either the immediate caller does not have infrastructure permission, or at least one of the callers higher in the callstack does not have permission to retrieve the type information of non-public members. - - - Serializes the specified marshal by reference object into the provided . - The object to serialize. - The into which the object is serialized. - The source and destination of the serialization. - The or parameter is . - The immediate caller does not have infrastructure permission. - - - Retrieves the URI for the specified object. - The for which a URI is requested. - The URI of the specified object if it has one, or if the object has not yet been marshaled. - The immediate caller does not have infrastructure permission. - - - Returns the that represents the remote object from the specified proxy. - A proxy connected to the object you want to create a for. - A that represents the remote object the specified proxy is connected to, or if the object or proxy have not been marshaled. - The immediate caller does not have infrastructure permission. - - - Returns the real proxy backing the specified transparent proxy. - A transparent proxy. - The real proxy instance backing the transparent proxy. - The immediate caller does not have infrastructure permission. - - - Returns the of the object with the specified URI. - The URI of the object whose is requested. - The of the object with the specified URI. - Either the immediate caller does not have infrastructure permission, or at least one of the callers higher in the callstack does not have permission to retrieve the type information of non-public members. - - - Retrieves a session ID for a message. - The for which a session ID is requested. - A session ID string that uniquely identifies the current session. - The immediate caller does not have infrastructure permission. - - - Returns a Boolean value that indicates whether the method in the given message is overloaded. - The message that contains a call to the method in question. - - if the method called in is overloaded; otherwise, . - The immediate caller does not have infrastructure permission. - - - Returns a Boolean value that indicates whether the object specified by the given transparent proxy is contained in a different application domain than the object that called the current method. - The object to check. - - if the object is out of the current application domain; otherwise, . - - - Returns a Boolean value that indicates whether the object represented by the given proxy is contained in a different context than the object that called the current method. - The object to check. - - if the object is out of the current context; otherwise, . - - - Returns a Boolean value that indicates whether the client that called the method specified in the given message is waiting for the server to finish processing the method before continuing execution. - The method in question. - - if the method is one way; otherwise, . - The immediate caller does not have infrastructure permission. - - - Returns a Boolean value that indicates whether the given object is a transparent proxy or a real object. - The reference to the object to check. - A Boolean value that indicates whether the object specified in the parameter is a transparent proxy or a real object. - - - Logs the stage in a remoting exchange to an external debugger. - An internally defined constant that identifies the stage in a remoting exchange. - - - Takes a , registers it with the remoting infrastructure, and converts it into an instance of the class. - The object to convert. - An instance of the class that represents the object specified in the parameter. - The parameter is an object proxy. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Converts the given into an instance of the class with the specified URI. - The object to convert. - The specified URI with which to initialize the new . Can be . - An instance of the class that represents the object specified in the parameter. - - is an object proxy, and the parameter is not . - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Takes a and converts it into an instance of the class with the specified URI, and the provided . - The object to convert into a . - The URI the object specified in the parameter is marshaled with. Can be . - The is marshaled as. Can be . - An instance of the class that represents the object specified in the parameter. - - is a proxy of a remote object, and the parameter is not . - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Sets the URI for the subsequent call to the method. - The object to set a URI for. - The URI to assign to the specified object. - - is not a local object, has already been marshaled, or the current method has already been called on. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Takes a and creates a proxy object out of it. - The that represents the remote object for which the proxy is being created. - A proxy to the object that the given represents. - The instance specified in the parameter is not well-formed. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Takes a and creates a proxy object out of it, refining it to the type on the server. - The that represents the remote object for which the proxy is being created. - - to refine the proxy to the type on the server; otherwise, . - A proxy to the object that the given represents. - The instance specified in the parameter is not well-formed. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of class with a specified message. - The message that indicates the reason why the exception occurred. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with a specified message. - The message that describes the exception - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Creates an instance of . - - - Constructs a from the specified . - A construction call to the object from which the new instance is returning. - A that represents the object that is constructed with the construction call in . - A returned from the construction call that is specified in the parameter. - - - Switches a COM Callable Wrapper (CCW) from one instance of a class to another instance of the same class. - A proxy that represents the old instance of a class that is referenced by a CCW. - A proxy that represents the new instance of a class that is referenced by a CCW. - The immediate caller does not have UnmanagedCode permission. - - - Wraps the specified COM interface with a Runtime Callable Wrapper (RCW). - A pointer to the COM interface to wrap. - The RCW where the specified is wrapped. - The immediate caller does not have UnmanagedCode permission. - - - Notifies the current instance that an object has been disconnected from its proxy. - The disconnected object. - - - Notifies the current instance that an object has been marshaled. - The object that has been marshaled. - The that results from marshaling and represents the specified object. - - - Notifies the current instance that an object has been unmarshaled. - The unmarshaled object. - The that represents the specified object. - - - Creates an instance of . - - - Registers a new tracking handler with the . - The tracking handler to register. - - is . - The handler that is indicated in the parameter is already registered with . - - - Unregisters the specified tracking handler from . - The handler to unregister. - - is . - The handler that is indicated in the parameter is not registered with . - - - Returns the common language runtime type namespace name from the provided namespace and assembly names. - The namespace that is to be coded. - The name of the assembly that is to be coded. - The common language runtime type namespace name from the provided namespace and assembly names. - The and parameters are both either or empty. - The immediate caller does not have infrastructure permission. - - - Decodes the XML namespace and assembly names from the provided common language runtime namespace. - The common language runtime namespace. - When this method returns, contains a that holds the decoded namespace name. This parameter is passed uninitialized. - When this method returns, contains a that holds the decoded assembly name. This parameter is passed uninitialized. - - if the namespace and assembly names were successfully decoded; otherwise, . - The parameter is or empty. - The immediate caller does not have infrastructure permission. - - - Retrieves field type from XML attribute name, namespace, and the of the containing object. - The of the object that contains the field. - The XML attribute name of the field type. - The XML namespace of the field type. - When this method returns, contains a of the field. This parameter is passed uninitialized. - When this method returns, contains a that holds the name of the field. This parameter is passed uninitialized. - The immediate caller does not have infrastructure permission. - - - Retrieves the and name of a field from the provided XML element name, namespace, and the containing type. - The of the object that contains the field. - The XML element name of field. - The XML namespace of the field type. - When this method returns, contains a of the field. This parameter is passed uninitialized. - When this method returns, contains a that holds the name of the field. This parameter is passed uninitialized. - The immediate caller does not have infrastructure permission. - - - Retrieves the that should be used during deserialization of an unrecognized object type with the given XML element name and namespace. - The XML element name of the unknown object type. - The XML namespace of the unknown object type. - The of object associated with the specified XML element name and namespace. - The immediate caller does not have infrastructure permission. - - - Retrieves the object that should be used during deserialization of an unrecognized object type with the given XML type name and namespace. - The XML type of the unknown object type. - The XML type namespace of the unknown object type. - The of object associated with the specified XML type name and namespace. - The immediate caller does not have infrastructure permission. - - - Returns the SOAPAction value associated with the method specified in the given . - The that contains the method for which a SOAPAction is requested. - The SOAPAction value associated with the method specified in the given . - The immediate caller does not have infrastructure permission. - - - Determines the type and method name of the method associated with the specified SOAPAction value. - The SOAPAction of the method for which the type and method names were requested. - When this method returns, contains a that holds the type name of the method in question. This parameter is passed uninitialized. - When this method returns, contains a that holds the method name of the method in question. This parameter is passed uninitialized. - - if the type and method name were successfully recovered; otherwise, . - The SOAPAction value does not start and end with quotes. - The immediate caller does not have infrastructure permission. - - - Returns XML element information that should be used when serializing the given type. - The object for which the XML element and namespace names were requested. - When this method returns, contains a that holds the XML element name of the specified object type. This parameter is passed uninitialized. - When this method returns, contains a that holds the XML namespace name of the specified object type. This parameter is passed uninitialized. - - if the requested values have been set flagged with ; otherwise, . - The immediate caller does not have infrastructure permission. - - - Retrieves the XML namespace used during remote calls of the method specified in the given . - The of the method for which the XML namespace was requested. - The XML namespace used during remote calls of the specified method. - The immediate caller does not have infrastructure permission. - - - Retrieves the XML namespace used during the generation of responses to the remote call to the method specified in the given . - The of the method for which the XML namespace was requested. - The XML namespace used during the generation of responses to a remote method call. - The immediate caller does not have infrastructure permission. - - - Returns XML type information that should be used when serializing the given . - The object for which the XML element and namespace names were requested. - The XML type of the specified object . - The XML type namespace of the specified object . - - if the requested values have been set flagged with ; otherwise, . - The immediate caller does not have infrastructure permission. - - - Returns a Boolean value that indicates whether the specified namespace is native to the common language runtime. - The namespace to check in the common language runtime. - - if the given namespace is native to the common language runtime; otherwise, . - The immediate caller does not have infrastructure permission. - - - Determines if the specified SOAPAction is acceptable for a given . - The SOAPAction to check against the given . - The the specified SOAPAction is checked against. - - if the specified SOAPAction is acceptable for a given ; otherwise, . - The immediate caller does not have infrastructure permission. - - - Preloads every found in the specified from the information found in the associated with each type. - The for each type of which to call . - The immediate caller does not have infrastructure permission. - - - Preloads the given based on values set in a on the type. - The to preload. - The immediate caller does not have infrastructure permission. - - - Associates the given XML element name and namespace with a run-time type that should be used for deserialization. - The XML element name to use in deserialization. - The XML namespace to use in deserialization. - The run-time to use in deserialization. - The immediate caller does not have infrastructure permission. - - - Associates the given XML type name and namespace with the run-time type that should be used for deserialization. - The XML type to use in deserialization. - The XML namespace to use in deserialization. - The run-time to use in deserialization. - The immediate caller does not have infrastructure permission. - - - Associates the specified with the SOAPAction cached with it. - The of the method to associate with the SOAPAction cached with it. - The immediate caller does not have infrastructure permission. - - - Associates the provided SOAPAction value with the given for use in channel sinks. - The to associate with the provided SOAPAction. - The SOAPAction value to associate with the given . - The immediate caller does not have infrastructure permission. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the given type, assembly name, and URL. - The type name of the server-activated type. - The assembly name of the server-activated type. - The URL of the server-activated type. - - - Initializes a new instance of the class with the given type and URL. - The of the server-activated type. - The URL of the server-activated type. - - - Returns the full type name, assembly name, and object URL of the server-activated client type as a . - The full type name, assembly name, and object URL of the server-activated client type as a . - - - Initializes a new instance of the class with the given type name, assembly name, object URI, and . - The full type name of the server-activated service type. - The assembly name of the server-activated service type. - The URI of the server-activated object. - The of the type, which defines how the object is activated. - - - Initializes a new instance of the class with the given , object URI, and . - The of the server-activated service type object. - The URI of the server-activated type. - The of the type, which defines how the object is activated. - - - Returns the type name, assembly name, object URI and the of the server-activated type as a . - The type name, assembly name, object URI, and the of the server-activated type as a . - - - Initializes a new instance of the class. - - - When overridden in a derived class, deserializes the stream attached to the formatter when it was created, creating a graph of objects identical to the graph originally serialized into that stream. - The stream to deserialize. - The top object of the deserialized graph of objects. - - - Returns the next object to serialize, from the formatter's internal work queue. - The ID assigned to the current object during serialization. - The next object to serialize. - The next object retrieved from the work queue did not have an assigned ID. - - - Schedules an object for later serialization. - The object to schedule for serialization. - The object ID assigned to the object. - - - When overridden in a derived class, serializes the graph of objects with the specified root to the stream already attached to the formatter. - The stream to which the objects are serialized. - The object at the root of the graph to serialize. - - - When overridden in a derived class, writes an array to the stream already attached to the formatter. - The array to write. - The name of the array. - The type of elements that the array holds. - - - When overridden in a derived class, writes a Boolean value to the stream already attached to the formatter. - The value to write. - The name of the member. - - - When overridden in a derived class, writes an 8-bit unsigned integer to the stream already attached to the formatter. - The value to write. - The name of the member. - - - When overridden in a derived class, writes a Unicode character to the stream already attached to the formatter. - The value to write. - The name of the member. - - - When overridden in a derived class, writes a value to the stream already attached to the formatter. - The value to write. - The name of the member. - - - When overridden in a derived class, writes a value to the stream already attached to the formatter. - The value to write. - The name of the member. - - - When overridden in a derived class, writes a double-precision floating-point number to the stream already attached to the formatter. - The value to write. - The name of the member. - - - When overridden in a derived class, writes a 16-bit signed integer to the stream already attached to the formatter. - The value to write. - The name of the member. - - - When overridden in a derived class, writes a 32-bit signed integer to the stream. - The value to write. - The name of the member. - - - When overridden in a derived class, writes a 64-bit signed integer to the stream. - The value to write. - The name of the member. - - - Inspects the type of data received, and calls the appropriate method to perform the write to the stream already attached to the formatter. - The name of the member to serialize. - The object to write to the stream attached to the formatter. - - - When overridden in a derived class, writes an object reference to the stream already attached to the formatter. - The object reference to write. - The name of the member. - The type of object the reference points to. - - - When overridden in a derived class, writes an 8-bit signed integer to the stream already attached to the formatter. - The value to write. - The name of the member. - - - When overridden in a derived class, writes a single-precision floating-point number to the stream already attached to the formatter. - The value to write. - The name of the member. - - - When overridden in a derived class, writes a value to the stream already attached to the formatter. - The value to write. - The name of the member. - - - When overridden in a derived class, writes a 16-bit unsigned integer to the stream already attached to the formatter. - The value to write. - The name of the member. - - - When overridden in a derived class, writes a 32-bit unsigned integer to the stream already attached to the formatter. - The value to write. - The name of the member. - - - When overridden in a derived class, writes a 64-bit unsigned integer to the stream already attached to the formatter. - The value to write. - The name of the member. - - - When overridden in a derived class, writes a value of the given type to the stream already attached to the formatter. - The object representing the value type. - The name of the member. - The of the value type. - - - Initializes a new instance of the class. - - - Converts a value to the given . - The object to convert. - The into which is converted. - The converted or if the parameter is . - The parameter is . - - - Converts a value to the given . - The object to convert. - The into which is converted. - The converted , or if the parameter is . - The parameter is . - - - Converts a value to a . - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Converts a value to an 8-bit unsigned integer. - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Converts a value to a Unicode character. - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Converts a value to a . - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Converts a value to a . - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Converts a value to a double-precision floating-point number. - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Converts a value to a 16-bit signed integer. - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Converts a value to a 32-bit signed integer. - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Converts a value to a 64-bit signed integer. - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Converts a value to a . - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Converts a value to a single-precision floating-point number. - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Converts the specified object to a . - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Converts a value to a 16-bit unsigned integer. - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Converts a value to a 32-bit unsigned integer. - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Converts a value to a 64-bit unsigned integer. - The object to convert. - The converted or if the parameter is . - The parameter is . - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class with a given surrogate selector and streaming context. - The to use. Can be . - The source and destination for the serialized data. - - - Deserializes the specified stream into an object graph. - The stream from which to deserialize the object graph. - The top (root) of the object graph. - The is . - The supports seeking, but its length is 0. - -or-The target type is a , but the value is out of range of the type. - The caller does not have the required permission. - - - Deserializes the specified stream into an object graph. The provided handles any headers in that stream. - The stream from which to deserialize the object graph. - The that handles any headers in the . Can be . - The deserialized object or the top object (root) of the object graph. - The is . - The supports seeking, but its length is 0. - -or-The target type is a , but the value is out of range of the type. - The caller does not have the required permission. - - - Deserializes a response to a remote method call from the provided . - The stream from which to deserialize the object graph. - The that handles any headers in the . Can be . - The that contains details about where the call came from. - The deserialized response to the remote method call. - The is . - The supports seeking, but its length is 0. - The caller does not have the required permission. - - - Serializes the object, or graph of objects with the specified top (root), to the given stream. - The stream to which the graph is to be serialized. - The object at the root of the graph to serialize. - The is . -or-The is null. - An error has occurred during serialization, such as if an object in the parameter is not marked as serializable. - The caller does not have the required permission. - - - Serializes the object, or graph of objects with the specified top (root), to the given stream attaching the provided headers. - The stream to which the object is to be serialized. - The object at the root of the graph to serialize. - Remoting headers to include in the serialization. Can be . - The is . - An error has occurred during serialization, such as if an object in the parameter is not marked as serializable. - The caller does not have the required permission. - - - Deserializes the specified stream into an object graph. The provided handles any headers in that stream. - The stream from which to deserialize the object graph. - The that handles any headers in the . Can be . - The deserialized object or the top object (root) of the object graph. - The is . - The supports seeking, but its length is 0. - The caller does not have the required permission. - - - Deserializes a response to a remote method call from the provided . - The stream from which to deserialize the object graph. - The that handles any headers in the . Can be . - The that contains details about where the call came from. - The deserialized response to the remote method call. - The is . - The supports seeking, but its length is 0. - The caller does not have the required permission. - - - Initializes a new instance of the class. - - - Prints SOAP trace messages. - An array of trace messages to print. - - - Checks if SOAP tracing is enabled. - - , if tracing is enabled; otherwise, . - - - Prints SOAP trace messages. - An array of trace messages to print. - - - Loads a specified assembly to debug. - The name of the assembly to load. - The to debug. - - - Sets the value of a field. - A containing data about the target field. - The field to change. - The value to set. - - - Processes the specified array of messages. - An array of messages to process. - - - Asserts the specified message. - A Boolean value to use when asserting. - The message to use when asserting. - - - Checks if SOAP tracing is enabled. - - , if tracing is enabled; otherwise, . - - - Initializes a new instance of the class. - The type of the exception that occurred on the server. - The message that accompanied the exception. - The stack trace of the thread that threw the exception on the server. - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class, setting the properties to specified values. - The fault code for the new instance of . The fault code identifies the type of the fault that occurred. - The fault string for the new instance of . The fault string provides a human readable explanation of the fault. - The URI of the object that generated the fault. - The description of a common language runtime exception. This information is also present in the property. - - - Populates the specified with the data to serialize the object. - The to populate with data. - The destination (see ) for the current serialization. - - - Initializes a new instance of the class. - - - Determines whether the specified can be deserialized with the property set to . - The to check for the ability to deserialize. - The property value. - The parameter is an advanced type and cannot be deserialized when the property is set to . - - - Extracts the data from the specified object and returns it as an array of objects. - The object to write to the formatter. - The members to extract from the object. - An array of that contains data stored in and associated with . - The or parameter is .An element of is . - An element of does not represent a field. - - - Creates a new instance of the specified object type. - The type of object to create. - A zeroed object of the specified type. - The parameter is . - The parameter is not a valid common language runtime type. - The caller does not have the required permission. - - - Gets all the serializable members for a class of the specified . - The type being serialized. - An array of type of the non-transient, non-static members. - The parameter is . - The caller does not have the required permission. - - - Gets all the serializable members for a class of the specified and in the provided . - The type being serialized or cloned. - The context where the serialization occurs. - An array of type of the non-transient, non-static members. - The parameter is . - The caller does not have the required permission. - - - Returns a serialization surrogate for the specified . - The specified surrogate. - An for the specified . - - - Looks up the of the specified object in the provided . - The assembly where you want to look up the object. - The name of the object. - The of the named object. - The parameter is . - The caller does not have the required permission. - - - Creates a new instance of the specified object type. - The type of object to create. - A zeroed object of the specified type. - The parameter is . - The caller does not have the required permission. - - - Populates the specified object with values for each field drawn from the data array of objects. - The object to populate. - An array of that describes which fields and properties to populate. - An array of that specifies the values for each field and property to populate. - The newly populated object. - The , , or parameter is .An element of is . - The length of does not match the length of . - An element of is not an instance of . - The caller does not have the required permission. - - - Runs when the entire object graph has been deserialized. - The object that initiated the callback. The functionality for this parameter is not currently implemented. - - - Deserializes the data on the provided stream and reconstitutes the graph of objects. - The stream that contains the data to deserialize. - The top object of the deserialized graph. - - - Serializes an object, or graph of objects with the given root to the provided stream. - The stream where the formatter puts the serialized data. This stream can reference a variety of backing stores (such as files, network, memory, and so on). - The object, or root of the object graph, to serialize. All child objects of this root object are automatically serialized. - - - Converts a value to the given . - The object to be converted. - The into which is to be converted. - The converted . - - - Converts a value to the given . - The object to be converted. - The into which is to be converted. - The converted . - - - Converts a value to a . - The object to be converted. - The converted . - - - Converts a value to an 8-bit unsigned integer. - The object to be converted. - The converted . - - - Converts a value to a Unicode character. - The object to be converted. - The converted . - - - Converts a value to a . - The object to be converted. - The converted . - - - Converts a value to a . - The object to be converted. - The converted . - - - Converts a value to a double-precision floating-point number. - The object to be converted. - The converted . - - - Converts a value to a 16-bit signed integer. - The object to be converted. - The converted . - - - Converts a value to a 32-bit signed integer. - The object to be converted. - The converted . - - - Converts a value to a 64-bit signed integer. - The object to be converted. - The converted . - - - Converts a value to a . - The object to be converted. - The converted . - - - Converts a value to a single-precision floating-point number. - The object to be converted. - The converted . - - - Converts a value to a . - The object to be converted. - The converted . - - - Converts a value to a 16-bit unsigned integer. - The object to be converted. - The converted . - - - Converts a value to a 32-bit unsigned integer. - The object to be converted. - The converted . - - - Converts a value to a 64-bit unsigned integer. - The object to be converted. - The converted . - - - Returns the real object that should be deserialized, rather than the object that the serialized stream specifies. - The from which the current object is deserialized. - Returns the actual object that is put into the graph. - The caller does not have the required permission. The call will not work on a medium trusted server. - - - This method is called when the instance is deserialized. - An object that contains the state of the instance. - - - Populates a with the data needed to serialize the target object. - The to populate with data. - The destination (see ) for this serialization. - The caller does not have the required permission. - - - Populates the provided with the data needed to serialize the object. - The object to serialize. - The to populate with data. - The destination (see ) for this serialization. - The caller does not have the required permission. - - - Populates the object using the information in the . - The object to populate. - The information to populate the object. - The source from which the object is deserialized. - The surrogate selector where the search for a compatible surrogate begins. - The populated deserialized object. - The caller does not have the required permission. - - - Specifies the next for surrogates to examine if the current instance does not have a surrogate for the specified type and assembly in the specified context. - The next surrogate selector to examine. - The caller does not have the required permission. - - - Returns the next surrogate selector in the chain. - The next surrogate selector in the chain or . - The caller does not have the required permission. - - - Finds the surrogate that represents the specified object's type, starting with the specified surrogate selector for the specified serialization context. - The of object (class) that needs a surrogate. - The source or destination context for the current serialization. - When this method returns, contains a that holds a reference to the surrogate selector where the appropriate surrogate was found. This parameter is passed uninitialized. - The appropriate surrogate for the given type in the given context. - The caller does not have the required permission. - - - Initializes a new instance of the class. - - - Returns the ID for the specified object, generating a new ID if the specified object has not already been identified by the . - The object you want an ID for. - - if was not previously known to the ; otherwise, . - The object's ID is used for serialization. is set to if this is the first time the object has been identified; otherwise, it is set to . - The parameter is . - The has been asked to keep track of too many objects. - - - Determines whether an object has already been assigned an ID. - The object you are asking for. - - if was not previously known to the ; otherwise, . - The object ID of if previously known to the ; otherwise, zero. - The parameter is . - - - Initializes a new instance of the class. - The surrogate selector to use. The determines the correct surrogate to use when deserializing objects of a given type. At deserialization time, the surrogate selector creates a new instance of the object from the information transmitted on the stream. - The streaming context. The is not used by , but is passed as a parameter to any objects implementing or having a . These objects can take specific actions depending on the source of the information to deserialize. - The caller does not have the required permission. - - - Performs all the recorded fixups. - A fixup was not successfully completed. - - - Returns the object with the specified object ID. - The ID of the requested object. - The object with the specified object ID if it has been previously stored or if no such object has been registered. - The parameter is less than or equal to zero. - - - Raises the deserialization event to any registered object that implements . - - - Invokes the method marked with the . - The instance of the type that contains the method to be invoked. - - - Records a fixup for one element in an array. - The ID of the array used to record a fixup. - The index within that a fixup is requested for. - The ID of the object that the current array element will point to after fixup is completed. - The or parameter is less than or equal to zero. - The parameter is . - - - Records fixups for the specified elements in an array, to be executed later. - The ID of the array used to record a fixup. - The indexes within the multidimensional array that a fixup is requested for. - The ID of the object the array elements will point to after fixup is completed. - The or parameter is less than or equal to zero. - The parameter is . - - - Records a fixup for an object member, to be executed later. - The ID of the object that needs the reference to . - The member name of where the fixup will be performed. - The ID of the object required by . - - or parameter is less than or equal to zero. - The parameter is . - - - Records a fixup for a member of an object, to be executed later. - The ID of the object that needs the reference to the object. - The member of where the fixup will be performed. - The ID of the object required by . - The or parameter is less than or equal to zero. - The parameter is . - - - Registers an object as it is deserialized, associating it with . - The object to register. - The ID of the object to register. - The parameter is . - The parameter is less than or equal to zero. - The has already been registered for an object other than . - - - Registers an object as it is deserialized, associating it with , and recording the used with it. - The object to register. - The ID of the object to register. - The used if implements or has a . will be completed with any required fixup information and then passed to the required object when that object is completed. - The parameter is . - The parameter is less than or equal to zero. - The has already been registered for an object other than . - - - Registers a member of an object as it is deserialized, associating it with , and recording the . - The object to register. - The ID of the object to register. - The used if implements or has a . will be completed with any required fixup information and then passed to the required object when that object is completed. - The ID of the object that contains . This parameter is required only if is a value type. - The field in the containing object where exists. This parameter has meaning only if is a value type. - The parameter is . - The parameter is less than or equal to zero. - The has already been registered for an object other than , or is not a and is not . - - - Registers a member of an array contained in an object while it is deserialized, associating it with , and recording the . - The object to register. - The ID of the object to register. - The used if implements or has a . will be completed with any required fixup information and then passed to the required object when that object is completed. - The ID of the object that contains . This parameter is required only if is a value type. - The field in the containing object where exists. This parameter has meaning only if is a value type. - If is a and a member of an array, contains the index within that array where exists. is ignored if is not both a and a member of an array. - The parameter is . - The parameter is less than or equal to zero. - The has already been registered for an object other than , or is not a and isn't . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Stores the state of the exception. - A state object that is serialized with the instance. - - - Initializes a new instance of the class. - - - When overridden in a derived class, controls the binding of a serialized object to a type. - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - When overridden in a derived class, controls the binding of a serialized object to a type. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - The type of the object the formatter creates a new instance of. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class from serialized data. - The serialization information object holding the serialized object data in the name-value form. - The contextual information about the source or destination of the exception. - The parameter is . - - - Initializes a new instance of the class with a specified message. - Indicates the reason why the exception occurred. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Creates a new instance of the class. - The of the object to serialize. - The used during deserialization. - - or is . - - - Initializes a new instance of the class. - The of the object to serialize. - The used during deserialization. - Indicates whether the object requires same token in partial trust. - - - Adds a Boolean value into the store. - The name to associate with the value, so it can be deserialized later. - The Boolean value to serialize. - The parameter is . - A value has already been associated with . - - - Adds an 8-bit unsigned integer value into the store. - The name to associate with the value, so it can be deserialized later. - The byte value to serialize. - The parameter is . - A value has already been associated with . - - - Adds a Unicode character value into the store. - The name to associate with the value, so it can be deserialized later. - The character value to serialize. - The parameter is . - A value has already been associated with . - - - Adds a value into the store. - The name to associate with the value, so it can be deserialized later. - The value to serialize. - The parameter is . - A value has already been associated with . - - - Adds a decimal value into the store. - The name to associate with the value, so it can be deserialized later. - The decimal value to serialize. - If The parameter is . - If a value has already been associated with . - - - Adds a double-precision floating-point value into the store. - The name to associate with the value, so it can be deserialized later. - The double value to serialize. - The parameter is . - A value has already been associated with . - - - Adds a 16-bit signed integer value into the store. - The name to associate with the value, so it can be deserialized later. - The value to serialize. - The parameter is . - A value has already been associated with . - - - Adds a 32-bit signed integer value into the store. - The name to associate with the value, so it can be deserialized later. - The value to serialize. - The parameter is . - A value has already been associated with . - - - Adds a 64-bit signed integer value into the store. - The name to associate with the value, so it can be deserialized later. - The Int64 value to serialize. - The parameter is . - A value has already been associated with . - - - Adds the specified object into the store, where it is associated with a specified name. - The name to associate with the value, so it can be deserialized later. - The value to be serialized. Any children of this object will automatically be serialized. - - is . - A value has already been associated with . - - - Adds a value into the store, where is associated with and is serialized as being of . - The name to associate with the value, so it can be deserialized later. - The value to be serialized. Any children of this object will automatically be serialized. - The to associate with the current object. This parameter must always be the type of the object itself or of one of its base classes. - If or is . - A value has already been associated with . - - - Adds an 8-bit signed integer value into the store. - The name to associate with the value, so it can be deserialized later. - The value to serialize. - The parameter is . - A value has already been associated with . - - - Adds a single-precision floating-point value into the store. - The name to associate with the value, so it can be deserialized later. - The single value to serialize. - The parameter is . - A value has already been associated with . - - - Adds a 16-bit unsigned integer value into the store. - The name to associate with the value, so it can be deserialized later. - The value to serialize. - The parameter is . - A value has already been associated with . - - - Adds a 32-bit unsigned integer value into the store. - The name to associate with the value, so it can be deserialized later. - The value to serialize. - The parameter is . - A value has already been associated with . - - - Adds a 64-bit unsigned integer value into the store. - The name to associate with the value, so it can be deserialized later. - The value to serialize. - The parameter is . - A value has already been associated with . - - - Retrieves a Boolean value from the store. - The name associated with the value to retrieve. - The Boolean value associated with . - - is . - The value associated with cannot be converted to a Boolean value. - An element with the specified name is not found in the current instance. - - - Retrieves an 8-bit unsigned integer value from the store. - The name associated with the value to retrieve. - The 8-bit unsigned integer associated with . - - is . - The value associated with cannot be converted to an 8-bit unsigned integer. - An element with the specified name is not found in the current instance. - - - Retrieves a Unicode character value from the store. - The name associated with the value to retrieve. - The Unicode character associated with . - - is . - The value associated with cannot be converted to a Unicode character. - An element with the specified name is not found in the current instance. - - - Retrieves a value from the store. - The name associated with the value to retrieve. - The value associated with . - - is . - The value associated with cannot be converted to a value. - An element with the specified name is not found in the current instance. - - - Retrieves a decimal value from the store. - The name associated with the value to retrieve. - A decimal value from the . - - is . - The value associated with cannot be converted to a decimal. - An element with the specified name is not found in the current instance. - - - Retrieves a double-precision floating-point value from the store. - The name associated with the value to retrieve. - The double-precision floating-point value associated with . - - is . - The value associated with cannot be converted to a double-precision floating-point value. - An element with the specified name is not found in the current instance. - - - Returns a used to iterate through the name-value pairs in the store. - A for parsing the name-value pairs contained in the store. - - - Retrieves a 16-bit signed integer value from the store. - The name associated with the value to retrieve. - The 16-bit signed integer associated with . - - is . - The value associated with cannot be converted to a 16-bit signed integer. - An element with the specified name is not found in the current instance. - - - Retrieves a 32-bit signed integer value from the store. - The name of the value to retrieve. - The 32-bit signed integer associated with . - - is . - The value associated with cannot be converted to a 32-bit signed integer. - An element with the specified name is not found in the current instance. - - - Retrieves a 64-bit signed integer value from the store. - The name associated with the value to retrieve. - The 64-bit signed integer associated with . - - is . - The value associated with cannot be converted to a 64-bit signed integer. - An element with the specified name is not found in the current instance. - - - Retrieves an 8-bit signed integer value from the store. - The name associated with the value to retrieve. - The 8-bit signed integer associated with . - - is . - The value associated with cannot be converted to an 8-bit signed integer. - An element with the specified name is not found in the current instance. - - - Retrieves a single-precision floating-point value from the store. - The name of the value to retrieve. - The single-precision floating-point value associated with . - - is . - The value associated with cannot be converted to a single-precision floating-point value. - An element with the specified name is not found in the current instance. - - - Retrieves a value from the store. - The name associated with the value to retrieve. - The associated with . - - is . - The value associated with cannot be converted to a . - An element with the specified name is not found in the current instance. - - - Retrieves a 16-bit unsigned integer value from the store. - The name associated with the value to retrieve. - The 16-bit unsigned integer associated with . - - is . - The value associated with cannot be converted to a 16-bit unsigned integer. - An element with the specified name is not found in the current instance. - - - Retrieves a 32-bit unsigned integer value from the store. - The name associated with the value to retrieve. - The 32-bit unsigned integer associated with . - - is . - The value associated with cannot be converted to a 32-bit unsigned integer. - An element with the specified name is not found in the current instance. - - - Retrieves a 64-bit unsigned integer value from the store. - The name associated with the value to retrieve. - The 64-bit unsigned integer associated with . - - is . - The value associated with cannot be converted to a 64-bit unsigned integer. - An element with the specified name is not found in the current instance. - - - Retrieves a value from the store. - The name associated with the value to retrieve. - The of the value to retrieve. If the stored value cannot be converted to this type, the system will throw a . - The object of the specified associated with . - - or is . - The value associated with cannot be converted to . - An element with the specified name is not found in the current instance. - - - Sets the of the object to serialize. - The of the object to serialize. - The parameter is . - - - Updates the enumerator to the next item. - - if a new element is found; otherwise, . - - - Resets the enumerator to the first item. - - - Initializes a new instance of the class. - An instance of the class that contains information about the current serialization operation. - - - Invokes the OnSerializing callback event if the type of the object has one; and registers the object for raising the OnSerialized event if the type of the object has one. - - - Registers the object upon which events will be raised. - The object to register. - - - Initializes a new instance of the class with a given context state. - A bitwise combination of the values that specify the source or destination context for this . - - - Initializes a new instance of the class with a given context state, and some additional information. - A bitwise combination of the values that specify the source or destination context for this . - Any additional information to be associated with the . This information is available to any object that implements or any serialization surrogate. Most users do not need to set this parameter. - - - Determines whether two instances contain the same values. - An object to compare with the current instance. - - if the specified object is an instance of and equals the value of the current instance; otherwise, . - - - Returns a hash code of this object. - The value that contains the source or destination of the serialization for this . - - - Initializes a new instance of the class. - - - Adds a surrogate to the list of checked surrogates. - The for which the surrogate is required. - The context-specific data. - The surrogate to call for this type. - The or parameter is . - A surrogate already exists for this type and context. - - - Adds the specified that can handle a particular object type to the list of surrogates. - The surrogate selector to add. - The parameter is . - The selector is already on the list of selectors. - The caller does not have the required permission. - - - Returns the next selector on the chain of selectors. - The next on the chain of selectors. - The caller does not have the required permission. - - - Returns the surrogate for a particular type. - The for which the surrogate is requested. - The streaming context. - The surrogate to use. - The surrogate for a particular type. - The parameter is . - The caller does not have the required permission. - - - Removes the surrogate associated with a given type. - The for which to remove the surrogate. - The for the current surrogate. - The parameter is . - - - Initializes a new instance of the class. - The reason why the method to which the attribute is applied is considered to be eligible for inlining across Native Image Generator (NGen) images. - - - Initializes a new instance of the class with a value that indicates a library, type, or member's guaranteed level of compatibility across multiple versions. - One of the enumeration values that specifies the level of compatibility that is guaranteed across multiple versions. - - - Initializes a new instance of the class specifying the scope of the consumed resource. - The for the consumed resource. - - - Initializes a new instance of the class specifying the scope of the consumed resource and the scope of how it is consumed. - The for the consumed resource. - The used by this member. - - - Initializes a new instance of the class with the specified exposure level. - The scope of the resource. - - - Initializes an instance of the class by specifying the .NET Framework version against which an assembly was built. - The version of the .NET Framework against which the assembly was built. - - is . - - - Returns a version-safe name based on the specified resource name and the intended resource consumption source. - The name of the resource. - The scope of the resource. - The desired resource consumption scope. - A version-safe name. - - - Returns a version-safe name based on the specified resource name, the intended resource consumption scope, and the type using the resource. - The name of the resource. - The beginning of the scope range. - The end of the scope range. - The of the resource. - A version-safe name. - The values for and are invalid. The resource type in the enumeration is going from a more restrictive resource type to a more general resource type. - - is. - - - Indicates whether the current instance is equal to the specified object. - The object to compare to the current instance. - - if is a and equal to the value of the current instance; otherwise, . - - - Indicates whether the current instance is equal to the specified . - The to compare to the current instance. - - if the value of is equal to the value of the current instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer that is the hash code for this instance. - - - Populates a with the data necessary to deserialize the field represented by the current instance. - The object to populate with serialization information. - (Reserved) The place to store and retrieve serialized data. - - is . - The property of the current instance is not a valid handle. - - - Indicates whether two structures are equal. - The to compare to . - The to compare to . - - if is equal to ; otherwise, . - - - Indicates whether two structures are not equal. - The to compare to . - The to compare to . - - if is not equal to ; otherwise, . - - - Indicates whether this instance is equal to a specified object. - A to compare to this instance. - - if is a and equal to the value of this instance; otherwise, . - - - Indicates whether this instance is equal to a specified . - A to compare to this instance. - - if is equal to the value of this instance; otherwise, . - - - Obtains a pointer to the method represented by this instance. - A pointer to the method represented by this instance. - The caller does not have the necessary permission to perform this operation. - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Populates a with the data necessary to deserialize the field represented by this instance. - The object to populate with serialization information. - (Reserved) The place to store and retrieve serialized data. - - is . - - is invalid. - - - Indicates whether two instances of are equal. - A to compare to . - A to compare to . - - if the value of is equal to the value of ; otherwise, . - - - Indicates whether two instances of are not equal. - A to compare to . - A to compare to . - - if the value of is unequal to the value of ; otherwise, . - - - Indicates whether the specified object is equal to the current structure. - An object to compare to the current instance. - - if is a structure and is equal to the value of this instance; otherwise, . - - - Indicates whether the specified structure is equal to the current structure. - The structure to compare to the current instance. - - if the value of is equal to the value of this instance; otherwise, . - - - Returns the hash code for the current instance. - A 32-bit signed integer hash code. - - - Gets a handle to the module that contains the type represented by the current instance. - A structure representing a handle to the module that contains the type represented by the current instance. - - - Populates a with the data necessary to deserialize the type represented by the current instance. - The object to be populated with serialization information. - (Reserved) The location where serialized data will be stored and retrieved. - - is . - - is invalid. - - - Indicates whether an object and a structure are equal. - An object to compare to . - A structure to compare to . - - if is a structure and is equal to ; otherwise, . - - - Indicates whether a structure is equal to an object. - A structure to compare to . - An object to compare to . - - if is a and is equal to ; otherwise, . - - - Indicates whether an object and a structure are not equal. - An object to compare to . - A structure to compare to . - - if is a and is not equal to ; otherwise, . - - - Indicates whether a structure is not equal to an object. - A structure to compare to . - An object to compare to . - - if is a structure and is not equal to ; otherwise, . - - - Compares this instance to a specified object and returns an indication of their relative values. - An object to compare, or . - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than .-or- - is . - - is not an . - - - Compares this instance to a specified 8-bit signed integer and returns an indication of their relative values. - An 8-bit signed integer to compare. - A signed integer that indicates the relative order of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare with this instance. - - if is an instance of and equals the value of this instance; otherwise, . - - - Returns a value indicating whether this instance is equal to a specified value. - An value to compare to this instance. - - if has the same value as this instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns the for value type . - The enumerated constant, . - - - Converts the string representation of a number to its 8-bit signed integer equivalent. - A string that represents a number to convert. The string is interpreted using the style. - An 8-bit signed integer that is equivalent to the number contained in the parameter. - - is . - - does not consist of an optional sign followed by a sequence of digits (zero through nine). - - represents a number less than or greater than . - - - Converts the string representation of a number in a specified style to its 8-bit signed integer equivalent. - A string that contains a number to convert. The string is interpreted using the style specified by . - A bitwise combination of the enumeration values that indicates the style elements that can be present in . A typical value to specify is . - An 8-bit signed integer that is equivalent to the number specified in . - - is . - - is not in a format that is compliant with . - - represents a number less than or greater than . -or- - includes non-zero, fractional digits. - - is not a value. -or- - is not a combination of and values. - - - Converts the string representation of a number that is in a specified style and culture-specific format to its 8-bit signed equivalent. - A string that contains the number to convert. The string is interpreted by using the style specified by . - A bitwise combination of the enumeration values that indicates the style elements that can be present in . A typical value to specify is . - An object that supplies culture-specific formatting information about . If is , the thread current culture is used. - An 8-bit signed byte value that is equivalent to the number specified in the parameter. - - is not a value.-or- - is not a combination of and . - - is . - - is not in a format that is compliant with . - - represents a number that is less than or greater than .-or- - includes non-zero, fractional digits. - - - Converts the string representation of a number in a specified culture-specific format to its 8-bit signed integer equivalent. - A string that represents a number to convert. The string is interpreted using the style. - An object that supplies culture-specific formatting information about . If is , the thread current culture is used. - An 8-bit signed integer that is equivalent to the number specified in . - - is . - - is not in the correct format. - - represents a number less than or greater than . - - - For a description of this member, see . - This parameter is unused. - - if the value of the current instance is not zero; otherwise, . - - - For a description of this member, see . - This parameter is unused. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - This conversion is not supported. Attempting to do so throws an . - This parameter is ignored. - None. This conversion is not supported. - In all cases. - - - For a description of this member, see . - This parameter is unused. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, unchanged. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - The to which to convert this value. - A implementation that provides information about the format of the returned value. - The value of the current instance, converted to an object of type . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - Converts the numeric value of this instance to its equivalent string representation. - The string representation of the value of this instance, consisting of a negative sign if the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes. - - - Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information. - An object that supplies culture-specific formatting information. - The string representation of the value of this instance, as specified by . - - - Converts the numeric value of this instance to its equivalent string representation, using the specified format. - A standard or custom numeric format string. - The string representation of the value of this instance as specified by . - - is invalid. - - - Converts the numeric value of this instance to its equivalent string representation using the specified format and culture-specific format information. - A standard or custom numeric format string. - An object that supplies culture-specific formatting information. - The string representation of the value of this instance as specified by and . - - is invalid. - - - Tries to convert the string representation of a number in a specified style and culture-specific format to its equivalent, and returns a value that indicates whether the conversion succeeded. - A string representing a number to convert. - A bitwise combination of enumeration values that indicates the permitted format of . A typical value to specify is . - An object that supplies culture-specific formatting information about . - When this method returns, contains the 8-bit signed integer value equivalent to the number contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not in a format compliant with , or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - is not a value. -or- - is not a combination of and values. - - - Tries to convert the string representation of a number to its equivalent, and returns a value that indicates whether the conversion succeeded. - A string that contains a number to convert. - When this method returns, contains the 8-bit signed integer value that is equivalent to the number contained in if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not in the correct format, or represents a number that is less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - - Initializes a new instance of the class by using the specified values. - The identity to which the access rule applies. This parameter must be an object that can be cast as a . - The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators. - - if this rule is inherited from a parent container. - The inheritance properties of the access rule. - Whether inherited access rules are automatically propagated. The propagation flags are ignored if is set to . - The valid access control type. - The value of the parameter cannot be cast as a , or the parameter contains an invalid value. - The value of the parameter is zero, or the or parameters contain unrecognized flag values. - - - Initializes a new instance of the AccessRule’1 class by using the specified values. - The identity to which the access rule applies. - The rights of the access rule. - The valid access control type. - - - Initializes a new instance of the AccessRule’1 class by using the specified values. - The identity to which the access rule applies. - The rights of the access rule. - The inheritance properties of the access rule. - Whether inherited access rules are automatically propagated. The propagation flags are ignored if is set to . - The valid access control type. - - - Initializes a new instance of the AccessRule’1 class by using the specified values. - The identity to which the access rule applies. - The rights of the access rule. - The valid access control type. - - - Initializes a new instance of the AccessRule’1 class by using the specified values. - The identity to which the access rule applies. - The rights of the access rule. - The inheritance properties of the access rule. - Whether inherited access rules are automatically propagated. The propagation flags are ignored if is set to . - The valid access control type. - - - Advances the enumerator to the next element of the collection. - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. - The collection was modified after the enumerator was created. - - - Sets the enumerator to its initial position, which is before the first element in the collection. - The collection was modified after the enumerator was created. - - - Initializes a new instance of the class by using the specified values. - The identity to which the audit rule applies. It must be an object that can be cast as a . - The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators. - - to inherit this rule from a parent container. - The inheritance properties of the audit rule. - Whether inherited audit rules are automatically propagated. The propagation flags are ignored if is set to . - The conditions for which the rule is audited. - The value of the parameter cannot be cast as a , or the parameter contains an invalid value. - The value of the parameter is zero, or the or parameters contain unrecognized flag values. - - - Initializes a new instance of the class by using the specified values. - The identity to which this audit rule applies. - The rights of the audit rule. - The conditions for which the rule is audited. - - - Initializes a new instance of the class by using the specified values. - The identity to which the audit rule applies. - The rights of the audit rule. - The inheritance properties of the audit rule. - Whether inherited audit rules are automatically propagated. - The conditions for which the rule is audited. - - - Initializes a new instance of the class by using the specified values. - The identity to which the audit rule applies. - The rights of the audit rule. - The properties of the audit rule. - - - Initializes a new instance of the class by using the specified values. - The identity to which the audit rule applies. - The rights of the audit rule. - The inheritance properties of the audit rule. - Whether inherited audit rules are automatically propagated. - The conditions for which the rule is audited. - - - Initializes a new instance of the class by using the specified values. - The identity to which the access rule applies. This parameter must be an object that can be cast as a . - The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators. - - to inherit this rule from a parent container. - The inheritance properties of the access rule. - Whether inherited access rules are automatically propagated. The propagation flags are ignored if is set to . - The value of the parameter cannot be cast as a . - The value of the parameter is zero, or the or parameters contain unrecognized flag values. - - - Initializes a new instance of the class. - - - Adds an object to the collection. - The object to add to the collection. - - - Copies the contents of the collection to an array. - An array to which to copy the contents of the collection. - The zero-based index from which to begin copying. - - - Initializes a new instance of the class. - Flags that specify information about the inheritance, inheritance propagation, and auditing conditions for the new access control entry (ACE). - The use of the new ACE. - The access mask for the ACE. - The associated with the new ACE. - - to specify that the new ACE is a callback type ACE. - Opaque data associated with the new ACE. Opaque data is allowed only for callback ACE types. The length of this array must not be greater than the return value of the method. - - - Marshals the contents of the object into the specified byte array beginning at the specified offset. - The byte array into which the contents of the object is marshaled. - The offset at which to start marshaling. - - is negative or too high to allow the entire to be copied into the array. - - - Gets the maximum allowed length of an opaque data BLOB for callback access control entries (ACEs). - - to specify that the object is a callback ACE type. - The allowed length of an opaque data BLOB. - - - Marshals the contents of the object into the specified byte array beginning at the specified offset. - The byte array into which the contents of the is marshaled. - The offset at which to start marshaling. - - - Removes all access control entries (ACEs) contained by this object that are associated with the specified object. - The object to check for. - - - Removes all inherited access control entries (ACEs) from this object. - - - Initializes a new instance of the class. - - if the new object is a container object. - - - Adds the specified access rule to the Discretionary Access Control List (DACL) associated with this object. - The access rule to add. - - - Adds the specified audit rule to the System Access Control List (SACL) associated with this object. - The audit rule to add. - - - Gets a collection of the access rules associated with the specified security identifier. - - to include access rules explicitly set for the object. - - to include inherited access rules. - Specifies whether the security identifier for which to retrieve access rules is of type T:System.Security.Principal.SecurityIdentifier or type T:System.Security.Principal.NTAccount. The value of this parameter must be a type that can be translated to the type. - The collection of access rules associated with the specified object. - - - Gets a collection of the audit rules associated with the specified security identifier. - - to include audit rules explicitly set for the object. - - to include inherited audit rules. - The security identifier for which to retrieve audit rules. This must be an object that can be cast as a object. - The collection of audit rules associated with the specified object. - - - Applies the specified modification to the Discretionary Access Control List (DACL) associated with this object. - The modification to apply to the DACL. - The access rule to modify. - - if the DACL is successfully modified; otherwise, . - - if the DACL is successfully modified; otherwise, . - - - Applies the specified modification to the System Access Control List (SACL) associated with this object. - The modification to apply to the SACL. - The audit rule to modify. - - if the SACL is successfully modified; otherwise, . - - if the SACL is successfully modified; otherwise, . - - - Removes access rules that contain the same security identifier and access mask as the specified access rule from the Discretionary Access Control List (DACL) associated with this object. - The access rule to remove. - - if the access rule was successfully removed; otherwise, . - - - Removes all access rules that have the same security identifier as the specified access rule from the Discretionary Access Control List (DACL) associated with this object. - The access rule to remove. - - - Removes all access rules that exactly match the specified access rule from the Discretionary Access Control List (DACL) associated with this object. - The access rule to remove. - - - Removes audit rules that contain the same security identifier and access mask as the specified audit rule from the System Access Control List (SACL) associated with this object. - The audit rule to remove. - - if the audit rule was successfully removed; otherwise, . - - - Removes all audit rules that have the same security identifier as the specified audit rule from the System Access Control List (SACL) associated with this object. - The audit rule to remove. - - - Removes all audit rules that exactly match the specified audit rule from the System Access Control List (SACL) associated with this object. - The audit rule to remove. - - - Removes all access rules in the Discretionary Access Control List (DACL) associated with this object and then adds the specified access rule. - The access rule to reset. - - - Removes all access rules that contain the same security identifier and qualifier as the specified access rule in the Discretionary Access Control List (DACL) associated with this object and then adds the specified access rule. - The access rule to set. - - - Removes all audit rules that contain the same security identifier and qualifier as the specified audit rule in the System Access Control List (SACL) associated with this object and then adds the specified audit rule. - The audit rule to set. - - - Initializes a new instance of the class from the specified array of byte values. - - if the new security descriptor is associated with a container object. - - if the new security descriptor is associated with a directory object. - The array of byte values from which to create the new object. - The offset in the array at which to begin copying. - - - Initializes a new instance of the class from the specified information. - - if the new security descriptor is associated with a container object. - - if the new security descriptor is associated with a directory object. - Flags that specify behavior of the new object. - The owner for the new object. - The primary group for the new object. - The System Access Control List (SACL) for the new object. - The Discretionary Access Control List (DACL) for the new object. - - - Initializes a new instance of the class from the specified object. - - if the new security descriptor is associated with a container object. - - if the new security descriptor is associated with a directory object. - The object from which to create the new object. - - - Initializes a new instance of the class from the specified Security Descriptor Definition Language (SDDL) string. - - if the new security descriptor is associated with a container object. - - if the new security descriptor is associated with a directory object. - The SDDL string from which to create the new object. - - - Sets the property for this instance and sets the flag. - The revision level of the new object. - The number of Access Control Entries (ACEs) this object can contain. This number is to be used only as a hint. - - - Sets the property for this instance and sets the flag. - The revision level of the new object. - The number of Access Control Entries (ACEs) this object can contain. This number is to be used only as a hint. - - - Removes all access rules for the specified security identifier from the Discretionary Access Control List (DACL) associated with this object. - The security identifier for which to remove access rules. - - - Removes all audit rules for the specified security identifier from the System Access Control List (SACL) associated with this object. - The security identifier for which to remove audit rules. - - - Sets the inheritance protection for the Discretionary Access Control List (DACL) associated with this object. DACLs that are protected do not inherit access rules from parent containers. - - to protect the DACL from inheritance. - - to keep inherited access rules in the DACL; to remove inherited access rules from the DACL. - - - Sets the inheritance protection for the System Access Control List (SACL) associated with this object. SACLs that are protected do not inherit audit rules from parent containers. - - to protect the SACL from inheritance. - - to keep inherited audit rules in the SACL; to remove inherited audit rules from the SACL. - - - Initializes a new instance of the class. - Contains flags that specify information about the inheritance, inheritance propagation, and auditing conditions for the new Access Control Entry (ACE). - The access mask for the ACE. - A value from the enumeration. - The associated with the new ACE. - - - Marshals the contents of the object into the specified byte array beginning at the specified offset. - The byte array into which the contents of the is marshaled. - The offset at which to start marshaling. - - is negative or too high to allow the entire to be copied into . - - - Initializes a new instance of the class using the specified values. - The identity to which the access rule applies. This parameter must be an object that can be cast as a . - The cryptographic key operation to which this access rule controls access. - The valid access control type. - - - Initializes a new instance of the class using the specified values. - The identity to which the access rule applies. - The cryptographic key operation to which this access rule controls access. - The valid access control type. - - - Initializes a new instance of the class using the specified values. - The identity to which the audit rule applies. This parameter must be an object that can be cast as a . - The cryptographic key operation for which this audit rule generates audits. - The conditions that generate audits. - - - Initializes a new instance of the class using the specified values. - The identity to which the audit rule applies. - The cryptographic key operation for which this audit rule generates audits. - The conditions that generate audits. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class by using the specified security descriptor. - The security descriptor from which to create the new object. - - - Initializes a new instance of the class with the specified values. - The identity to which the access rule applies. It must be an object that can be cast as a . - The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators. - true if this rule is inherited from a parent container. - Specifies the inheritance properties of the access rule. - Specifies whether inherited access rules are automatically propagated. The propagation flags are ignored if is set to . - Specifies the valid access control type. - The object that this method creates. - - - Adds the specified access rule to the Discretionary Access Control List (DACL) associated with this object. - The access rule to add. - - - Adds the specified audit rule to the System Access Control List (SACL) associated with this object. - The audit rule to add. - - - Initializes a new instance of the class with the specified values. - The identity to which the audit rule applies. It must be an object that can be cast as a . - The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators. - - if this rule is inherited from a parent container. - Specifies the inheritance properties of the audit rule. - Specifies whether inherited audit rules are automatically propagated. The propagation flags are ignored if is set to . - Specifies the conditions for which the rule is audited. - The object that this method creates. - - - Removes access rules that contain the same security identifier and access mask as the specified access rule from the Discretionary Access Control List (DACL) associated with this object. - The access rule to remove. - - if the access rule was successfully removed; otherwise, . - - - Removes all access rules that have the same security identifier as the specified access rule from the Discretionary Access Control List (DACL) associated with this object. - The access rule to remove. - - - Removes all access rules that exactly match the specified access rule from the Discretionary Access Control List (DACL) associated with this object. - The access rule to remove. - - - Removes audit rules that contain the same security identifier and access mask as the specified audit rule from the System Access Control List (SACL) associated with this object. - The audit rule to remove. - - if the audit rule was successfully removed; otherwise, . - - - Removes all audit rules that have the same security identifier as the specified audit rule from the System Access Control List (SACL) associated with this object. - The audit rule to remove. - - - Removes all audit rules that exactly match the specified audit rule from the System Access Control List (SACL) associated with this object. - The audit rule to remove. - - - Removes all access rules in the Discretionary Access Control List (DACL) associated with this object and then adds the specified access rule. - The access rule to reset. - - - Removes all access rules that contain the same security identifier and qualifier as the specified access rule in the Discretionary Access Control List (DACL) associated with this object and then adds the specified access rule. - The access rule to set. - - - Removes all audit rules that contain the same security identifier and qualifier as the specified audit rule in the System Access Control List (SACL) associated with this object and then adds the specified audit rule. - The audit rule to set. - - - Initializes a new instance of the class. - Type of the new Access Control Entry (ACE). This value must be greater than . - Flags that specify information about the inheritance, inheritance propagation, and auditing conditions for the new ACE. - An array of byte values that contains the data for the new ACE. This value can be . The length of this array must not be greater than the value of the field, and must be a multiple of four. - The value of the parameter is not greater than or the length of the array is either greater than the value of the field or not a multiple of four. - - - Marshals the contents of the object into the specified byte array beginning at the specified offset. - The byte array into which the contents of the is marshaled. - The offset at which to start marshaling. - - is negative or too high to allow the entire to be copied into . - - - Returns the opaque data associated with this object. - An array of byte values that represents the opaque data associated with this object. - - - Sets the opaque callback data associated with this object. - An array of byte values that represents the opaque callback data for this object. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified security descriptor. - The security descriptor to be associated with the new object. - - - Initializes a new instance of the class with the specified values. - The identity to which the access rule applies. It must be an object that can be cast as a . - The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators. - true if this rule is inherited from a parent container. - Specifies the inheritance properties of the access rule. - Specifies whether inherited access rules are automatically propagated. The propagation flags are ignored if is set to . - Specifies the valid access control type. - The identity of the class of objects to which the new access rule applies. - The identity of the class of child objects which can inherit the new access rule. - The object that this method creates. - - - Adds the specified access rule to the Discretionary Access Control List (DACL) associated with this object. - The access rule to add. - - - Adds the specified audit rule to the System Access Control List (SACL) associated with this object. - The audit rule to add. - - - Initializes a new instance of the class with the specified values. - The identity to which the audit rule applies. It must be an object that can be cast as a . - The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators. - - if this rule is inherited from a parent container. - Specifies the inheritance properties of the audit rule. - Specifies whether inherited audit rules are automatically propagated. The propagation flags are ignored if is set to . - Specifies the conditions for which the rule is audited. - The identity of the class of objects to which the new audit rule applies. - The identity of the class of child objects which can inherit the new audit rule. - The object that this method creates. - - - Gets a collection of the access rules associated with the specified security identifier. - - to include access rules explicitly set for the object. - - to include inherited access rules. - The security identifier for which to retrieve access rules. This must be an object that can be cast as a object. - The collection of access rules associated with the specified object. - - - Gets a collection of the audit rules associated with the specified security identifier. - - to include audit rules explicitly set for the object. - - to include inherited audit rules. - The security identifier for which to retrieve audit rules. This must be an object that can be cast as a object. - The collection of audit rules associated with the specified object. - - - Applies the specified modification to the Discretionary Access Control List (DACL) associated with this object. - The modification to apply to the DACL. - The access rule to modify. - - if the DACL is successfully modified; otherwise, . - - if the DACL is successfully modified; otherwise, . - - - Applies the specified modification to the System Access Control List (SACL) associated with this object. - The modification to apply to the SACL. - The audit rule to modify. - - if the SACL is successfully modified; otherwise, . - - if the SACL is successfully modified; otherwise, . - - - Removes access rules that contain the same security identifier and access mask as the specified access rule from the Discretionary Access Control List (DACL) associated with this object. - The access rule to remove. - - if the access rule was successfully removed; otherwise, . - - - Removes all access rules that have the same security identifier as the specified access rule from the Discretionary Access Control List (DACL) associated with this object. - The access rule to remove. - - - Removes all access rules that exactly match the specified access rule from the Discretionary Access Control List (DACL) associated with this object. - The access rule to remove. - - - Removes audit rules that contain the same security identifier and access mask as the specified audit rule from the System Access Control List (SACL) associated with this object. - The audit rule to remove. - - if the audit rule was successfully removed; otherwise, . - - - Removes all audit rules that have the same security identifier as the specified audit rule from the System Access Control List (SACL) associated with this object. - The audit rule to remove. - - - Removes all audit rules that exactly match the specified audit rule from the System Access Control List (SACL) associated with this object. - The audit rule to remove. - - - Removes all access rules in the Discretionary Access Control List (DACL) associated with this object and then adds the specified access rule. - The access rule to reset. - - - Removes all access rules that contain the same security identifier and qualifier as the specified access rule in the Discretionary Access Control List (DACL) associated with this object and then adds the specified access rule. - The access rule to set. - - - Removes all audit rules that contain the same security identifier and qualifier as the specified audit rule in the System Access Control List (SACL) associated with this object and then adds the specified audit rule. - The audit rule to set. - - - Initializes a new instance of the class. - The current operating system is not Microsoft Windows 2000 or later. - - - Initializes a new instance of the class from a specified directory using the specified values of the enumeration. - The location of a directory to create a object from. - One of the values that specifies the type of access control list (ACL) information to retrieve. - The parameter is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - The parameter is . - The specified path is invalid, (for example, it is on an unmapped drive). - The file specified in the parameter was not found. - An I/O error occurred while opening the directory. - The parameter is in an invalid format. - The current operating system is not Microsoft Windows 2000 or later. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The current system account does not have administrative privileges. - The directory could not be found. - The parameter specified a directory that is read-only.-or- This operation is not supported on the current platform.-or- The caller does not have the required permission. - - - Initializes a new instance of the class with the specified values. - - if the new object is a container. - - if the new object is a directory object Access Control List (ACL). - The revision level of the new object. - The number of Access Control Entries (ACEs) this object can contain. This number is to be used only as a hint. - - - Initializes a new instance of the class with the specified values. - - if the new object is a container. - - if the new object is a directory object Access Control List (ACL). - The number of Access Control Entries (ACEs) this object can contain. This number is to be used only as a hint. - - - Initializes a new instance of the class with the specified values from the specified object. - - if the new object is a container. - - if the new object is a directory object Access Control List (ACL). - The underlying object for the new object. Specify to create an empty ACL. - - - Adds an Access Control Entry (ACE) with the specified settings to the current object. - The type of access control (allow or deny) to add. - The for which to add an ACE. - The access rule for the new ACE. - Flags that specify the inheritance properties of the new ACE. - Flags that specify the inheritance propagation properties for the new ACE. - - - Adds an Access Control Entry (ACE) with the specified settings to the current object. Use this method for directory object Access Control Lists (ACLs) when specifying the object type or the inherited object type for the new ACE. - The type of access control (allow or deny) to add. - The for which to add an ACE. - The access rule for the new ACE. - Flags that specify the inheritance properties of the new ACE. - Flags that specify the inheritance propagation properties for the new ACE. - Flags that specify if the and parameters contain non- values. - The identity of the class of objects to which the new ACE applies. - The identity of the class of child objects which can inherit the new ACE. - - - Adds an Access Control Entry (ACE) with the specified settings to the current object. - The type of access control (allow or deny) to add. - The for which to add an ACE. - The for the new access. - - - Removes the specified access control rule from the current object. - The type of access control (allow or deny) to remove. - The for which to remove an access control rule. - The access mask for the rule to be removed. - Flags that specify the inheritance properties of the rule to be removed. - Flags that specify the inheritance propagation properties for the rule to be removed. - - if this method successfully removes the specified access; otherwise, . - - - Removes the specified access control rule from the current object. Use this method for directory object Access Control Lists (ACLs) when specifying the object type or the inherited object type. - The type of access control (allow or deny) to remove. - The for which to remove an access control rule. - The access mask for the access control rule to be removed. - Flags that specify the inheritance properties of the access control rule to be removed. - Flags that specify the inheritance propagation properties for the access control rule to be removed. - Flags that specify if the and parameters contain non- values. - The identity of the class of objects to which the removed access control rule applies. - The identity of the class of child objects which can inherit the removed access control rule. - - if this method successfully removes the specified access; otherwise, . - - - Removes the specified access control rule from the current object. - The type of access control (allow or deny) to remove. - The for which to remove an access control rule. - The for which to remove access. - Returns . - - - Removes the specified Access Control Entry (ACE) from the current object. - The type of access control (allow or deny) to remove. - The for which to remove an ACE. - The access mask for the ACE to be removed. - Flags that specify the inheritance properties of the ACE to be removed. - Flags that specify the inheritance propagation properties for the ACE to be removed. - - - Removes the specified Access Control Entry (ACE) from the current object. Use this method for directory object Access Control Lists (ACLs) when specifying the object type or the inherited object type for the ACE to be removed. - The type of access control (allow or deny) to remove. - The for which to remove an ACE. - The access mask for the ACE to be removed. - Flags that specify the inheritance properties of the ACE to be removed. - Flags that specify the inheritance propagation properties for the ACE to be removed. - Flags that specify if the and parameters contain non- values. - The identity of the class of objects to which the removed ACE applies. - The identity of the class of child objects which can inherit the removed ACE. - - - Removes the specified Access Control Entry (ACE) from the current object. - The type of access control (allow or deny) to remove. - The for which to remove an ACE. - The for which to remove access. - - - Sets the specified access control for the specified object. - The type of access control (allow or deny) to set. - The for which to set an ACE. - The access rule for the new ACE. - Flags that specify the inheritance properties of the new ACE. - Flags that specify the inheritance propagation properties for the new ACE. - - - Sets the specified access control for the specified object. - The type of access control (allow or deny) to set. - The for which to set an ACE. - The access rule for the new ACE. - Flags that specify the inheritance properties of the new ACE. - Flags that specify the inheritance propagation properties for the new ACE. - Flags that specify if the and parameters contain non- values. - The identity of the class of objects to which the new ACE applies. - The identity of the class of child objects which can inherit the new ACE. - - - Sets the specified access control for the specified object. - The type of access control (allow or deny) to set. - The for which to set an ACE. - The for which to set access. - - - Initializes a new instance of the class, specifying the user or group the rule applies to, the access rights, and whether the specified access rights are allowed or denied. - The user or group the rule applies to. Must be of type or a type such as that can be converted to type . - A bitwise combination of values specifying the rights allowed or denied. - One of the values specifying whether the rights are allowed or denied. - - specifies an invalid value.-or- - specifies an invalid value. - - is .-or- - is zero. - - is neither of type nor of a type such as that can be converted to type . - - - Initializes a new instance of the class, specifying the name of the user or group the rule applies to, the access rights, and whether the specified access rights are allowed or denied. - The name of the user or group the rule applies to. - A bitwise combination of values specifying the rights allowed or denied. - One of the values specifying whether the rights are allowed or denied. - - specifies an invalid value.-or- - specifies an invalid value. - - is zero. - - is .-or- - is a zero-length string.-or- - is longer than 512 characters. - - - Initializes a new instance of the class, specifying the user or group to audit, the rights to audit, and whether to audit success, failure, or both. - The user or group the rule applies to. Must be of type or a type such as that can be converted to type . - A bitwise combination of values specifying the kinds of access to audit. - A bitwise combination of values specifying whether to audit success, failure, or both. - - specifies an invalid value.-or- - specifies an invalid value. - - is . -or- - is zero. - - is . - - is neither of type nor of a type such as that can be converted to type . - - - Initializes a new instance of the class with default values. - This class is not supported on Windows 98 or Windows Millennium Edition. - - - Creates a new access control rule for the specified user, with the specified access rights, access control, and flags. - An that identifies the user or group the rule applies to. - A bitwise combination of values specifying the access rights to allow or deny, cast to an integer. - Meaningless for named wait handles, because they have no hierarchy. - Meaningless for named wait handles, because they have no hierarchy. - Meaningless for named wait handles, because they have no hierarchy. - One of the values specifying whether the rights are allowed or denied. - An object representing the specified rights for the specified user. - - , , , or specifies an invalid value. - - is . -or- - is zero. - - is neither of type , nor of a type such as that can be converted to type . - - - Searches for a matching access control rule with which the new rule can be merged. If none are found, adds the new rule. - The access control rule to add. - - is . - - - Searches for an audit rule with which the new rule can be merged. If none are found, adds the new rule. - The audit rule to add. The user specified by this rule determines the search. - - is . - - - Creates a new audit rule, specifying the user the rule applies to, the access rights to audit, and the outcome that triggers the audit rule. - An that identifies the user or group the rule applies to. - A bitwise combination of values specifying the access rights to audit, cast to an integer. - Meaningless for named wait handles, because they have no hierarchy. - Meaningless for named wait handles, because they have no hierarchy. - Meaningless for named wait handles, because they have no hierarchy. - A bitwise combination of values specifying whether to audit successful access, failed access, or both. - An object representing the specified audit rule for the specified user. The return type of the method is the base class, , but the return value can be cast safely to the derived class. - - , , , or specifies an invalid value. - - is . -or- - is zero. - - is neither of type , nor of a type such as that can be converted to type . - - - Searches for an access control rule with the same user and (allow or deny) as the specified access rule, and with compatible inheritance and propagation flags; if such a rule is found, the rights contained in the specified access rule are removed from it. - An that specifies the user and to search for, and a set of inheritance and propagation flags that a matching rule, if found, must be compatible with. Specifies the rights to remove from the compatible rule, if found. - - if a compatible rule is found; otherwise, . - - is . - - - Searches for all access control rules with the same user and (allow or deny) as the specified rule and, if found, removes them. - An that specifies the user and to search for. Any rights specified by this rule are ignored. - - is . - - - Searches for an access control rule that exactly matches the specified rule and, if found, removes it. - The to remove. - - is . - - - Searches for an audit rule with the same user as the specified rule, and with compatible inheritance and propagation flags; if a compatible rule is found, the rights contained in the specified rule are removed from it. - An that specifies the user to search for and a set of inheritance and propagation flags that a matching rule, if found, must be compatible with. Specifies the rights to remove from the compatible rule, if found. - - if a compatible rule is found; otherwise, . - - is . - - - Searches for all audit rules with the same user as the specified rule and, if found, removes them. - An that specifies the user to search for. Any rights specified by this rule are ignored. - - is . - - - Searches for an audit rule that exactly matches the specified rule and, if found, removes it. - The to remove. - - is . - - - Removes all access control rules with the same user as the specified rule, regardless of , and then adds the specified rule. - The to add. The user specified by this rule determines the rules to remove before this rule is added. - - is . - - - Removes all access control rules with the same user and (allow or deny) as the specified rule, and then adds the specified rule. - The to add. The user and of this rule determine the rules to remove before this rule is added. - - is . - - - Removes all audit rules with the same user as the specified rule, regardless of the value, and then adds the specified rule. - The to add. The user specified by this rule determines the rules to remove before this rule is added. - - is . - - - Initializes a new instance of the class. - The current operating system is not Microsoft Windows 2000 or later. - - - Initializes a new instance of the class from a specified file using the specified values of the enumeration. - The location of a file to create a object from. - One of the values that specifies the type of access control list (ACL) information to retrieve. - The parameter is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . - The specified path is invalid, (for example, it is on an unmapped drive). - The file specified in the parameter was not found. - An I/O error occurred while opening the file. - - is in an invalid format. - The parameter is . - The current operating system is not Microsoft Windows 2000 or later. - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. - The current system account does not have administrative privileges. - The file could not be found. - The parameter specified a file that is read-only.-or- This operation is not supported on the current platform.-or- The parameter specified a directory.-or- The caller does not have the required permission. - - - Initializes a new instance of the class using a reference to a user account, a value that specifies the type of operation associated with the access rule, and a value that specifies whether to allow or deny the operation. - An object that encapsulates a reference to a user account. - One of the values that specifies the type of operation associated with the access rule. - One of the values that specifies whether to allow or deny the operation. - The parameter is not an object. - The parameter is . - An incorrect enumeration was passed to the parameter. - - - Initializes a new instance of the class using a reference to a user account, a value that specifies the type of operation associated with the access rule, a value that determines how rights are inherited, a value that determines how rights are propagated, and a value that specifies whether to allow or deny the operation. - An object that encapsulates a reference to a user account. - One of the values that specifies the type of operation associated with the access rule. - One of the values that specifies how access masks are propagated to child objects. - One of the values that specifies how Access Control Entries (ACEs) are propagated to child objects. - One of the values that specifies whether to allow or deny the operation. - The parameter is not an object. - The parameter is . - An incorrect enumeration was passed to the parameter.-or-An incorrect enumeration was passed to the parameter.-or-An incorrect enumeration was passed to the parameter. - - - Initializes a new instance of the class using the name of a user account, a value that specifies the type of operation associated with the access rule, and a value that describes whether to allow or deny the operation. - The name of a user account. - One of the values that specifies the type of operation associated with the access rule. - One of the values that specifies whether to allow or deny the operation. - The parameter is . - An incorrect enumeration was passed to the parameter. - - - Initializes a new instance of the class using the name of a user account, a value that specifies the type of operation associated with the access rule, a value that determines how rights are inherited, a value that determines how rights are propagated, and a value that specifies whether to allow or deny the operation. - The name of a user account. - One of the values that specifies the type of operation associated with the access rule. - One of the values that specifies how access masks are propagated to child objects. - One of the values that specifies how Access Control Entries (ACEs) are propagated to child objects. - One of the values that specifies whether to allow or deny the operation. - The parameter is . - An incorrect enumeration was passed to the parameter.-or-An incorrect enumeration was passed to the parameter.-or-An incorrect enumeration was passed to the parameter. - - - Initializes a new instance of the class using a reference to a user account, a value that specifies the type of operation associated with the audit rule, and a value that specifies when to perform auditing. - An object that encapsulates a reference to a user account. - One of the values that specifies the type of operation associated with the audit rule. - One of the values that specifies when to perform auditing. - The parameter is not an object. - The parameter is . - An incorrect enumeration was passed to the parameter.-or-The value was passed to the parameter. - - - Initializes a new instance of the class using the name of a reference to a user account, a value that specifies the type of operation associated with the audit rule, a value that determines how rights are inherited, a value that determines how rights are propagated, and a value that specifies when to perform auditing. - An object that encapsulates a reference to a user account. - One of the values that specifies the type of operation associated with the audit rule. - One of the values that specifies how access masks are propagated to child objects. - One of the values that specifies how Access Control Entries (ACEs) are propagated to child objects. - One of the values that specifies when to perform auditing. - The parameter is not an object. - The parameter is . - An incorrect enumeration was passed to the parameter.-or-The value was passed to the parameter. - - - Initializes a new instance of the class using a user account name, a value that specifies the type of operation associated with the audit rule, and a value that specifies when to perform auditing. - The name of a user account. - One of the values that specifies the type of operation associated with the audit rule. - One of the values that specifies when to perform auditing. - An incorrect enumeration was passed to the parameter.-or-The value was passed to the parameter. - - - Initializes a new instance of the class using the name of a user account, a value that specifies the type of operation associated with the audit rule, a value that determines how rights are inherited, a value that determines how rights are propagated, and a value that specifies when to perform auditing. - The name of a user account. - One of the values that specifies the type of operation associated with the audit rule. - One of the values that specifies how access masks are propagated to child objects. - One of the values that specifies how Access Control Entries (ACEs) are propagated to child objects. - One of the values that specifies when to perform auditing. - - - Initializes a new instance of the class that represents a new access control rule for the specified user, with the specified access rights, access control, and flags. - An object that represents a user account. - An integer that specifies an access type. - - if the access rule is inherited; otherwise, . - One of the values that specifies how to propagate access masks to child objects. - One of the values that specifies how to propagate Access Control Entries (ACEs) to child objects. - One of the values that specifies whether access is allowed or denied. - A new object that represents a new access control rule for the specified user, with the specified access rights, access control, and flags. - The , , , or parameters specify an invalid value. - The parameter is . -or-The parameter is zero. - The parameter is neither of type , nor of a type such as that can be converted to type . - - - Adds the specified access control list (ACL) permission to the current file or directory. - A object that represents an access control list (ACL) permission to add to a file or directory. - The parameter is . - - - Adds the specified audit rule to the current file or directory. - A object that represents an audit rule to add to a file or directory. - The parameter is . - - - Initializes a new instance of the class representing the specified audit rule for the specified user. - An object that represents a user account. - An integer that specifies an access type. - - if the access rule is inherited; otherwise, . - One of the values that specifies how to propagate access masks to child objects. - One of the values that specifies how to propagate Access Control Entries (ACEs) to child objects. - One of the values that specifies the type of auditing to perform. - A new object representing the specified audit rule for the specified user. - The , , , or properties specify an invalid value. - The property is . -or-The property is zero. - The property is neither of type , nor of a type such as that can be converted to type . - - - Removes all matching allow or deny access control list (ACL) permissions from the current file or directory. - A object that represents an access control list (ACL) permission to remove from a file or directory. - - if the access rule was removed; otherwise, . - The parameter is . - - - Removes all access control list (ACL) permissions for the specified user from the current file or directory. - A object that specifies a user whose access control list (ACL) permissions should be removed from a file or directory. - The parameter is . - - - Removes a single matching allow or deny access control list (ACL) permission from the current file or directory. - A object that specifies a user whose access control list (ACL) permissions should be removed from a file or directory. - The parameter is . - - - Removes all matching allow or deny audit rules from the current file or directory. - A object that represents an audit rule to remove from a file or directory. - - if the audit rule was removed; otherwise, - The parameter is . - - - Removes all audit rules for the specified user from the current file or directory. - A object that specifies a user whose audit rules should be removed from a file or directory. - The parameter is . - - - Removes a single matching allow or deny audit rule from the current file or directory. - A object that represents an audit rule to remove from a file or directory. - The parameter is . - - - Adds the specified access control list (ACL) permission to the current file or directory and removes all matching ACL permissions. - A object that represents an access control list (ACL) permission to add to a file or directory. - The parameter is . - - - Sets the specified access control list (ACL) permission for the current file or directory. - A object that represents an access control list (ACL) permission to set for a file or directory. - The parameter is . - - - Sets the specified audit rule for the current file or directory. - A object that represents an audit rule to set for a file or directory. - The parameter is . - - - Creates a deep copy of this Access Control Entry (ACE). - The object that this method creates. - - - Creates a object from the specified binary data. - The binary data from which to create the new object. - The offset at which to begin unmarshaling. - The object this method creates. - - - Determines whether the specified object is equal to the current object. - The object to compare to the current object. - - if the specified object is equal to the current object; otherwise, . - - - Marshals the contents of the object into the specified byte array beginning at the specified offset. - The byte array into which the contents of the is marshaled. - The offset at which to start marshaling. - - is negative or too high to allow the entire to be copied into . - - - Serves as a hash function for the class. The method is suitable for use in hashing algorithms and data structures like a hash table. - A hash code for the current object. - - - Determines whether the specified objects are considered equal. - The first object to compare. - The second to compare. - - if the two objects are equal; otherwise, . - - - Determines whether the specified objects are considered unequal. - The first object to compare. - The second to compare. - - if the two objects are unequal; otherwise, . - - - Initializes a new instance of the class. - - - Copies each of the current into the specified array. - The array into which copies of the objects contained by the current are placed. - The zero-based index of where the copying begins. - - - Marshals the contents of the object into the specified byte array beginning at the specified offset. - The byte array into which the contents of the is marshaled. - The offset at which to start marshaling. - - is negative or too high to allow the entire to be copied into . - - - Retrieves an object that you can use to iterate through the access control entries (ACEs) in an access control list (ACL). - An enumerator object. - - - Copies each of the current into the specified array. - The array into which copies of the objects contained by the current are placed. - The zero-based index of where the copying begins. - - - Returns a new instance of the class cast as an instance of the interface. - A new object, cast as an instance of the interface. - - - Initializes a new instance of the class. - - - Returns an array of byte values that represents the information contained in this object. - The byte array into which the contents of the is marshaled. - The offset at which to start marshaling. - - is negative or too high to allow the entire to be copied into . - - - Returns the Security Descriptor Definition Language (SDDL) representation of the specified sections of the security descriptor that this object represents. - Specifies which sections (access rules, audit rules, primary group, owner) of the security descriptor to get. - The SDDL representation of the specified sections of the security descriptor associated with this object. - - - Returns a boolean value that specifies whether the security descriptor associated with this object can be converted to the Security Descriptor Definition Language (SDDL) format. - - if the security descriptor associated with this object can be converted to the Security Descriptor Definition Language (SDDL) format; otherwise, . - - - Initializes a new instance of the class, specifying the user or group the rule applies to, the access rights, and whether the specified access rights are allowed or denied. - The user or group the rule applies to. Must be of type or a type such as that can be converted to type . - A bitwise combination of values specifying the rights allowed or denied. - One of the values specifying whether the rights are allowed or denied. - - specifies an invalid value.-or- - specifies an invalid value. - - is . -or- - is zero. - - is neither of type nor of a type such as that can be converted to type . - - - Initializes a new instance of the class, specifying the name of the user or group the rule applies to, the access rights, and whether the specified access rights are allowed or denied. - The name of the user or group the rule applies to. - A bitwise combination of values specifying the rights allowed or denied. - One of the values specifying whether the rights are allowed or denied. - - specifies an invalid value.-or- - specifies an invalid value. - - is zero. - - is .-or- - is a zero-length string.-or- - is longer than 512 characters. - - - Initializes a new instance of the class, specifying the user or group to audit, the rights to audit, and whether to audit success, failure, or both. - The user or group the rule applies to. Must be of type or a type such as that can be converted to type . - A bitwise combination of values specifying the kinds of access to audit. - A bitwise combination of values specifying whether to audit success, failure, or both. - - specifies an invalid value.-or- - specifies an invalid value. - - is . -or- - is zero. - - is neither of type nor of a type such as that can be translated to type . - - - Initializes a new instance of the class with default values. - This class is not supported on Windows 98 or Windows Millennium Edition. - - - Initializes a new instance of the class with the specified sections of the access control security rules from the system mutex with the specified name. - The name of the system mutex whose access control security rules are to be retrieved. - A combination of flags specifying the sections to retrieve. - There is no system object with the specified name. - This class is not supported on Windows 98 or Windows Millennium Edition. - - - Creates a new access control rule for the specified user, with the specified access rights, access control, and flags. - An that identifies the user or group the rule applies to. - A bitwise combination of values specifying the access rights to allow or deny, cast to an integer. - Meaningless for named mutexes, because they have no hierarchy. - Meaningless for named mutexes, because they have no hierarchy. - Meaningless for named mutexes, because they have no hierarchy. - One of the values specifying whether the rights are allowed or denied. - A object representing the specified rights for the specified user. - - , , , or specifies an invalid value. - - is . -or- - is zero. - - is neither of type , nor of a type such as that can be converted to type . - - - Searches for a matching access control rule with which the new rule can be merged. If none are found, adds the new rule. - The access control rule to add. - - is . - - cannot be mapped to a known identity. - - - Searches for an audit rule with which the new rule can be merged. If none are found, adds the new rule. - The audit rule to add. The user specified by this rule determines the search. - - - Creates a new audit rule, specifying the user the rule applies to, the access rights to audit, and the outcome that triggers the audit rule. - An that identifies the user or group the rule applies to. - A bitwise combination of values specifying the access rights to audit, cast to an integer. - Meaningless for named wait handles, because they have no hierarchy. - Meaningless for named wait handles, because they have no hierarchy. - Meaningless for named wait handles, because they have no hierarchy. - A bitwise combination of values that specify whether to audit successful access, failed access, or both. - A object representing the specified audit rule for the specified user. The return type of the method is the base class, , but the return value can be cast safely to the derived class. - - , , , or specifies an invalid value. - - is . -or- - is zero. - - is neither of type , nor of a type such as that can be converted to type . - - - Searches for an access control rule with the same user and (allow or deny) as the specified rule, and with compatible inheritance and propagation flags; if such a rule is found, the rights contained in the specified access rule are removed from it. - A that specifies the user and to search for, and a set of inheritance and propagation flags that a matching rule, if found, must be compatible with. Specifies the rights to remove from the compatible rule, if found. - - if a compatible rule is found; otherwise . - - is . - - - Searches for all access control rules with the same user and (allow or deny) as the specified rule and, if found, removes them. - A that specifies the user and to search for. Any rights specified by this rule are ignored. - - is . - - - Searches for an access control rule that exactly matches the specified rule and, if found, removes it. - The to remove. - - is . - - - Searches for an audit control rule with the same user as the specified rule, and with compatible inheritance and propagation flags; if a compatible rule is found, the rights contained in the specified rule are removed from it. - A that specifies the user to search for, and a set of inheritance and propagation flags that a matching rule, if found, must be compatible with. Specifies the rights to remove from the compatible rule, if found. - - if a compatible rule is found; otherwise, . - - is . - - - Searches for all audit rules with the same user as the specified rule and, if found, removes them. - A that specifies the user to search for. Any rights specified by this rule are ignored. - - is . - - - Searches for an audit rule that exactly matches the specified rule and, if found, removes it. - The to be removed. - - is . - - - Removes all access control rules with the same user as the specified rule, regardless of , and then adds the specified rule. - The to add. The user specified by this rule determines the rules to remove before this rule is added. - - is . - - - Removes all access control rules with the same user and (allow or deny) as the specified rule, and then adds the specified rule. - The to add. The user and of this rule determine the rules to remove before this rule is added. - - is . - - - Removes all audit rules with the same user as the specified rule, regardless of the value, and then adds the specified rule. - The to add. The user specified by this rule determines the rules to remove before this rule is added. - - is . - - - Initializes a new instance of the class with the specified values. - - if the new object is a container object. - The type of securable object with which the new object is associated. - - - Initializes a new instance of the class with the specified values. We recommend that the values of the parameters passed to the constructor and persist methods be identical. For more information, see Remarks. - - if the new object is a container object. - The type of securable object with which the new object is associated. - The handle of the securable object with which the new object is associated. - One of the enumeration values that specifies the sections of the security descriptor (access rules, audit rules, owner, primary group) of the securable object to include in this object. - - - Initializes a new instance of the class with the specified values. We recommend that the values of the parameters passed to the constructor and persist methods be identical. For more information, see Remarks. - - if the new object is a container object. - The type of securable object with which the new object is associated. - The handle of the securable object with which the new object is associated. - One of the enumeration values that specifies the sections of the security descriptor (access rules, audit rules, owner, primary group) of the securable object to include in this object. - A delegate implemented by integrators that provides custom exceptions. - An object that contains contextual information about the source or destination of the exception. - - - Initializes a new instance of the class by using the specified values. - - if the new object is a container object. - The type of securable object with which the new object is associated. - A delegate implemented by integrators that provides custom exceptions. - An object that contains contextual information about the source or destination of the exception. - - - Initializes a new instance of the class with the specified values. We recommend that the values of the parameters passed to the constructor and persist methods be identical. For more information, see Remarks. - - if the new object is a container object. - The type of securable object with which the new object is associated. - The name of the securable object with which the new object is associated. - One of the enumeration values that specifies the sections of the security descriptor (access rules, audit rules, owner, primary group) of the securable object to include in this object. - - - Initializes a new instance of the class with the specified values. We recommend that the values of the parameters passed to the constructor and persist methods be identical. For more information, see Remarks. - - if the new object is a container object. - The type of securable object with which the new object is associated. - The name of the securable object with which the new object is associated. - One of the enumeration values that specifies the sections of the security descriptor (access rules, audit rules, owner, primary group) of the securable object to include in this object. - A delegate implemented by integrators that provides custom exceptions. - An object that contains contextual information about the source or destination of the exception. - - - Saves the specified sections of the security descriptor associated with this object to permanent storage. We recommend.persist that the values of the parameters passed to the constructor and persist methods be identical. For more information, see Remarks. - The handle of the securable object with which this object is associated. - One of the enumeration values that specifies the sections of the security descriptor (access rules, audit rules, owner, primary group) of the securable object to save. - The securable object with which this object is associated is either a directory or a file, and that directory or file could not be found. - - - Saves the specified sections of the security descriptor associated with this object to permanent storage. We recommend that the values of the parameters passed to the constructor and persist methods be identical. For more information, see Remarks. - The handle of the securable object with which this object is associated. - One of the enumeration values that specifies the sections of the security descriptor (access rules, audit rules, owner, primary group) of the securable object to save. - An object that contains contextual information about the source or destination of the exception. - The securable object with which this object is associated is either a directory or a file, and that directory or file could not be found. - - - Saves the specified sections of the security descriptor associated with this object to permanent storage. We recommend that the values of the parameters passed to the constructor and persist methods be identical. For more information, see Remarks. - The name of the securable object with which this object is associated. - One of the enumeration values that specifies the sections of the security descriptor (access rules, audit rules, owner, primary group) of the securable object to save. - The securable object with which this object is associated is either a directory or a file, and that directory or file could not be found. - - - Saves the specified sections of the security descriptor associated with this object to permanent storage. We recommend that the values of the parameters passed to the constructor and persist methods be identical. For more information, see Remarks. - The name of the securable object with which this object is associated. - One of the enumeration values that specifies the sections of the security descriptor (access rules, audit rules, owner, primary group) of the securable object to save. - An object that contains contextual information about the source or destination of the exception. - The securable object with which this object is associated is either a directory or a file, and that directory or file could not be found. - - - Initializes a new instance of the class with the specified values. - The identity to which the access rule applies. It must be an object that can be cast as a . - The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators. - - if this rule is inherited from a parent container. - Specifies the inheritance properties of the access rule. - Specifies whether inherited access rules are automatically propagated. The propagation flags are ignored if is set to . - The type of object to which the rule applies. - The type of child object that can inherit the rule. - Specifies whether this rule allows or denies access. - The value of the parameter cannot be cast as a , or the parameter contains an invalid value. - The value of the parameter is 0, or the or parameters contain unrecognized flag values. - - - Initiates a new instance of the class. - The inheritance, inheritance propagation, and auditing conditions for the new Access Control Entry (ACE). - The use of the new ACE. - The access mask for the ACE. - The associated with the new ACE. - Whether the and parameters contain valid object GUIDs. - A GUID that identifies the object type to which the new ACE applies. - A GUID that identifies the object type that can inherit the new ACE. - - if the new ACE is a callback type ACE. - Opaque data associated with the new ACE. This is allowed only for callback ACE types. The length of this array must not be greater than the return value of the method. - The qualifier parameter contains an invalid value or the length of the value of the opaque parameter is greater than the return value of the method. - - - Marshals the contents of the object into the specified byte array beginning at the specified offset. - The byte array into which the contents of the is marshaled. - The offset at which to start marshaling. - - is negative or too high to allow the entire to be copied into . - - - Returns the maximum allowed length, in bytes, of an opaque data BLOB for callback Access Control Entries (ACEs). - True if the is a callback ACE type. - The maximum allowed length, in bytes, of an opaque data BLOB for callback Access Control Entries (ACEs). - - - Initializes a new instance of the class. - The identity to which the access rule applies. It must be an object that can be cast as a . - The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators. - - if this rule is inherited from a parent container. - Specifies the inheritance properties of the access rule. - Whether inherited access rules are automatically propagated. The propagation flags are ignored if is set to . - The type of object to which the rule applies. - The type of child object that can inherit the rule. - The audit conditions. - The value of the parameter cannot be cast as a , or the parameter contains an invalid value. - The value of the parameter is 0, or the or parameters contain unrecognized flag values. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - if the new object is a container object. - True if the new object is a directory object. - - - Initializes a new instance of the class. - The of the new instance. - - - Initializes a new instance of the class with the specified values. - The identity to which the access rule applies. It must be an object that can be cast as a . - The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators. - true if this rule is inherited from a parent container. - Specifies the inheritance properties of the access rule. - Specifies whether inherited access rules are automatically propagated. The propagation flags are ignored if is set to . - Specifies the valid access control type. - The object that this method creates. - - - Initializes a new instance of the class with the specified values. - The identity to which the audit rule applies. It must be an object that can be cast as a . - The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators. - - if this rule is inherited from a parent container. - Specifies the inheritance properties of the audit rule. - Specifies whether inherited audit rules are automatically propagated. The propagation flags are ignored if is set to . - Specifies the conditions for which the rule is audited. - The object that this method creates. - - - Gets the primary group associated with the specified owner. - The owner for which to get the primary group. - The primary group associated with the specified owner. - - - Gets the owner associated with the specified primary group. - The primary group for which to get the owner. - The owner associated with the specified group. - - is . - - is not an type. - Some or all identity references could not be translated. - A Win32 error code was returned. - - - Returns an array of byte values that represents the security descriptor information for this object. - An array of byte values that represents the security descriptor for this object. This method returns if there is no security information in this object. - - - Returns the Security Descriptor Definition Language (SDDL) representation of the specified sections of the security descriptor associated with this object. - Specifies which sections (access rules, audit rules, primary group, owner) of the security descriptor to get. - The SDDL representation of the specified sections of the security descriptor associated with this object. - - - Returns a Boolean value that specifies whether the security descriptor associated with this object can be converted to the Security Descriptor Definition Language (SDDL) format. - - if the security descriptor associated with this object can be converted to the Security Descriptor Definition Language (SDDL) format; otherwise, . - - - Applies the specified modification to the Discretionary Access Control List (DACL) associated with this object. - The modification to apply to the DACL. - The access rule to modify. - - if the DACL is successfully modified; otherwise, . - - if the DACL is successfully modified; otherwise, . - - - Applies the specified modification to the Discretionary Access Control List (DACL) associated with this object. - The modification to apply to the DACL. - The access rule to modify. - - if the DACL is successfully modified; otherwise, . - - if the DACL is successfully modified; otherwise, . - - - Applies the specified modification to the System Access Control List (SACL) associated with this object. - The modification to apply to the SACL. - The audit rule to modify. - - if the SACL is successfully modified; otherwise, . - - if the SACL is successfully modified; otherwise, . - - - Applies the specified modification to the System Access Control List (SACL) associated with this object. - The modification to apply to the SACL. - The audit rule to modify. - - if the SACL is successfully modified; otherwise, . - - if the SACL is successfully modified; otherwise, . - - - Saves the specified sections of the security descriptor associated with this object to permanent storage. We recommend that the values of the parameters passed to the constructor and persist methods be identical. For more information, see Remarks. - - to enable the privilege that allows the caller to take ownership of the object. - The name used to retrieve the persisted information. - One of the enumeration values that specifies the sections of the security descriptor (access rules, audit rules, owner, primary group) of the securable object to save. - - - Saves the specified sections of the security descriptor associated with this object to permanent storage. We recommend that the values of the parameters passed to the constructor and persist methods be identical. For more information, see Remarks. - The handle used to retrieve the persisted information. - One of the enumeration values that specifies the sections of the security descriptor (access rules, audit rules, owner, primary group) of the securable object to save. - - - Saves the specified sections of the security descriptor associated with this object to permanent storage. We recommend that the values of the parameters passed to the constructor and persist methods be identical. For more information, see Remarks. - The name used to retrieve the persisted information. - One of the enumeration values that specifies the sections of the security descriptor (access rules, audit rules, owner, primary group) of the securable object to save. - - - Removes all access rules associated with the specified . - The for which to remove all access rules. - All access rules are not in canonical order. - - - Removes all audit rules associated with the specified . - The for which to remove all audit rules. - All audit rules are not in canonical order. - - - Locks this object for read access. - - - Unlocks this object for read access. - - - Sets or removes protection of the access rules associated with this object. Protected access rules cannot be modified by parent objects through inheritance. - - to protect the access rules associated with this object from inheritance; to allow inheritance. - - to preserve inherited access rules; to remove inherited access rules. This parameter is ignored if is . - This method attempts to remove inherited rules from a non-canonical Discretionary Access Control List (DACL). - - - Sets or removes protection of the audit rules associated with this object. Protected audit rules cannot be modified by parent objects through inheritance. - - to protect the audit rules associated with this object from inheritance; to allow inheritance. - - to preserve inherited audit rules; to remove inherited audit rules. This parameter is ignored if is . - This method attempts to remove inherited rules from a non-canonical System Access Control List (SACL). - - - Sets the primary group for the security descriptor associated with this object. - The primary group to set. - - - Sets the owner for the security descriptor associated with this object. - The owner to set. - - - Sets the security descriptor for this object from the specified array of byte values. - The array of bytes from which to set the security descriptor. - - - Sets the specified sections of the security descriptor for this object from the specified array of byte values. - The array of bytes from which to set the security descriptor. - The sections (access rules, audit rules, owner, primary group) of the security descriptor to set. - - - Sets the security descriptor for this object from the specified Security Descriptor Definition Language (SDDL) string. - The SDDL string from which to set the security descriptor. - - - Sets the specified sections of the security descriptor for this object from the specified Security Descriptor Definition Language (SDDL) string. - The SDDL string from which to set the security descriptor. - The sections (access rules, audit rules, owner, primary group) of the security descriptor to set. - - - Locks this object for write access. - - - Unlocks this object for write access. - - - Initializes a new instance of the ObjectSecurity`1 class. - - if the new object is a container object. - The type of resource. - - - Initializes a new instance of the ObjectSecurity`1 class. - - if the new object is a container object. - The type of resource. - A handle. - The sections to include. - - - Initializes a new instance of the ObjectSecurity`1 class. - - if the new object is a container object. - The type of resource. - A handle. - The sections to include. - A delegate implemented by integrators that provides custom exceptions. - An object that contains contextual information about the source or destination of the exception. - - - Initializes a new instance of the ObjectSecurity`1 class. - - if the new object is a container object. - The type of resource. - The name of the securable object with which the new object is associated. - The sections to include. - - - Initializes a new instance of the ObjectSecurity`1 class. - - if the new object is a container object. - The type of resource. - The name of the securable object with which the new object is associated. - The sections to include. - A delegate implemented by integrators that provides custom exceptions. - An object that contains contextual information about the source or destination of the exception. - - - Initializes a new instance of the ObjectAccessRule class that represents a new access control rule for the associated security object. - Represents a user account. - The access type. - - - if the access rule is inherited; otherwise, . - Specifies how to propagate access masks to child objects. - Specifies how to propagate Access Control Entries (ACEs) to child objects. - Specifies whether access is allowed or denied. - Represents a new access control rule for the specified user, with the specified access rights, access control, and flags. - - - Adds the specified access rule to the Discretionary Access Control List (DACL) associated with this ObjectSecurity`1 object. - The rule to add. - - - Adds the specified audit rule to the System Access Control List (SACL) associated with this ObjectSecurity`1 object. - The audit rule to add. - - - Initializes a new instance of the class representing the specified audit rule for the specified user. - Represents a user account. - An integer that specifies an access type. - - if the access rule is inherited; otherwise, . - Specifies how to propagate access masks to child objects. - Specifies how to propagate Access Control Entries (ACEs) to child objects. - Describes the type of auditing to perform. - Returns the specified audit rule for the specified user. - - - Saves the security descriptor associated with this ObjectSecurity`1 object to permanent storage, using the specified handle. - The handle of the securable object with which this ObjectSecurity`1 object is associated. - - - Saves the security descriptor associated with this ObjectSecurity`1 object to permanent storage, using the specified name. - The name of the securable object with which this ObjectSecurity`1 object is associated. - - - Removes access rules that contain the same security identifier and access mask as the specified access rule from the Discretionary Access Control List (DACL) associated with this ObjectSecurity`1 object. - The rule to remove. - Returns if the access rule was successfully removed; otherwise, . - - - Removes all access rules that have the same security identifier as the specified access rule from the Discretionary Access Control List (DACL) associated with this ObjectSecurity`1 object. - The access rule to remove. - - - Removes all access rules that exactly match the specified access rule from the Discretionary Access Control List (DACL) associated with this ObjectSecurity`1 object - The access rule to remove. - - - Removes audit rules that contain the same security identifier and access mask as the specified audit rule from the System Access Control List (SACL) associated with this ObjectSecurity`1 object. - The audit rule to remove - Returns if the object was removed; otherwise, . - - - Removes all audit rules that have the same security identifier as the specified audit rule from the System Access Control List (SACL) associated with this ObjectSecurity`1 object. - The audit rule to remove. - - - Removes all audit rules that exactly match the specified audit rule from the System Access Control List (SACL) associated with this ObjectSecurity`1 object - The audit rule to remove. - - - Removes all access rules in the Discretionary Access Control List (DACL) associated with this ObjectSecurity`1 object and then adds the specified access rule. - The access rule to reset. - - - Removes all access rules that contain the same security identifier and qualifier as the specified access rule in the Discretionary Access Control List (DACL) associated with this ObjectSecurity`1 object and then adds the specified access rule. - The access rule to set. - - - Removes all audit rules that contain the same security identifier and qualifier as the specified audit rule in the System Access Control List (SACL) associated with this ObjectSecurity`1 object and then adds the specified audit rule. - The audit rule to set. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class by using the specified privilege. - The privilege that is not enabled. - - - Initializes a new instance of the class by using the specified exception. - The privilege that is not enabled. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Sets the parameter with information about the exception. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Returns the opaque callback data associated with this object. - An array of byte values that represents the opaque callback data associated with this object. - - - Sets the opaque callback data associated with this object. - An array of byte values that represents the opaque callback data for this object. - - - Initializes a new instance of the class with the specified revision level. - The revision level of the new Access Control List (ACL). - The number of Access Control Entries (ACEs) this object can contain. This number is to be used only as a hint. - - - Initializes a new instance of the class from the specified binary form. - An array of byte values that represent an Access Control List (ACL). - The offset in the parameter at which to begin unmarshaling data. - - - Marshals the contents of the object into the specified byte array beginning at the specified offset. - The byte array into which the contents of the is marshaled. - The offset at which to start marshaling. - - is negative or too high to allow the entire to be copied into . - - - Inserts the specified Access Control Entry (ACE) at the specified index. - The position at which to add the new ACE. Specify the value of the property to insert an ACE at the end of the object. - The ACE to insert. - - is negative or too high to allow the entire to be copied into . - - - Removes the Access Control Entry (ACE) at the specified location. - The zero-based index of the ACE to remove. - The value of the parameter is higher than the value of the property minus one or is negative. - - - Initializes a new instance of the class from the specified array of byte values. - The array of byte values from which to create the new object. - The offset in the array at which to begin copying. - - - Initializes a new instance of the class with the specified values. - Flags that specify behavior of the new object. - The owner for the new object. - The primary group for the new object. - The System Access Control List (SACL) for the new object. - The Discretionary Access Control List (DACL) for the new object. - - - Initializes a new instance of the class from the specified Security Descriptor Definition Language (SDDL) string. - The SDDL string from which to create the new object. - - - Sets the property of this object to the specified value. - One or more values of the enumeration combined with a logical OR operation. - - - Initializes a new instance of the class, specifying the user or group the rule applies to, the access rights, and whether the specified access rights are allowed or denied. - The user or group the rule applies to. Must be of type or a type such as that can be converted to type . - A bitwise combination of values indicating the rights allowed or denied. - One of the values indicating whether the rights are allowed or denied. - - specifies an invalid value.-or- - specifies an invalid value. - - is . -or- - is zero. - - is neither of type nor of a type such as that can be converted to type . - - - Initializes a new instance of the class, specifying the user or group the rule applies to, the access rights, the inheritance flags, the propagation flags, and whether the specified access rights are allowed or denied. - The user or group the rule applies to. Must be of type or a type such as that can be converted to type . - A bitwise combination of values specifying the rights allowed or denied. - A bitwise combination of flags specifying how access rights are inherited from other objects. - A bitwise combination of flags specifying how access rights are propagated to other objects. - One of the values specifying whether the rights are allowed or denied. - - specifies an invalid value.-or- - specifies an invalid value.-or- - specifies an invalid value.-or- - specifies an invalid value. - - is .-or- - is zero. - - is neither of type , nor of a type such as that can be converted to type . - - - Initializes a new instance of the class, specifying the name of the user or group the rule applies to, the access rights, and whether the specified access rights are allowed or denied. - The name of the user or group the rule applies to. - A bitwise combination of values indicating the rights allowed or denied. - One of the values indicating whether the rights are allowed or denied. - - specifies an invalid value.-or- - specifies an invalid value. - - is zero. - - is .-or- - is a zero-length string.-or- - is longer than 512 characters. - - - Initializes a new instance of the class, specifying the name of the user or group the rule applies to, the access rights, the inheritance flags, the propagation flags, and whether the specified access rights are allowed or denied. - The name of the user or group the rule applies to. - A bitwise combination of values indicating the rights allowed or denied. - A bitwise combination of flags specifying how access rights are inherited from other objects. - A bitwise combination of flags specifying how access rights are propagated to other objects. - One of the values specifying whether the rights are allowed or denied. - - specifies an invalid value.-or- - specifies an invalid value.-or- - specifies an invalid value.-or- - specifies an invalid value. - - is zero. - - is .-or- - is a zero-length string.-or- - is longer than 512 characters. - - - Initializes a new instance of the class, specifying the user or group to audit, the rights to audit, whether to take inheritance into account, and whether to audit success, failure, or both. - The user or group the rule applies to. Must be of type or a type such as that can be converted to type . - A bitwise combination of values specifying the kinds of access to audit. - A bitwise combination of values specifying whether the audit rule applies to subkeys of the current key. - A bitwise combination of values that affect the way an inherited audit rule is propagated to subkeys of the current key. - A bitwise combination of values specifying whether to audit success, failure, or both. - - specifies an invalid value.-or- - specifies an invalid value.-or- - specifies an invalid value.-or- - specifies an invalid value. - - is . -or- - is zero. - - is neither of type nor of a type such as that can be converted to type . - - - Initializes a new instance of the class, specifying the name of the user or group to audit, the rights to audit, whether to take inheritance into account, and whether to audit success, failure, or both. - The name of the user or group the rule applies to. - A bitwise combination of values specifying the kinds of access to audit. - A combination of flags that specifies whether the audit rule applies to subkeys of the current key. - A combination of flags that affect the way an inherited audit rule is propagated to subkeys of the current key. - A bitwise combination of values specifying whether to audit success, failure, or both. - - specifies an invalid value.-or- - specifies an invalid value.-or- - specifies an invalid value.-or- - specifies an invalid value. - - is zero. - - is .-or- - is a zero-length string.-or- - is longer than 512 characters. - - - Initializes a new instance of the class with default values. - - - Creates a new access control rule for the specified user, with the specified access rights, access control, and flags. - An that identifies the user or group the rule applies to. - A bitwise combination of values specifying the access rights to allow or deny, cast to an integer. - A Boolean value specifying whether the rule is inherited. - A bitwise combination of values specifying how the rule is inherited by subkeys. - A bitwise combination of values that modify the way the rule is inherited by subkeys. Meaningless if the value of is . - One of the values specifying whether the rights are allowed or denied. - A object representing the specified rights for the specified user. - - , , , or specifies an invalid value. - - is . -or- - is zero. - - is neither of type , nor of a type such as that can be converted to type . - - - Searches for a matching access control with which the new rule can be merged. If none are found, adds the new rule. - The access control rule to add. - - is . - - - Searches for an audit rule with which the new rule can be merged. If none are found, adds the new rule. - The audit rule to add. The user specified by this rule determines the search. - - - Creates a new audit rule, specifying the user the rule applies to, the access rights to audit, the inheritance and propagation of the rule, and the outcome that triggers the rule. - An that identifies the user or group the rule applies to. - A bitwise combination of values specifying the access rights to audit, cast to an integer. - A Boolean value specifying whether the rule is inherited. - A bitwise combination of values specifying how the rule is inherited by subkeys. - A bitwise combination of values that modify the way the rule is inherited by subkeys. Meaningless if the value of is . - A bitwise combination of values specifying whether to audit successful access, failed access, or both. - A object representing the specified audit rule for the specified user, with the specified flags. The return type of the method is the base class, , but the return value can be cast safely to the derived class. - - , , , or specifies an invalid value. - - is . -or- - is zero. - - is neither of type , nor of a type such as that can be converted to type . - - - Searches for an access control rule with the same user and (allow or deny) as the specified access rule, and with compatible inheritance and propagation flags; if such a rule is found, the rights contained in the specified access rule are removed from it. - A that specifies the user and to search for, and a set of inheritance and propagation flags that a matching rule, if found, must be compatible with. Specifies the rights to remove from the compatible rule, if found. - - if a compatible rule is found; otherwise . - - is . - - - Searches for all access control rules with the same user and (allow or deny) as the specified rule and, if found, removes them. - A that specifies the user and to search for. Any rights, inheritance flags, or propagation flags specified by this rule are ignored. - - is . - - - Searches for an access control rule that exactly matches the specified rule and, if found, removes it. - The to remove. - - is . - - - Searches for an audit control rule with the same user as the specified rule, and with compatible inheritance and propagation flags; if a compatible rule is found, the rights contained in the specified rule are removed from it. - A that specifies the user to search for, and a set of inheritance and propagation flags that a matching rule, if found, must be compatible with. Specifies the rights to remove from the compatible rule, if found. - - if a compatible rule is found; otherwise, . - - is . - - - Searches for all audit rules with the same user as the specified rule and, if found, removes them. - A that specifies the user to search for. Any rights, inheritance flags, or propagation flags specified by this rule are ignored. - - is . - - - Searches for an audit rule that exactly matches the specified rule and, if found, removes it. - The to be removed. - - is . - - - Removes all access control rules with the same user as the specified rule, regardless of , and then adds the specified rule. - The to add. The user specified by this rule determines the rules to remove before this rule is added. - - - Removes all access control rules with the same user and (allow or deny) as the specified rule, and then adds the specified rule. - The to add. The user and of this rule determine the rules to remove before this rule is added. - - is . - - - Removes all audit rules with the same user as the specified rule, regardless of the value, and then adds the specified rule. - The to add. The user specified by this rule determines the rules to remove before this rule is added. - - is . - - - Initializes a new instance of the class with the specified values. - - if the new object is a container. - - if the new object is a directory object Access Control List (ACL). - The revision level of the new object. - The number of Access Control Entries (ACEs) this object can contain. This number is to be used only as a hint. - - - Initializes a new instance of the class with the specified values. - - if the new object is a container. - - if the new object is a directory object Access Control List (ACL). - The number of Access Control Entries (ACEs) this object can contain. This number is to be used only as a hint. - - - Initializes a new instance of the class with the specified values from the specified object. - - if the new object is a container. - - if the new object is a directory object Access Control List (ACL). - The underlying object for the new object. Specify to create an empty ACL. - - - Adds an audit rule to the current object. - The type of audit rule to add. - The for which to add an audit rule. - The access mask for the new audit rule. - Flags that specify the inheritance properties of the new audit rule. - Flags that specify the inheritance propagation properties for the new audit rule. - - - Adds an audit rule with the specified settings to the current object. Use this method for directory object Access Control Lists (ACLs) when specifying the object type or the inherited object type for the new audit rule. - The type of audit rule to add. - The for which to add an audit rule. - The access mask for the new audit rule. - Flags that specify the inheritance properties of the new audit rule. - Flags that specify the inheritance propagation properties for the new audit rule. - Flags that specify if the and parameters contain non- values. - The identity of the class of objects to which the new audit rule applies. - The identity of the class of child objects which can inherit the new audit rule. - - - Adds an audit rule to the current object. - The for which to add an audit rule. - The for the new audit rule. - - - Removes the specified audit rule from the current object. - The type of audit rule to remove. - The for which to remove an audit rule. - The access mask for the rule to be removed. - Flags that specify the inheritance properties of the rule to be removed. - Flags that specify the inheritance propagation properties for the rule to be removed. - - if this method successfully removes the specified audit rule; otherwise, . - - - Removes the specified audit rule from the current object. Use this method for directory object Access Control Lists (ACLs) when specifying the object type or the inherited object type. - The type of audit rule to remove. - The for which to remove an audit rule. - The access mask for the rule to be removed. - Flags that specify the inheritance properties of the rule to be removed. - Flags that specify the inheritance propagation properties for the rule to be removed. - Flags that specify if the and parameters contain non- values. - The identity of the class of objects to which the removed audit control rule applies. - The identity of the class of child objects which can inherit the removed audit rule. - - if this method successfully removes the specified audit rule; otherwise, . - - - Removes the specified audit rule from the current object. - The for which to remove an audit rule. - The for which to remove an audit rule. - - if this method successfully removes the specified audit rule; otherwise, . - - - Removes the specified audit rule from the current object. - The type of audit rule to remove. - The for which to remove an audit rule. - The access mask for the rule to be removed. - Flags that specify the inheritance properties of the rule to be removed. - Flags that specify the inheritance propagation properties for the rule to be removed. - - - Removes the specified audit rule from the current object. Use this method for directory object Access Control Lists (ACLs) when specifying the object type or the inherited object type. - The type of audit rule to remove. - The for which to remove an audit rule. - The access mask for the rule to be removed. - Flags that specify the inheritance properties of the rule to be removed. - Flags that specify the inheritance propagation properties for the rule to be removed. - Flags that specify if the and parameters contain non- values. - The identity of the class of objects to which the removed audit control rule applies. - The identity of the class of child objects which can inherit the removed audit rule. - - - Removes the specified audit rule from the current object. - The for which to remove an audit rule. - The for the rule to be removed. - - - Sets the specified audit rule for the specified object. - The audit condition to set. - The for which to set an audit rule. - The access mask for the new audit rule. - Flags that specify the inheritance properties of the new audit rule. - Flags that specify the inheritance propagation properties for the new audit rule. - - - Sets the specified audit rule for the specified object. Use this method for directory object Access Control Lists (ACLs) when specifying the object type or the inherited object type. - The audit condition to set. - The for which to set an audit rule. - The access mask for the new audit rule. - Flags that specify the inheritance properties of the new audit rule. - Flags that specify the inheritance propagation properties for the new audit rule. - Flags that specify if the and parameters contain non- values. - The identity of the class of objects to which the new audit rule applies. - The identity of the class of child objects which can inherit the new audit rule. - - - Sets the specified audit rule for the specified object. - The for which to set an audit rule. - The for which to set an audit rule. - - - Initializes a new instance of the class. - - - - - - - Initializes a new instance of the class with the specified reader, and subject. - The binary reader. - The subject that this claim describes. - - - Initializes a new instance of the class. - The security claim. - - - Initializes a new instance of the class with the specified security claim, and subject. - The security claim. - The subject that this claim describes. - - - Initializes a new instance of the class with the specified claim type, and value. - The claim type. - The claim value. - - or is . - - - Initializes a new instance of the class with the specified claim type, value, and value type. - The claim type. - The claim value. - The claim value type. If this parameter is , then is used. - - or is . - - - Initializes a new instance of the class with the specified claim type, value, value type, and issuer. - The claim type. - The claim value. - The claim value type. If this parameter is , then is used. - The claim issuer. If this parameter is empty or , then is used. - - or is . - - - Initializes a new instance of the class with the specified claim type, value, value type, issuer, and original issuer. - The claim type. - The claim value. - The claim value type. If this parameter is , then is used. - The claim issuer. If this parameter is empty or , then is used. - The original issuer of the claim. If this parameter is empty or , then the property is set to the value of the property. - - or is . - - - Initializes a new instance of the class with the specified claim type, value, value type, issuer, original issuer and subject. - The claim type. - The claim value. - The claim value type. If this parameter is , then is used. - The claim issuer. If this parameter is empty or , then is used. - The original issuer of the claim. If this parameter is empty or , then the property is set to the value of the property. - The subject that this claim describes. - - or is . - - - Returns a new object copied from this object. The new claim does not have a subject. - The new claim object. - - - Returns a new object copied from this object. The subject of the new claim is set to the specified ClaimsIdentity. - The intended subject of the new claim. - The new claim object. - - - Returns a string representation of this object. - The string representation of this object. - - - - - - - Writes this to the writer. - The writer to write this claim - The user data to claim - - - Initializes a new instance of the class with an empty claims collection. - - - Initializes a new instance of the class using an enumerated collection of objects. - The claims with which to populate the claims identity. - - - Initializes a new instance of the class with the specified claims and authentication type. - The claims with which to populate the claims identity. - The type of authentication used. - - - Initializes a new instance of the class with the specified claims, authentication type, name claim type, and role claim type. - The claims with which to populate the claims identity. - The type of authentication used. - The claim type to use for name claims. - The claim type to use for role claims. - - - - - - - Initializes a new instance of the class from a serialized stream created by using . - The serialized data. - - - Initializes a new instance of the class from a serialized stream created by using . - The serialized data. - The context for serialization. - - is null. - - - - - - - Initializes a new instance of the class using the name and authentication type from the specified . - The identity from which to base the new claims identity. - - - Initializes a new instance of the class using the specified claims and the specified . - The identity from which to base the new claims identity. - The claims with which to populate the claims identity. - - - Initializes a new instance of the class from the specified using the specified claims, authentication type, name claim type, and role claim type. - The identity from which to base the new claims identity. - The claims with which to populate the new claims identity. - The type of authentication used. - The claim type to use for name claims. - The claim type to use for role claims. - - - Initializes a new instance of the class with an empty claims collection and the specified authentication type. - The type of authentication used. - - - Initializes a new instance of the class with the specified authentication type, name claim type, and role claim type. - The type of authentication used. - The claim type to use for name claims. - The claim type to use for role claims. - - - Adds a single claim to this claims identity. - The claim to add. - - is . - - - Adds a list of claims to this claims identity. - The claims to add. - - is . - - - Returns a new copied from this claims identity. - A copy of the current instance. - - - - - - - Retrieves all of the claims that are matched by the specified predicate. - The function that performs the matching logic. - The matching claims. The list is read-only. - - is null. - - - Retrieves all of the claims that have the specified claim type. - The claim type against which to match claims. - The matching claims. The list is read-only. - - is null. - - - Retrieves the first claim that is matched by the specified predicate. - The function that performs the matching logic. - The first matching claim or if no match is found. - - is null. - - - Retrieves the first claim with the specified claim type. - The claim type to match. - The first matching claim or if no match is found. - - is null. - - - Populates the with data needed to serialize the current object. - The object to populate with data. - The destination for this serialization. Can be . - - is . - - - Determines whether this claims identity has a claim that is matched by the specified predicate. - The function that performs the matching logic. - - if a matching claim exists; otherwise, . - - is null. - - - Determines whether this claims identity has a claim with the specified claim type and value. - The type of the claim to match. - The value of the claim to match. - - if a match is found; otherwise, . - - is null.-or- - is null. - - - Attempts to remove a claim from the claims identity. - The claim to remove. - The claim cannot be removed. - - - Attempts to remove a claim from the claims identity. - The claim to remove. - - if the claim was successfully removed; otherwise, . - - - - - - - - - - - - Initializes a new instance of the class. - - - Initializes a new instance of the class using the specified claims identities. - The identities from which to initialize the new claims principal. - - is null. - - - - - - - Initializes a new instance of the class from a serialized stream created by using . - The serialized data. - The context for serialization. - - is null. - - - Initializes a new instance of the class from the specified identity. - The identity from which to initialize the new claims principal. - - is null. - - - Initializes a new instance of the class from the specified principal. - The principal from which to initialize the new claims principal. - - is null. - - - Adds the specified claims identities to this claims principal. - The claims identities to add. - - is null. - - - Adds the specified claims identity to this claims principal. - The claims identity to add. - - is null. - - - Returns a copy of this instance. - A new copy of the object. - - - Creates a new claims identity. - The binary reader. - The created claims identity. - - - Retrieves all of the claims that are matched by the specified predicate. - The function that performs the matching logic. - The matching claims. - - is null. - - - Retrieves all or the claims that have the specified claim type. - The claim type against which to match claims. - The matching claims. - - is null. - - - Retrieves the first claim that is matched by the specified predicate. - The function that performs the matching logic. - The first matching claim or if no match is found. - - is null. - - - Retrieves the first claim with the specified claim type. - The claim type to match. - The first matching claim or if no match is found. - - is null. - - - Populates the with data needed to serialize the current object. - The object to populate with data. - The destination for this serialization. Can be . - - is . - - - Determines whether any of the claims identities associated with this claims principal contains a claim that is matched by the specified predicate. - The function that performs the matching logic. - - if a matching claim exists; otherwise, . - - is null. - - - Determines whether any of the claims identities associated with this claims principal contains a claim with the specified claim type and value. - The type of the claim to match. - The value of the claim to match. - - if a matching claim exists; otherwise, . - - is null.-or- - is null. - - - Returns a value that indicates whether the entity (user) represented by this claims principal is in the specified role. - The role for which to check. - - if claims principal is in the specified role; otherwise, . - - - - - - - - - - - - Initializes a new instance of the class. - - - Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Using can create security issues. - The calling code does not have .-or- There is already an active for the current frame. - - - When implemented by a derived class, creates and returns an identical copy of the current permission object. - A copy of the current permission object. - - - Forces a at run time if all callers higher in the call stack have not been granted the permission specified by the current instance. - A caller higher in the call stack does not have the permission specified by the current instance.-or- A caller higher in the call stack has called on the current permission object. - - - Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance. - There is already an active for the current frame. - - - Determines whether the specified object is equal to the current . - The object to compare with the current . - - if the specified object is equal to the current ; otherwise, . - - - When overridden in a derived class, reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The parameter is . - The parameter does not contain the XML encoding for an instance of the same type as the current instance.-or- The version number of the parameter is not supported. - - - Gets a hash code for the object that is suitable for use in hashing algorithms and data structures such as a hash table. - A hash code for the current object. - - - When implemented by a derived class, creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be of the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - The parameter is not and is not an instance of the same class as the current permission. - - - When implemented by a derived class, determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not and is not of the same type as the current permission. - - - Prevents callers higher in the call stack from using the code that calls this method to access all resources except for the resource specified by the current instance. - There is already an active for the current frame. - - - Causes all previous overrides for the current frame to be removed and no longer in effect. - There is no previous , , or for the current frame. - - - Causes any previous for the current frame to be removed and no longer in effect. - There is no previous for the current frame. - - - Causes any previous for the current frame to be removed and no longer in effect. - There is no previous for the current frame. - - - Causes any previous for the current frame to be removed and no longer in effect. - There is no previous for the current frame. - - - Creates and returns a string representation of the current permission object. - A string representation of the current permission object. - - - When overridden in a derived class, creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - - - When overridden in a derived class, creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not . This method is only supported at this level when passed . - - - Initializes a new instance of the class. - - - Creates a cryptographic object that is used to perform the symmetric algorithm. - A cryptographic object that is used to perform the symmetric algorithm. - - - Creates a cryptographic object that specifies the implementation of AES to use to perform the symmetric algorithm. - The name of the specific implementation of AES to use. - A cryptographic object that is used to perform the symmetric algorithm. - The parameter is . - - - Initializes a new instance of the class. - The implementation of the derived class is not valid. - - - Releases all resources used by the class. - - - Creates a default cryptographic object used to perform the asymmetric algorithm. - A new instance, unless the default settings have been changed with the <cryptoClass> element. - - - Creates an instance of the specified implementation of an asymmetric algorithm. - The asymmetric algorithm implementation to use. The following table shows the valid values for the parameter and the algorithms they map to.Parameter valueImplements System.Security.Cryptography.AsymmetricAlgorithm - - RSA - - System.Security.Cryptography.RSA - - DSA - - System.Security.Cryptography.DSA - - ECDsa - - ECDsaCng - - System.Security.Cryptography.ECDsaCng - - ECDH - - ECDiffieHellman - - ECDiffieHellmanCng - - System.Security.Cryptography.ECDiffieHellmanCng - - - A new instance of the specified asymmetric algorithm implementation. - - - Releases all resources used by the current instance of the class. - - - Releases the unmanaged resources used by the class and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - When overridden in a derived class, reconstructs an object from an XML string. Otherwise, throws a . - The XML string to use to reconstruct the object. - - - When overridden in a derived class, creates and returns an XML string representation of the current object. Otherwise, throws a . - - to include private parameters; otherwise, . - An XML string encoding of the current object. - - - Initializes a new instance of . - - - When overridden in a derived class, extracts secret information from the encrypted key exchange data. - The key exchange data within which the secret information is hidden. - The secret information derived from the key exchange data. - - - When overridden in a derived class, sets the private key to use for decrypting the secret information. - The instance of the implementation of that holds the private key. - - - Initializes a new instance of . - - - When overridden in a derived class, creates the encrypted key exchange data from the specified input data. - The secret information to be passed in the key exchange. - The encrypted key exchange data to be sent to the intended recipient. - - - When overridden in a derived class, creates the encrypted key exchange data from the specified input data. - The secret information to be passed in the key exchange. - This parameter is not used in the current version. - The encrypted key exchange data to be sent to the intended recipient. - - - When overridden in a derived class, sets the public key to use for encrypting the secret information. - The instance of the implementation of that holds the public key. - - - Initializes a new instance of . - - - When overridden in a derived class, sets the hash algorithm to use for verifying the signature. - The name of the hash algorithm to use for verifying the signature. - - - When overridden in a derived class, sets the public key to use for verifying the signature. - The instance of an implementation of that holds the public key. - - - When overridden in a derived class, verifies the signature for the specified data. - The data signed with . - The signature to be verified for . - - if matches the signature computed using the specified hash algorithm and key on ; otherwise, . - - - Verifies the signature from the specified hash value. - The hash algorithm to use to verify the signature. - The signature to be verified. - - if the signature is valid for the hash; otherwise, . - The parameter is . - - - Initializes a new instance of . - - - When overridden in a derived class, creates the signature for the specified data. - The data to be signed. - The digital signature for the parameter. - - - Creates the signature from the specified hash value. - The hash algorithm to use to create the signature. - The signature for the specified hash value. - The parameter is . - - - When overridden in a derived class, sets the hash algorithm to use for creating the signature. - The name of the hash algorithm to use for creating the signature. - - - When overridden in a derived class, sets the asymmetric algorithm to use to create the signature. - The instance of the implementation of to use to create the signature. - - - Releases all resources used by the method. - - - Releases all resources used by the current instance of the class. - - - Resets the internal state of so that it can be used again to do a different encryption or decryption. - - - Computes the transformation for the specified region of the input byte array and copies the resulting transformation to the specified region of the output byte array. - The input on which to perform the operation on. - The offset into the input byte array from which to begin using data from. - The number of bytes in the input byte array to use as data. - The output to which to write the data to. - The offset into the output byte array from which to begin writing data from. - The number of bytes written. - The parameter is .-or- The parameter is . - The length of the input buffer is less than the sum of the input offset and the input count. - - is out of range. This parameter requires a non-negative number. - - - Computes the transformation for the specified region of the specified byte array. - The input on which to perform the operation on. - The offset into the byte array from which to begin using data from. - The number of bytes in the byte array to use as data. - The computed transformation. - The parameter is . - The parameter is less than zero.-or- The parameter is less than zero.-or- The length of the input buffer is less than the sum of the input offset and the input count. - The padding is invalid. - The parameter is out of range. This parameter requires a non-negative number. - - - Initializes a new instance of the class. - - - Adds a set of names to algorithm mappings to be used for the current application domain. - The algorithm to map to. - An array of names to map to the algorithm. - The or parameter is . - - cannot be accessed from outside the assembly.-or-One of the entries in the parameter is empty or . - - - Adds a set of names to object identifier (OID) mappings to be used for the current application domain. - The object identifier (OID) to map to. - An array of names to map to the OID. - The or parameter is . - One of the entries in the parameter is empty or . - - - Creates a new instance of the specified cryptographic object. - The simple name of the cryptographic object of which to create an instance. - A new instance of the specified cryptographic object. - The parameter is . - The algorithm described by the parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible. - - - Creates a new instance of the specified cryptographic object with the specified arguments. - The simple name of the cryptographic object of which to create an instance. - The arguments used to create the specified cryptographic object. - A new instance of the specified cryptographic object. - The parameter is . - The algorithm described by the parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible. - - - Encodes the specified object identifier (OID). - The OID to encode. - A byte array containing the encoded OID. - The parameter is . - An error occurred while encoding the OID. - - - Gets the object identifier (OID) of the algorithm corresponding to the specified simple name. - The simple name of the algorithm for which to get the OID. - The OID of the specified algorithm. - The parameter is . - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with the specified error code. - The error code. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message in the specified format. - The format used to output the error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message in the specified format. - The format used to output the error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a target data stream, the transformation to use, and the mode of the stream. - The stream on which to perform the cryptographic transformation. - The cryptographic transformation that is to be performed on the stream. - One of the values. - - is not readable. - - is not writable. - - is invalid. - - - Initializes a new instance of the class. - The stream on which to perform the cryptographic transformation. - The cryptographic transformation that is to be performed on the stream. - The mode of the stream. - - to not close the underlying stream when the object is disposed; otherwise, . - - is not readable. - - is not writable. - - is invalid. - - - Releases all resources used by the . - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Clears all buffers for the current stream and causes any buffered data to be written to the underlying device. - - - Clears all buffers for the current stream asynchronously, causes any buffered data to be written to the underlying device, and monitors cancellation requests. - The token to monitor for cancellation requests. The default value is . - A task that represents the asynchronous flush operation. - The stream has been disposed. - - - Updates the underlying data source or repository with the current state of the buffer, then clears the buffer. - The key is corrupt which can cause invalid padding to the stream. - The current stream is not writable.-or- The final block has already been transformed. - - - Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. - An array of bytes. A maximum of bytes are read from the current stream and stored in . - The byte offset in at which to begin storing the data read from the current stream. - The maximum number of bytes to be read from the current stream. - The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero if the end of the stream has been reached. - The associated with current object does not match the underlying stream. For example, this exception is thrown when using with an underlying stream that is write only. - The parameter is less than zero.-or- The parameter is less than zero. - Thesum of the and parameters is longer than the length of the buffer. - - - Reads a sequence of bytes from the current stream asynchronously, advances the position within the stream by the number of bytes read, and monitors cancellation requests. - The buffer to write the data into. - The byte offset in at which to begin writing data from the stream. - The maximum number of bytes to read. - The token to monitor for cancellation requests. The default value is . - A task that represents the asynchronous read operation. The value of the task object's parameter contains the total number of bytes read into the buffer. The result can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the stream has been reached. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The stream does not support reading. - The stream has been disposed. - The stream is currently in use by a previous read operation. - - - Sets the position within the current stream. - A byte offset relative to the parameter. - A object indicating the reference point used to obtain the new position. - This method is not supported. - This method is not supported. - - - Sets the length of the current stream. - The desired length of the current stream in bytes. - This property exists only to support inheritance from , and cannot be used. - - - Writes a sequence of bytes to the current and advances the current position within the stream by the number of bytes written. - An array of bytes. This method copies bytes from to the current stream. - The byte offset in at which to begin copying bytes to the current stream. - The number of bytes to be written to the current stream. - The associated with current object does not match the underlying stream. For example, this exception is thrown when using with an underlying stream that is read only. - The parameter is less than zero.-or- The parameter is less than zero. - The sum of the and parameters is longer than the length of the buffer. - - - Writes a sequence of bytes to the current stream asynchronously, advances the current position within the stream by the number of bytes written, and monitors cancellation requests. - The buffer to write data from. - The zero-based byte offset in from which to begin writing bytes to the stream. - The maximum number of bytes to write. - The token to monitor for cancellation requests. The default value is . - A task that represents the asynchronous write operation. - - is . - - or is negative. - The sum of and is larger than the buffer length. - The stream does not support writing. - The stream has been disposed. - The stream is currently in use by a previous write operation. - - - Initializes a new instance of the class using the specified parameters. - A object that provides information about the key. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified provider type code. - A provider type code that specifies the kind of provider to create. - - - Initializes a new instance of the class with the specified provider type code and name. - A provider type code that specifies the kind of provider to create. - A provider name. - - - Initializes a new instance of the class with the specified provider type code and name, and the specified container name. - The provider type code that specifies the kind of provider to create. - A provider name. - A container name. - - - Initializes a new instance of the class using a provider type, a provider name, a container name, access information, and a handle to an unmanaged smart card password dialog. - The provider type code that specifies the kind of provider to create. - A provider name. - A container name. - An object that represents access rights and audit rules for the container. - A handle to the parent window for a smart card password dialog. - - - Initializes a new instance of the class using a provider type, a provider name, a container name, access information, and a password associated with a smart card key. - The provider type code that specifies the kind of provider to create. - A provider name. - A container name. - An object that represents access rights and audit rules for a container. - A password associated with a smart card key. - - - Initializes a new instance of the class. - - - When overridden in a derived class, releases all resources used by the current instance of the class. - - - When overridden in a derived class, releases the unmanaged resources used by the class and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - When overridden in a derived class, returns pseudo-random key bytes. - The number of pseudo-random key bytes to generate. - A byte array filled with pseudo-random key bytes. - - - When overridden in a derived class, resets the state of the operation. - - - Initializes a new instance of the class. - - - Creates an instance of a cryptographic object to perform the Data Encryption Standard () algorithm. - A cryptographic object. - - - Creates an instance of a cryptographic object to perform the specified implementation of the Data Encryption Standard () algorithm. - The name of the specific implementation of to use. - A cryptographic object. - - - Determines whether the specified key is semi-weak. - The secret key to test for semi-weakness. - - if the key is semi-weak; otherwise, . - The size of the parameter is not valid. - - - Determines whether the specified key is weak. - The secret key to test for weakness. - - if the key is weak; otherwise, . - The size of the parameter is not valid. - - - Initializes a new instance of the class. - The Data Encryption Standard () cryptographic service provider is not available. - - - Creates a symmetric Data Encryption Standard () decryptor object with the specified key () and initialization vector (). - The secret key to use for the symmetric algorithm. - The initialization vector to use for the symmetric algorithm. - A symmetric decryptor object. - The value of the property is .-or-The value of the property is and the value of the property is not 8.-or-An invalid key size was used.-or-The algorithm key size was not available. - - - Creates a symmetric Data Encryption Standard () encryptor object with the specified key () and initialization vector (). - The secret key to use for the symmetric algorithm. - The initialization vector to use for the symmetric algorithm. - A symmetric encryptor object. - The value of the property is .-or-The value of the property is and the value of the property is not 8.-or-An invalid key size was used.-or-The algorithm key size was not available. - - - Generates a random initialization vector () to use for the algorithm. - - - Generates a random key () to be used for the algorithm. - - - Initializes a new instance of the class. - - - Creates the default cryptographic object used to perform the asymmetric algorithm. - A cryptographic object used to perform the asymmetric algorithm. - - - Creates a new ephemeral DSA key with the specified key size. - The key size, in bits. - A new ephemeral DSA key with the specified key size. - - is different than . - - - Creates a new ephemeral DSA key with the specified DSA key parameters. - The parameters for the algorithm. - A new ephemeral DSA key. - - - Creates the specified cryptographic object used to perform the asymmetric algorithm. - The name of the specific implementation of to use. - A cryptographic object used to perform the asymmetric algorithm. - - - When overridden in a derived class, creates the signature for the specified data. - The data to be signed. - The digital signature for the specified data. - - - When overridden in a derived class, exports the . - - to include private parameters; otherwise, . - The parameters for . - - - Reconstructs a object from an XML string. - The XML string to use to reconstruct the object. - The parameter is . - The format of the parameter is not valid. - - - When overridden in a derived class, computes the hash value of a specified portion of a byte array by using a specified hashing algorithm. - The data to be hashed. - The index of the first byte in that is to be hashed. - The number of bytes to hash. - The algorithm to use to hash the data. - The hashed data. - A derived class must override this method. - - - When overridden in a derived class, computes the hash value of a specified binary stream by using a specified hashing algorithm. - The binary stream to hash. - The algorithm to use to hash the data. - The hashed data. - A derived class must override this method. - - - When overridden in a derived class, imports the specified . - The parameters for . - - - Computes the hash value of a portion of the specified byte array using the specified hash algorithm and signs the resulting hash value. - The input data for which to compute the hash. - The offset into the array at which to begin using data. - The number of bytes in the array to use as data. - The hash algorithm to use to create the hash value. - The DSA signature for the specified data. - - is . - - . is or . - - is less than zero. -or- - is less than zero. -or- - + – 1 results in an index that is beyond the upper bound of . - - - Computes the hash value of the specified byte array using the specified hash algorithm and signs the resulting hash value. - The input data for which to compute the hash. - The hash algorithm to use to create the hash value. - The DSA signature for the specified data. - - is . - - . is or . - - - Computes the hash value of the specified stream using the specified hash algorithm and signs the resulting hash value. - The input stream for which to compute the hash. - The hash algorithm to use to create the hash value. - The DSA signature for the specified data. - - is . - - . is or . - - - Creates and returns an XML string representation of the current object. - - to include private parameters; otherwise, . - An XML string encoding of the current object. - - - Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and comparing it to the provided signature. - The signed data. - The signature data to be verified. - The hash algorithm used to create the hash value of the data. - - if the digital signature is valid; otherwise, . - - is . -or- - is . - - . is or . - - - Verifies that a digital signature is valid by calculating the hash value of the data in a portion of a byte array using the specified hash algorithm and comparing it to the provided signature. - The signed data. - The starting index at which to compute the hash. - The number of bytes to hash. - The signature data to be verified. - The hash algorithm used to create the hash value of the data. - - if the digital signature is valid; otherwise, . - - is . -or- - is . - - . is or . - - is less than zero. -or- - is less than zero.-or- - + – 1 results in an index that is beyond the upper bound of . - - - Verifies that a digital signature is valid by calculating the hash value of the specified stream using the specified hash algorithm and comparing it to the provided signature. - The signed data. - The signature data to be verified. - The hash algorithm used to create the hash value of the data. - - if the digital signature is valid; otherwise, . - - is . -or- - is . - - . is or . - - - When overridden in a derived class, verifies the signature for the specified data. - The hash of the data signed with . - The signature to be verified for . - - if matches the signature computed using the specified hash algorithm and key on ; otherwise, . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified key size. - The size of the key for the asymmetric algorithm in bits. - - - Initializes a new instance of the class with the specified key size and parameters for the cryptographic service provider (CSP). - The size of the key for the cryptographic algorithm in bits. - The parameters for the CSP. - The CSP cannot be acquired.-or- The key cannot be created. - - is out of range. - - - Initializes a new instance of the class with the specified parameters for the cryptographic service provider (CSP). - The parameters for the CSP. - - - Creates the signature for the specified data. - The data to be signed. - The digital signature for the specified data. - - - Exports a blob containing the key information associated with a object. - - to include the private key; otherwise, . - A byte array containing the key information associated with a object. - - - Exports the . - - to include private parameters; otherwise, . - The parameters for . - The key cannot be exported. - - - Imports a blob that represents DSA key information. - A byte array that represents a DSA key blob. - - - Imports the specified . - The parameters for . - The cryptographic service provider (CSP) cannot be acquired.-or- The parameter has missing fields. - - - Computes the hash value of the specified byte array and signs the resulting hash value. - The input data for which to compute the hash. - The signature for the specified data. - - - Signs a byte array from the specified start point to the specified end point. - The input data to sign. - The offset into the array from which to begin using data. - The number of bytes in the array to use as data. - The signature for the specified data. - - - Computes the hash value of the specified input stream and signs the resulting hash value. - The input data for which to compute the hash. - The signature for the specified data. - - - Computes the signature for the specified hash value by encrypting it with the private key. - The hash value of the data to be signed. - The name of the hash algorithm used to create the hash value of the data. - The signature for the specified hash value. - The parameter is . - The cryptographic service provider (CSP) cannot be acquired.-or- There is no private key. - - - Verifies the specified signature data by comparing it to the signature computed for the specified data. - The data that was signed. - The signature data to be verified. - - if the signature verifies as valid; otherwise, . - - - Verifies the specified signature data by comparing it to the signature computed for the specified hash value. - The hash value of the data to be signed. - The name of the hash algorithm used to create the hash value of the data. - The signature data to be verified. - - if the signature verifies as valid; otherwise, . - The parameter is .-or- The parameter is . - The cryptographic service provider (CSP) cannot be acquired.-or- The signature cannot be verified. - - - Verifies the signature for the specified data. - The data signed with . - The signature to be verified for . - - if matches the signature computed using the specified hash algorithm and key on ; otherwise, . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified key. - The instance of Digital Signature Algorithm () that holds the key. - - is . - - - Specifies the hash algorithm for the Digital Signature Algorithm () signature deformatter. - The name of the hash algorithm to use for the signature deformatter. - The parameter does not map to the hash algorithm. - - - Specifies the key to be used for the Digital Signature Algorithm () signature deformatter. - The instance of that holds the key. - - is . - - - Verifies the Digital Signature Algorithm () signature on the data. - The data signed with . - The signature to be verified for . - - if the signature is valid for the data; otherwise, . - - is .-or- - is . - The DSA key is missing. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified key. - The instance of the Digital Signature Algorithm () that holds the key. - - is . - - - Creates the Digital Signature Algorithm () PKCS #1 signature for the specified data. - The data to be signed. - The digital signature for the specified data. - - is . - The OID is .-or-The DSA key is . - - - Specifies the hash algorithm for the Digital Signature Algorithm () signature formatter. - The name of the hash algorithm to use for the signature formatter. - The parameter does not map to the hash algorithm. - - - Specifies the key to be used for the Digital Signature Algorithm () signature formatter. - The instance of that holds the key. - - is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified transformation mode. - One of the values. - - - Releases all resources used by the . - - - Releases all resources used by the current instance of the class. - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Releases the unmanaged resources used by the . - - - Converts the specified region of the input byte array from base 64 and copies the result to the specified region of the output byte array. - The input to compute from base 64. - The offset into the input byte array from which to begin using data. - The number of bytes in the input byte array to use as data. - The output to which to write the result. - The offset into the output byte array from which to begin writing data. - The number of bytes written. - The current object has already been disposed. - - uses an invalid value.-or- - has an invalid offset length. - - is out of range. This parameter requires a non-negative number. - - is . - - - Converts the specified region of the specified byte array from base 64. - The input to convert from base 64. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - The computed conversion. - The current object has already been disposed. - - has an invalid offset length.-or- - has an invalid value. - - is out of range. This parameter requires a non-negative number. - - is . - - - Initializes a new instance of the class. - - - Releases all resources used by the class. - - - Computes the hash value for the specified byte array. - The input to compute the hash code for. - The computed hash code. - - is . - The object has already been disposed. - - - Computes the hash value for the specified region of the specified byte array. - The input to compute the hash code for. - The offset into the byte array from which to begin using data. - The number of bytes in the array to use as data. - The computed hash code. - - is an invalid value.-or- - length is invalid. - - is . - - is out of range. This parameter requires a non-negative number. - The object has already been disposed. - - - Computes the hash value for the specified object. - The input to compute the hash code for. - The computed hash code. - The object has already been disposed. - - - Creates an instance of the default implementation of a hash algorithm. - A new instance, unless the default settings have been changed using the . - - - Creates an instance of the specified implementation of a hash algorithm. - The hash algorithm implementation to use. The following table shows the valid values for the parameter and the algorithms they map to. Parameter value Implements SHA - - SHA1 - - System.Security.Cryptography.SHA1 - - System.Security.Cryptography.HashAlgorithm - - MD5 - - System.Security.Cryptography.MD5 - - SHA256 - - SHA-256 - - System.Security.Cryptography.SHA256 - - SHA384 - - SHA-384 - - System.Security.Cryptography.SHA384 - - SHA512 - - SHA-512 - - System.Security.Cryptography.SHA512 - - - A new instance of the specified hash algorithm, or if is not a valid hash algorithm. - - - Releases all resources used by the current instance of the class. - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - When overridden in a derived class, routes data written to the object into the hash algorithm for computing the hash. - The input to compute the hash code for. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - - - When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic stream object. - The computed hash code. - - - Initializes an implementation of the class. - - - Computes the hash value for the specified region of the input byte array and copies the specified region of the input byte array to the specified region of the output byte array. - The input to compute the hash code for. - The offset into the input byte array from which to begin using data. - The number of bytes in the input byte array to use as data. - A copy of the part of the input array used to compute the hash code. - The offset into the output byte array from which to begin writing data. - The number of bytes written. - - uses an invalid value.-or- - has an invalid length. - - is . - - is out of range. This parameter requires a non-negative number. - The object has already been disposed. - - - Computes the hash value for the specified region of the specified byte array. - The input to compute the hash code for. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - An array that is a copy of the part of the input that is hashed. - - uses an invalid value.-or- - has an invalid offset length. - - is . - - is out of range. This parameter requires a non-negative number. - The object has already been disposed. - - - Initializes a new instance of the structure with a custom name. - The custom hash algorithm name. - - - Returns a value that indicates whether the current instance and a specified object are equal. - The object to compare with the current instance. - - if is a object and its property is equal to that of the current instance. The comparison is ordinal and case-sensitive. - - - Returns a value that indicates whether two instances are equal. - The object to compare with the current instance. - - if the property of is equal to that of the current instance. The comparison is ordinal and case-sensitive. - - - Returns the hash code for the current instance. - The hash code for the current instance, or 0 if no value was supplied to the constructor. - - - Determines whether two specified objects are equal. - The first object to compare. - The second object to compare. - - if both and have the same value; otherwise, . - - - Determines whether two specified objects are not equal. - The first object to compare. - The second object to compare. - - if both and do not have the same value; otherwise, . - - - Returns the string representation of the current instance. - The string representation of the current instance. - - - Initializes a new instance of the class. - - - Creates an instance of the default implementation of a Hash-based Message Authentication Code (HMAC). - A new SHA-1 instance, unless the default settings have been changed by using the <cryptoClass> element. - - - Creates an instance of the specified implementation of a Hash-based Message Authentication Code (HMAC). - The HMAC implementation to use. The following table shows the valid values for the parameter and the algorithms they map to.Parameter valueImplements System.Security.Cryptography.HMAC - - System.Security.Cryptography.KeyedHashAlgorithm - - HMACMD5 - - System.Security.Cryptography.HMACMD5 - - HMACRIPEMD160 - - System.Security.Cryptography.HMACRIPEMD160 - - HMACSHA1 - - System.Security.Cryptography.HMACSHA1 - - HMACSHA256 - - System.Security.Cryptography.HMACSHA256 - - HMACSHA384 - - System.Security.Cryptography.HMACSHA384 - - HMACSHA512 - - System.Security.Cryptography.HMACSHA512 - - MACTripleDES - - System.Security.Cryptography.MACTripleDES - - - A new instance of the specified HMAC implementation. - - - Releases the unmanaged resources used by the class when a key change is legitimate and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - When overridden in a derived class, routes data written to the object into the default hash algorithm for computing the hash value. - The input data. - The offset into the byte array from which to begin using data. - The number of bytes in the array to use as data. - - - When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic stream object. - The computed hash code in a byte array. - - - Initializes an instance of the default implementation of . - - - Initializes a new instance of the class by using a randomly generated key. - - - Initializes a new instance of the class by using the specified key. - The secret key for encryption. The key can be any length, but if it is more than 64 bytes long it will be hashed (using SHA-1) to derive a 64-byte key. Therefore, the recommended size of the secret key is 64 bytes. - The parameter is . - - - Initializes a new instance of the class with a randomly generated 64-byte key. - - - Initializes a new instance of the class with the specified key data. - The secret key for encryption. The key can be any length, but if it is more than 64 bytes long it is hashed (using SHA-1) to derive a 64-byte key. Therefore, the recommended size of the secret key is 64 bytes. - The parameter is . - - - Initializes a new instance of the class with a randomly generated key. - - - Initializes a new instance of the class with the specified key data. - The secret key for encryption. The key can be any length, but if it is more than 64 bytes long it is hashed (using SHA-1) to derive a 64-byte key. Therefore, the recommended size of the secret key is 64 bytes. - The parameter is . - - - Initializes a new instance of the class with the specified key data and a value that specifies whether to use the managed version of the SHA1 algorithm. - The secret key for encryption. The key can be any length, but if it is more than 64 bytes long, it is hashed (using SHA-1) to derive a 64-byte key. Therefore, the recommended size of the secret key is 64 bytes. - - to use the managed implementation of the SHA1 algorithm (the class); to use the unmanaged implementation (the class). - - - Initializes a new instance of the class with a randomly generated key. - - - Initializes a new instance of the class with the specified key data. - The secret key for encryption. The key can be any length. However, the recommended size is 64 bytes. If the key is more than 64 bytes long, it is hashed (using SHA-256) to derive a 64-byte key. If it is less than 64 bytes long, it is padded to 64 bytes. - The parameter is . - - - Initializes a new instance of the class by using a randomly generated key. - - - Initializes a new instance of the class by using the specified key data. - The secret key for encryption. The key can be any length. However, the recommended size is 128 bytes. If the key is more than 128 bytes long, it is hashed (using SHA-384) to derive a 128-byte key. If it is less than 128 bytes long, it is padded to 128 bytes. - The parameter is . - - - Initializes a new instance of the class with a randomly generated key. - - - Initializes a new instance of the class with the specified key data. - The secret key for encryption. The key can be any length. However, the recommended size is 128 bytes. If the key is more than 128 bytes long, it is hashed (using SHA-512) to derive a 128-byte key. If it is less than 128 bytes long, it is padded to 128 bytes. - The parameter is . - - - Transforms the specified region of the input byte array and copies the resulting transform to the specified region of the output byte array. - The input for which to compute the transform. - The offset into the input byte array from which to begin using data. - The number of bytes in the input byte array to use as data. - The output to which to write the transform. - The offset into the output byte array from which to begin writing data. - The number of bytes written. - - - Transforms the specified region of the specified byte array. - The input for which to compute the transform. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - The computed transform. - - - Exports a blob that contains the key information associated with an object. - - to include the private key; otherwise, . - A byte array that contains the key information associated with an object. - - - Imports a blob that represents asymmetric key information. - A byte array that represents an asymmetric key blob. - - - Initializes a new instance of the class. - - - Creates an instance of the default implementation of a keyed hash algorithm. - A new instance, unless the default settings have been changed. - - - Creates an instance of the specified implementation of a keyed hash algorithm. - The keyed hash algorithm implementation to use. The following table shows the valid values for the parameter and the algorithms they map to.Parameter valueImplements System.Security.Cryptography.HMAC - - System.Security.Cryptography.KeyedHashAlgorithm - - HMACMD5 - - System.Security.Cryptography.HMACMD5 - - HMACRIPEMD160 - - System.Security.Cryptography.HMACRIPEMD160 - - HMACSHA1 - - System.Security.Cryptography.HMACSHA1 - - HMACSHA256 - - System.Security.Cryptography.HMACSHA256 - - HMACSHA384 - - System.Security.Cryptography.HMACSHA384 - - HMACSHA512 - - System.Security.Cryptography.HMACSHA512 - - MACTripleDES - - System.Security.Cryptography.MACTripleDES - - - A new instance of the specified keyed hash algorithm. - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Initializes a new instance of the class with the specified key values. - The minimum valid key size. - The maximum valid key size. - The interval between valid key sizes. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified key data. - The secret key for encryption. - The parameter is . - - - Initializes a new instance of the class with the specified key data and using the specified implementation of . - The name of the implementation to use. - The secret key for encryption. - The parameter is . - The parameter is not a valid name of a implementation. - - - Releases the resources used by the instance. - - if the method is called from an implementation; otherwise, . - - - Routes data written to the object into the encryptor for computing the Message Authentication Code (MAC). - The input data. - The offset into the byte array from which to begin using data. - The number of bytes in the array to use as data. - - - Returns the computed Message Authentication Code (MAC) after all data is written to the object. - The computed MAC. - - - Initializes an instance of . - - - Initializes a new instance of the class. - - - When overridden in a derived class, generates a mask with the specified length using the specified random seed. - The random seed to use to compute the mask. - The length of the generated mask in bytes. - A randomly generated mask whose length is equal to the parameter. - - - Initializes a new instance of . - - - Creates an instance of the default implementation of the hash algorithm. - A new instance of the hash algorithm. - The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible. - - - Creates an instance of the specified implementation of the hash algorithm. - The name of the specific implementation of to use. - A new instance of the specified implementation of . - The algorithm described by the parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible. - - - Initializes a new instance of the class. - A FIPS-compliant algorithm policy is not being used. - - - Initializes an instance of . - - - Initializes a new instance of the class specifying the password and key salt to use to derive the key. - The password to derive the key for. - The key salt to use to derive the key. - - - Initializes a new instance of the class specifying the password, key salt, and cryptographic service provider (CSP) to use to derive the key. - The password to derive the key for. - The key salt to use to derive the key. - The cryptographic service provider (CSP) parameters for the operation. - - - Initializes a new instance of the class specifying the password, key salt, hash name, and iterations to use to derive the key. - The password to derive the key for. - The key salt to use to derive the key. - The hash algorithm to use to derive the key. - The iteration count to use to derive the key. - - - Initializes a new instance of the class specifying the password, key salt, hash name, iterations, and cryptographic service provider (CSP) to use to derive the key. - The password to derive the key for. - The key salt to use to derive the key. - The hash algorithm to use to derive the key. - The iteration count to use to derive the key. - The cryptographic service provider (CSP) parameters for the operation. - - - Initializes a new instance of the class with the password and key salt to use to derive the key. - The password for which to derive the key. - The key salt to use to derive the key. - - - Initializes a new instance of the class with the password, key salt, and cryptographic service provider (CSP) parameters to use to derive the key. - The password for which to derive the key. - The key salt to use to derive the key. - The CSP parameters for the operation. - - - Initializes a new instance of the class with the password, key salt, hash name, and number of iterations to use to derive the key. - The password for which to derive the key. - The key salt to use to derive the key. - The name of the hash algorithm for the operation. - The number of iterations for the operation. - - - Initializes a new instance of the class with the password, key salt, hash name, number of iterations, and cryptographic service provider (CSP) parameters to use to derive the key. - The password for which to derive the key. - The key salt to use to derive the key. - The name of the hash algorithm for the operation. - The number of iterations for the operation. - The CSP parameters for the operation. - - - Derives a cryptographic key from the object. - The algorithm name for which to derive the key. - The hash algorithm name to use to derive the key. - The size of the key, in bits, to derive. - The initialization vector (IV) to use to derive the key. - The derived key. - The parameter is incorrect.-or- The cryptographic service provider (CSP) cannot be acquired.-or- The parameter is not a valid algorithm name.-or- The parameter is not a valid hash algorithm name. - - - Releases the unmanaged resources used by the class and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Returns pseudo-random key bytes. - The number of pseudo-random key bytes to generate. - A byte array filled with pseudo-random key bytes. - - - Resets the state of the operation. - - - Initializes a new instance of the class. - - - Generates and returns a mask from the specified random seed of the specified length. - The random seed to use for computing the mask. - The length of the generated mask in bytes. - A randomly generated mask whose length is equal to the parameter. - - - Initializes a new instance of . - - - When overridden in a derived class, creates an instance of the default implementation of a cryptographic random number generator that can be used to generate random data. - A new instance of a cryptographic random number generator. - - - When overridden in a derived class, creates an instance of the specified implementation of a cryptographic random number generator. - The name of the random number generator implementation to use. - A new instance of a cryptographic random number generator. - - - When overridden in a derived class, releases all resources used by the current instance of the class. - - - When overridden in a derived class, releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - When overridden in a derived class, fills an array of bytes with a cryptographically strong random sequence of values. - The array to fill with cryptographically strong random bytes. - - - Fills the specified byte array with a cryptographically strong random sequence of values. - The array to fill with cryptographically strong random bytes. - The index of the array to start the fill operation. - The number of bytes to fill. - - is . - - or is less than 0 - - plus exceeds the length of . - - - When overridden in a derived class, fills an array of bytes with a cryptographically strong random sequence of nonzero values. - The array to fill with cryptographically strong random nonzero bytes. - - - Initializes a new instance of . - - - Creates an instance of a cryptographic object to perform the algorithm. - An instance of a cryptographic object. - The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible. - - - Creates an instance of a cryptographic object to perform the specified implementation of the algorithm. - The name of the specific implementation of to use. - An instance of a cryptographic object. - The algorithm described by the parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible. - - - Initializes a new instance of the class. - The cryptographic service provider (CSP) cannot be acquired. - A non-compliant FIPS algorithm was found. - - - Creates a symmetric decryptor object with the specified key ()and initialization vector (). - The secret key to use for the symmetric algorithm. - The initialization vector to use for the symmetric algorithm. - A symmetric decryptor object. - An cipher mode was used.-or-A cipher mode with a feedback size other than 8 bits was used.-or-An invalid key size was used.-or-The algorithm key size was not available. - - - Creates a symmetric encryptor object with the specified key () and initialization vector (). - The secret key to use for the symmetric algorithm. - The initialization vector to use for the symmetric algorithm. - A symmetric encryptor object. - An cipher mode was used.-or-A cipher mode with a feedback size other than 8 bits was used.-or-An invalid key size was used.-or-The algorithm key size was not available. - - - Generates a random initialization vector () to use for the algorithm. - - - Generates a random key () to be used for the algorithm. - - - Initializes a new instance of the class using a password, a salt, and number of iterations to derive the key. - The password used to derive the key. - The key salt used to derive the key. - The number of iterations for the operation. - The specified salt size is smaller than 8 bytes or the iteration count is less than 1. - The password or salt is . - - - Initializes a new instance of the class using the specified password, salt, number of iterations and the hash algorithm name to derive the key. - The password to use to derive the key. - The key salt to use to derive the key. - The number of iterations for the operation. - The hash algorithm to use to derive the key. - - is less than zero. - The property of is either or . - Hash algorithm name is invalid. - - - Initializes a new instance of the class using a password and salt to derive the key. - The password used to derive the key. - The key salt used to derive the key. - The specified salt size is smaller than 8 bytes or the iteration count is less than 1. - The password or salt is . - - - Initializes a new instance of the class using a password, a salt, and number of iterations to derive the key. - The password used to derive the key. - The key salt used to derive the key. - The number of iterations for the operation. - The specified salt size is smaller than 8 bytes or the iteration count is less than 1. - The password or salt is . - - - Initializes a new instance of the class using the specified password, salt, number of iterations and the hash algorithm name to derive the key. - The password to use to derive the key. - The key salt to use to derive the key. - The number of iterations for the operation. - The hash algorithm to use to derive the key. - The property of is either or . - Hash algorithm name is invalid. - - - Initializes a new instance of the class using the password and salt size to derive the key. - The password used to derive the key. - The size of the random salt that you want the class to generate. - The specified salt size is smaller than 8 bytes. - The password or salt is . - - - Initializes a new instance of the class using a password, a salt size, and number of iterations to derive the key. - The password used to derive the key. - The size of the random salt that you want the class to generate. - The number of iterations for the operation. - The specified salt size is smaller than 8 bytes or the iteration count is less than 1. - The password or salt is . - - is out of range. This parameter requires a non-negative number. - - - Initializes a new instance of the class using the specified password, salt size, number of iterations and the hash algorithm name to derive the key. - The password to use to derive the key. - The size of the random salt that you want the class to generate. - The number of iterations for the operation. - The hash algorithm to use to derive the key. - - is less than zero. - The property of is either or . - Hash algorithm name is invalid. - - - Derives a cryptographic key from the object. - The algorithm name for which to derive the key. - The hash algorithm name to use to derive the key. - The size of the key, in bits, to derive. - The initialization vector (IV) to use to derive the key. - The derived key. - The parameter is incorrect.-or- The cryptographic service provider (CSP) cannot be acquired.-or- The parameter is not a valid algorithm name.-or- The parameter is not a valid hash algorithm name. - - - Releases the unmanaged resources used by the class and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Returns the pseudo-random key for this object. - The number of pseudo-random key bytes to generate. - A byte array filled with pseudo-random key bytes. - - is out of range. This parameter requires a non-negative number. - - - Resets the state of the operation. - - - Initializes a new instance of . - - - Creates a cryptographic object to perform the algorithm. - A cryptographic object. - The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible. - - - Creates a cryptographic object to perform the specified implementation of the algorithm. - The name of the specific implementation of to create. - A cryptographic object. - The algorithm described by the parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible. - - - Initializes a new instance of the class. - This class is not compliant with the FIPS algorithm. - - - Creates a symmetric decryptor object with the specified and initialization vector (). - The secret key to be used for the symmetric algorithm. The key size must be 128, 192, or 256 bits. - The IV to be used for the symmetric algorithm. - A symmetric decryptor object. - The parameter is .-or-The parameter is . - The value of the property is not , , or . - - - Creates a symmetric encryptor object with the specified and initialization vector (). - The secret key to be used for the symmetric algorithm. The key size must be 128, 192, or 256 bits. - The IV to be used for the symmetric algorithm. - A symmetric encryptor object. - The parameter is .-or-The parameter is . - The value of the property is not , , or . - - - Generates a random initialization vector () to be used for the algorithm. - - - Generates a random to be used for the algorithm. - - - Releases all resources used by the class. - - - Releases all resources used by the current instance of the class. - - - Resets the internal state of so it can be used again to do a different encryption or decryption. - - - Computes the transformation for the specified region of the input byte array and copies the resulting transformation to the specified region of the output byte array. - The input to perform the operation on. - The offset into the input byte array to begin using data from. - The number of bytes in the input byte array to use as data. - The output to write the data to. - The offset into the output byte array to begin writing data from. - The number of bytes written. - The parameter is .-or- The parameter is . - The length of the input buffer is less than the sum of the input offset and the input count. -or-The value of the parameter is less than or equal to 0.-or-The value of the parameter is greater than the length of the parameter.-or-The length of the parameter is not evenly devisable by input block size. - The value of the parameter is negative. - - - Computes the transformation for the specified region of the specified byte array. - The input to perform the operation on. - The offset into the byte array to begin using data from. - The number of bytes in the byte array to use as data. - The computed transformation. - The parameter is . - The value of the parameter is less than 0.-or-The value of the parameter is grater than the length of parameter. - The value of the parameter is negative. - The length of the parameter is not evenly devisable by input block size. - - - Initializes a new instance of the class. - - - Creates an instance of the default implementation of the hash algorithm. - A new instance of the hash algorithm. - The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but it is not FIPS-compatible. - - - Creates an instance of the specified implementation of the hash algorithm. - The name of the specific implementation of to use. - A new instance of the specified implementation of . - The algorithm described by the parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but it is not FIPS-compatible. - - - Initializes a new instance of the class. - The policy is not compliant with the FIPS algorithm. - - - When overridden in a derived class, routes data written to the object into the hash algorithm for computing the hash. - The input data. - The offset into the byte array from which to begin using data. - The number of bytes in the array to use as data. - - - When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic stream object. - The computed hash code in a byte array. - - - Initializes an instance of the class using the managed library. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - A byte array. This value is ignored. - - - Initializes a new instance of the class with the specified parameters. - The parameters to pass to the cryptographic service provider (CSP). - - - Initializes a new instance of the class. - The string input. This parameter is ignored. - - - Fills an array of bytes with a cryptographically strong sequence of random values. - The array to fill with a cryptographically strong sequence of random values. - The cryptographic service provider (CSP) cannot be acquired. - - is . - - - Fills an array of bytes with a cryptographically strong sequence of random nonzero values. - The array to fill with a cryptographically strong sequence of random nonzero values. - The cryptographic service provider (CSP) cannot be acquired. - - is . - - - Initializes a new instance of the class. - - - Creates an instance of the default implementation of the algorithm. - A new instance of the default implementation of . - - - Creates a new ephemeral RSA key with the specified key size. - The key size, in bits. - A new ephemeral RSA key with the specified key size. - - is different than . - - - Creates a new ephemeral RSA key with the specified RSA key parameters. - The parameters for the algorithm. - A new ephemeral RSA key. - - - Creates an instance of the specified implementation of . - The name of the implementation of to use. - A new instance of the specified implementation of . - - - When overridden in a derived class, decrypts the input data using the specified padding mode. - The data to decrypt. - The padding mode. - The decrypted data. - A derived class must override this method. - - - When overridden in a derived class, decrypts the input data using the private key. - The cipher text to be decrypted. - The resulting decryption of the parameter in plain text. - This method call is not supported. This exception is thrown starting with the .NET Framework 4.6. - - - When overridden in a derived class, encrypts the input data using the specified padding mode. - The data to encrypt. - The padding mode. - The encrypted data. - A derived class must override this method. - - - When overridden in a derived class, encrypts the input data using the public key. - The plain text to be encrypted. - The resulting encryption of the parameter as cipher text. - This method call is not supported. This exception is thrown starting with the .NET Framework 4.6. - - - When overridden in a derived class, exports the . - - to include private parameters; otherwise, . - The parameters for . - - - Initializes an object from the key information from an XML string. - The XML string containing key information. - The parameter is . - The format of the parameter is not valid. - - - When overridden in a derived class, computes the hash value of a specified portion of a byte array by using a specified hashing algorithm. - The data to be hashed. - The index of the first byte in that is to be hashed. - The number of bytes to hash. - The algorithm to use in hash the data. - The hashed data. - A derived class must override this method. - - - When overridden in a derived class, computes the hash value of a specified binary stream by using a specified hashing algorithm. - The binary stream to hash. - The hash algorithm. - The hashed data. - A derived class must override this method. - - - When overridden in a derived class, imports the specified . - The parameters for . - - - Computes the hash value of a portion of the specified byte array using the specified hash algorithm and padding mode, and signs the resulting hash value. - The input data for which to compute the hash. - The offset into the array at which to begin using data. - The number of bytes in the array to use as data. - The hash algorithm to use to create the hash value. - The padding mode. - The RSA signature for the specified data. - - is . -or- - is . - - . is or . - - is less than zero. -or- - is less than zero. -or- - + – 1 results in an index that is beyond the upper bound of . - - - Computes the hash value of the specified byte array using the specified hash algorithm and padding mode, and signs the resulting hash value. - The input data for which to compute the hash. - The hash algorithm to use to create the hash value. - The padding mode. - The RSA signature for the specified data. - - is . -or- - is . - - . is or . - - - Computes the hash value of the specified stream using the specified hash algorithm and padding mode, and signs the resulting hash value. - The input stream for which to compute the hash. - The hash algorithm to use to create the hash value. - The padding mode. - The RSA signature for the specified data. - - is . -or- - is . - - . is or . - - - When overridden in a derived class, computes the signature for the specified hash value by encrypting it with the private key using the specified padding. - The hash value of the data to be signed. - The hash algorithm used to create the hash value of the data. - The padding. - The RSA signature for the specified hash value. - A derived class must override this method. - - - Creates and returns an XML string containing the key of the current object. - - to include a public and private RSA key; to include only the public key. - An XML string containing the key of the current object. - - - Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and padding, and comparing it to the provided signature. - The signed data. - The signature data to be verified. - The hash algorithm used to create the hash value of the data. - The padding mode. - - if the signature is valid; otherwise, . - - is . -or- - is .-or- - is . - - . is or . - - - Verifies that a digital signature is valid by calculating the hash value of the data in a portion of a byte array using the specified hash algorithm and padding, and comparing it to the provided signature. - The signed data. - The starting index at which to compute the hash. - The number of bytes to hash. - The signature data to be verified. - The hash algorithm used to create the hash value of the data. - The padding mode. - - if the signature is valid; otherwise, . - - is . -or- - is .-or- - is . - - . is or . - - is less than zero. -or- - is less than zero.-or- - + – 1 results in an index that is beyond the upper bound of . - - - Verifies that a digital signature is valid by calculating the hash value of the specified stream using the specified hash algorithm and padding, and comparing it to the provided signature. - The signed data. - The signature data to be verified. - The hash algorithm used to create the hash value of the data. - The padding mode. - - if the signature is valid; otherwise, . - - is . -or- - is .-or- - is . - - . is or . - - - Verifies that a digital signature is valid by determining the hash value in the signature using the specified hash algorithm and padding, and comparing it to the provided hash value. - The hash value of the signed data. - The signature data to be verified. - The hash algorithm used to create the hash value. - The padding mode. - - if the signature is valid; otherwise, . - A derived class must override this method. - - - Initializes a new instance of the class using the default key. - The cryptographic service provider (CSP) cannot be acquired. - - - Initializes a new instance of the class with the specified key size. - The size of the key to use in bits. - The cryptographic service provider (CSP) cannot be acquired. - - - Initializes a new instance of the class with the specified key size and parameters. - The size of the key to use in bits. - The parameters to be passed to the cryptographic service provider (CSP). - The CSP cannot be acquired.-or- The key cannot be created. - - - Initializes a new instance of the class with the specified parameters. - The parameters to be passed to the cryptographic service provider (CSP). - The CSP cannot be acquired. - - - Decrypts data with the algorithm. - The data to be decrypted. - - to perform direct decryption using OAEP padding (only available on a computer running Microsoft Windows XP or later); otherwise, to use PKCS#1 v1.5 padding. - The decrypted data, which is the original plain text before encryption. - The cryptographic service provider (CSP) cannot be acquired.-or- The parameter is and the length of the parameter is greater than .-or- The parameter is and OAEP is not supported. -or- The key does not match the encrypted data. However, the exception wording may not be accurate. For example, it may say Not enough storage is available to process this command. - - is . - - - Decrypts data that was previously encrypted with the algorithm by using the specified padding. - The data to decrypt. - The padding. - The decrypted data. - - is . -or- - is . - The padding mode is not supported. - - - This method is not supported in the current version. - The data to be decrypted. - The decrypted data, which is the original plain text before encryption. - This method is not supported in the current version. - - - Encrypts data with the algorithm. - The data to be encrypted. - - to perform direct encryption using OAEP padding (only available on a computer running Windows XP or later); otherwise, to use PKCS#1 v1.5 padding. - The encrypted data. - The cryptographic service provider (CSP) cannot be acquired.-or- The length of the parameter is greater than the maximum allowed length.-or- The parameter is and OAEP padding is not supported. - - is . - - - Encrypts data with the algorithm using the specified padding. - The data to encrypt. - The padding. - The encrypted data. - - is . -or- - is . - The padding mode is not supported. - - - This method is not supported in the current version. - The data to be encrypted. - The encrypted data. - This method is not supported in the current version. - - - Exports a blob containing the key information associated with an object. - - to include the private key; otherwise, . - A byte array containing the key information associated with an object. - - - Exports the . - - to include private parameters; otherwise, . - The parameters for . - The key cannot be exported. - - - Imports a blob that represents RSA key information. - A byte array that represents an RSA key blob. - - - Imports the specified . - The parameters for . - The cryptographic service provider (CSP) cannot be acquired.-or- The parameter has missing fields. - - - Computes the hash value of a subset of the specified byte array using the specified hash algorithm, and signs the resulting hash value. - The input data for which to compute the hash. - The offset into the array from which to begin using data. - The number of bytes in the array to use as data. - The hash algorithm to use to create the hash value. - The signature for the specified data. - The parameter is . - The parameter is not a valid type. - - - Computes the hash value of the specified byte array using the specified hash algorithm, and signs the resulting hash value. - The input data for which to compute the hash. - The hash algorithm to use to create the hash value. - The signature for the specified data. - The parameter is . - The parameter is not a valid type. - - - Computes the hash value of the specified input stream using the specified hash algorithm, and signs the resulting hash value. - The input data for which to compute the hash. - The hash algorithm to use to create the hash value. - The signature for the specified data. - The parameter is . - The parameter is not a valid type. - - - Computes the signature for the specified hash value by encrypting it with the private key using the specified padding. - The hash value of the data to be signed. - The hash algorithm name used to create the hash value of the data. - The padding. - The signature for the specified hash value. - - is or . - - is . -or- - is . - - does not equal . - - - Computes the signature for the specified hash value by encrypting it with the private key. - The hash value of the data to be signed. - The hash algorithm identifier (OID) used to create the hash value of the data. - The signature for the specified hash value. - The parameter is . - The cryptographic service provider (CSP) cannot be acquired.-or- There is no private key. - - - Verifies that a digital signature is valid by determining the hash value in the signature using the provided public key and comparing it to the hash value of the provided data. - The data that was signed. - The name of the hash algorithm used to create the hash value of the data. - The signature data to be verified. - - if the signature is valid; otherwise, . - The parameter is . - The parameter is not a valid type. - - - Verifies that a digital signature is valid by determining the hash value in the signature using the specified hashing algorithm and padding, and comparing it to the provided hash value. - The hash value of the signed data. - The signature data to be verified. - The hash algorithm name used to create the hash value. - The padding. - - if the signature is valid; otherwise, . - - is or . - - is . -or- - is . - - does not equal . - - - Verifies that a digital signature is valid by determining the hash value in the signature using the provided public key and comparing it to the provided hash value. - The hash value of the signed data. - The hash algorithm identifier (OID) used to create the hash value of the data. - The signature data to be verified. - - if the signature is valid; otherwise, . - The parameter is .-or- The parameter is . - The cryptographic service provider (CSP) cannot be acquired.-or- The signature cannot be verified. - - - Creates a new instance whose is with the given hash algorithm. - The hash algorithm. - An object whose mode is is with the hash algorithm specified by . . - The property of is either or . - - - Determines whether the current instance is equal to the specified object. - The object to compare. - - if is equal to the current instance; otherwise, . - - - Determines whether the current instance is equal to the specified object. - The object to compare. - - if is equal to the current instance; otherwise, . - - - Returns the hash code of this object. - The hash code of this instance. - - - Indicates whether two specified objects are equal. - The first object to compare. - The second object to compare. - - if and are equal; otherwise, . - - - Indicates whether two specified objects are unequal. - The first object to compare. - The second object to compare. - - if and are not equal; otherwise, . - - - Returns the string representation of the current instance. - The string representation of the current object. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified key. - The instance of the algorithm that holds the private key. - - is . - - - Extracts secret information from the encrypted key exchange data. - The key exchange data within which the secret information is hidden. - The secret information derived from the key exchange data. - The key exchange data verification has failed. - The key is missing. - - - Sets the private key to use for decrypting the secret information. - The instance of the algorithm that holds the private key. - - is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified key. - The instance of the algorithm that holds the public key. - - is . - - - Creates the encrypted key exchange data from the specified input data. - The secret information to be passed in the key exchange. - The encrypted key exchange data to be sent to the intended recipient. - The key is missing. - - - Creates the encrypted key exchange data from the specified input data. - The secret information to be passed in the key exchange. - This parameter is not used in the current version. - The encrypted key exchange data to be sent to the intended recipient. - - - Sets the public key to use for encrypting the key exchange data. - The instance of the algorithm that holds the public key. - - is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified key. - The instance of the algorithm that holds the private key. - - is . - - - Extracts secret information from the encrypted key exchange data. - The key exchange data within which the secret information is hidden. - The secret information derived from the key exchange data. - The key is missing. - - - Sets the private key to use for decrypting the secret information. - The instance of the algorithm that holds the private key. - - is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified key. - The instance of the algorithm that holds the public key. - - is . - - - Creates the encrypted key exchange data from the specified input data. - The secret information to be passed in the key exchange. - The encrypted key exchange data to be sent to the intended recipient. - - is too big. - The key is . - - - Creates the encrypted key exchange data from the specified input data. - The secret information to be passed in the key exchange. - This parameter is not used in the current version. - The encrypted key exchange data to be sent to the intended recipient. - - - Sets the public key to use for encrypting the key exchange data. - The instance of the algorithm that holds the public key. - - is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified key. - The instance of that holds the public key. - - is . - - - Sets the hash algorithm to use for verifying the signature. - The name of the hash algorithm to use for verifying the signature. - - - Sets the public key to use for verifying the signature. - The instance of that holds the public key. - - is . - - - Verifies the PKCS#1 signature for the specified data. - The data signed with . - The signature to be verified for . - - if matches the signature computed using the specified hash algorithm and key on ; otherwise, . - The key is .-or- The hash algorithm is . - The parameter is .-or- The parameter is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified key. - The instance of the algorithm that holds the private key. - - is . - - - Creates the PKCS #1 signature for the specified data. - The data to be signed. - The digital signature for . - The key is .-or- The hash algorithm is . - The parameter is . - - - Sets the hash algorithm to use for creating the signature. - The name of the hash algorithm to use for creating the signature. - - - Sets the private key to use for creating the signature. - The instance of the algorithm that holds the private key. - - is . - - - Returns a value that indicates whether this instance is equal to a specified object. - The object to compare with the current instance. - - if the specified object is equal to the current object; otherwise, . - - - Returns a value that indicates whether this instance is equal to a specified object. - The object to compare with the current instance. - - if the specified object is equal to the current object; otherwise, . - - - Returns the hash code for this instance. - The hash code for this instance. - - - Indicates whether two specified objects are equal. - The first object to compare. - The second object to compare. - - if and are equal; otherwise, . - - - Indicates whether two specified objects are unequal. - The first object to compare. - The second object to compare. - - if and are unequal; otherwise, . - - - Returns the string representation of the current instance. - The string representation of the current object. - - - Initializes a new instance of . - The policy on this object is not compliant with the FIPS algorithm. - - - Creates an instance of the default implementation of . - A new instance of . - - - Creates an instance of the specified implementation of . - The name of the specific implementation of to be used. - A new instance of using the specified implementation. - - - Initializes a new instance of the class. - - - Initializes an instance of . - - - Initializes a new instance of the class. - This class is not compliant with the FIPS algorithm. - - - Routes data written to the object into the hash algorithm for computing the hash. - The input data. - The offset into the byte array from which to begin using data. - The number of bytes in the array to use as data. - - - Returns the computed hash value after all data has been written to the object. - The computed hash code. - - - Initializes an instance of . - - - Initializes a new instance of . - - - Creates an instance of the default implementation of . - A new instance of . - The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible. - - - Creates an instance of a specified implementation of . - The name of the specific implementation of to be used. - A new instance of using the specified implementation. - The algorithm described by the parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible. - - - Initializes a new instance of the class using the managed library. - The Federal Information Processing Standards (FIPS) security setting is enabled. This implementation is not part of the Windows Platform FIPS-validated cryptographic algorithms. - - - When overridden in a derived class, routes data written to the object into the hash algorithm for computing the hash. - The input data. - The offset into the byte array from which to begin using data. - The number of bytes in the array to use as data. - - - When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic stream object. - The computed hash code. - - - Initializes an instance of . - - - Initializes a new instance of . - - - Creates an instance of the default implementation of . - A new instance of . - The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible. - - - Creates an instance of a specified implementation of . - The name of the specific implementation of to be used. - A new instance of using the specified implementation. - The algorithm described by the parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible. - - - Initializes a new instance of the class. - The Federal Information Processing Standards (FIPS) security setting is enabled. This implementation is not part of the Windows Platform FIPS-validated cryptographic algorithms. - - - When overridden in a derived class, routes data written to the object into the hash algorithm for computing the hash. - The input data. - The offset into the byte array from which to begin using data. - The number of bytes in the array to use as data. - - - When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic stream object. - The computed hash code. - - - Initializes an instance of . - - - Initializes a new instance of . - - - Creates an instance of the default implementation of . - A new instance of . - The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible. - - - Creates an instance of a specified implementation of . - The name of the specific implementation of to be used. - A new instance of using the specified implementation. - The algorithm described by the parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible. - - - Initializes a new instance of the class. - The Federal Information Processing Standards (FIPS) security setting is enabled. This implementation is not part of the Windows Platform FIPS-validated cryptographic algorithms. - - - When overridden in a derived class, routes data written to the object into the hash algorithm for computing the hash. - The input data. - The offset into the byte array from which to begin using data. - The number of bytes in the array to use as data. - - - When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic stream object. - The computed hash code. - - - Initializes an instance of the class using the managed library. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class from the specified . - The from which to get the algorithms for the signature description. - The parameter is . - - - Creates an instance with the specified key using the property. - The key to use in the . - The newly created instance. - - - Creates a instance using the property. - The newly created instance. - - - Creates an instance with the specified key using the property. - The key to use in the . - The newly created instance. - - - Initializes a new instance of the class. - The implementation of the class derived from the symmetric algorithm is not valid. - - - Releases all resources used by the class. - - - Creates a default cryptographic object used to perform the symmetric algorithm. - A default cryptographic object used to perform the symmetric algorithm. - - - Creates the specified cryptographic object used to perform the symmetric algorithm. - The name of the specific implementation of the class to use. - A cryptographic object used to perform the symmetric algorithm. - - - Creates a symmetric decryptor object with the current property and initialization vector (). - A symmetric decryptor object. - - - When overridden in a derived class, creates a symmetric decryptor object with the specified property and initialization vector (). - The secret key to use for the symmetric algorithm. - The initialization vector to use for the symmetric algorithm. - A symmetric decryptor object. - - - Creates a symmetric encryptor object with the current property and initialization vector (). - A symmetric encryptor object. - - - When overridden in a derived class, creates a symmetric encryptor object with the specified property and initialization vector (). - The secret key to use for the symmetric algorithm. - The initialization vector to use for the symmetric algorithm. - A symmetric encryptor object. - - - Releases all resources used by the current instance of the class. - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - When overridden in a derived class, generates a random initialization vector () to use for the algorithm. - - - When overridden in a derived class, generates a random key () to use for the algorithm. - - - Determines whether the specified key size is valid for the current algorithm. - The length, in bits, to check for a valid key size. - - if the specified key size is valid for the current algorithm; otherwise, . - - - Initializes a new instance of the class. - - - Releases all resources used by the . - - - Releases all resources used by the current instance of the class. - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Releases the unmanaged resources used by the . - - - Converts the specified region of the input byte array to base 64 and copies the result to the specified region of the output byte array. - The input to compute to base 64. - The offset into the input byte array from which to begin using data. - The number of bytes in the input byte array to use as data. - The output to which to write the result. - The offset into the output byte array from which to begin writing data. - The number of bytes written. - The current object has already been disposed. - The data size is not valid. - The parameter contains an invalid offset length.-or-The parameter contains an invalid value. - The parameter is . - The parameter requires a non-negative number. - - - Converts the specified region of the specified byte array to base 64. - The input to convert to base 64. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - The computed base 64 conversion. - The current object has already been disposed. - The parameter contains an invalid offset length.-or-The parameter contains an invalid value. - The parameter is . - The parameter requires a non-negative number. - - - Initializes a new instance of the class. - - - Creates an instance of a cryptographic object to perform the algorithm. - An instance of a cryptographic object. - - - Creates an instance of a cryptographic object to perform the specified implementation of the algorithm. - The name of the specific implementation of to use. - An instance of a cryptographic object. - - - Determines whether the specified key is weak. - The secret key to test for weakness. - - if the key is weak; otherwise, . - The size of the parameter is not valid. - - - Initializes a new instance of the class. - The cryptographic service provider is not available. - - - Creates a symmetric decryptor object with the specified key () and initialization vector (). - The secret key to use for the symmetric algorithm. - The initialization vector to use for the symmetric algorithm. - A symmetric decryptor object. - The value of the property is .-or-The value of the property is and the value of the property is not 8.-or-An invalid key size was used.-or-The algorithm key size was not available. - - - Creates a symmetric encryptor object with the specified key () and initialization vector (). - The secret key to use for the symmetric algorithm. - The initialization vector to use for the symmetric algorithm. The initialization vector must be 8 bytes long. If it is longer than 8 bytes, it is truncated and an exception is not thrown. Before you call , check the length of the initialization vector and throw an exception if it is too long. - A symmetric encryptor object. - The value of the property is .-or-The value of the property is and the value of the property is not 8.-or-An invalid key size was used.-or-The algorithm key size was not available. - - - Generates a random initialization vector () to use for the algorithm. - - - Generates a random to be used for the algorithm. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class defined from a sequence of bytes representing an X.509v3 certificate. - A byte array containing data from an X.509 certificate. - An error with the certificate occurs. For example:The certificate file does not exist.The certificate is invalid.The certificate's password is incorrect. - The parameter is .-or-The length of the parameter is 0. - - - Initializes a new instance of the class using a byte array and a password. - A byte array that contains data from an X.509 certificate. - The password required to access the X.509 certificate data. - An error with the certificate occurs. For example:The certificate file does not exist.The certificate is invalid.The certificate's password is incorrect. - The parameter is .-or-The length of the parameter is 0. - - - Initializes a new instance of the class using a byte array, a password, and a key storage flag. - A byte array that contains data from an X.509 certificate. - The password required to access the X.509 certificate data. - A bitwise combination of the enumeration values that control where and how to import the certificate. - An error with the certificate occurs. For example:The certificate file does not exist.The certificate is invalid.The certificate's password is incorrect. - The parameter is .-or-The length of the parameter is 0. - - - Initializes a new instance of the class using a byte array and a password. - A byte array containing data from an X.509 certificate. - The password required to access the X.509 certificate data. - An error with the certificate occurs. For example:The certificate file does not exist.The certificate is invalid.The certificate's password is incorrect. - The parameter is .-or-The length of the parameter is 0. - - - Initializes a new instance of the class using a byte array, a password, and a key storage flag. - A byte array containing data from an X.509 certificate. - The password required to access the X.509 certificate data. - A bitwise combination of the enumeration values that control where and how to import the certificate. - An error with the certificate occurs. For example:The certificate file does not exist.The certificate is invalid.The certificate's password is incorrect. - The parameter is .-or-The length of the parameter is 0. - - - Initializes a new instance of the class using a handle to an unmanaged structure. - A handle to an unmanaged structure. - An error with the certificate occurs. For example:The certificate file does not exist.The certificate is invalid.The certificate's password is incorrect. - The handle parameter does not represent a valid structure. - - - Initializes a new instance of the class using a object and a structure. - A object that describes serialization information. - A structure that describes how serialization should be performed. - An error with the certificate occurs. For example:The certificate file does not exist.The certificate is invalid.The certificate's password is incorrect. - - - Initializes a new instance of the class using another class. - A class from which to initialize this class. - An error with the certificate occurs. For example:The certificate file does not exist.The certificate is invalid.The certificate's password is incorrect. - The value of the parameter is . - - - Initializes a new instance of the class using the name of a PKCS7 signed file. - The name of a PKCS7 signed file. - An error with the certificate occurs. For example:The certificate file does not exist.The certificate is invalid.The certificate's password is incorrect. - The parameter is . - - - Initializes a new instance of the class using a certificate file name and a password. - The name of a certificate file. - The password required to access the X.509 certificate data. - An error with the certificate occurs. For example:The certificate file does not exist.The certificate is invalid.The certificate's password is incorrect. - The parameter is . - - - Initializes a new instance of the class using a certificate file name, a password, and a key storage flag. - The name of a certificate file. - The password required to access the X.509 certificate data. - A bitwise combination of the enumeration values that control where and how to import the certificate. - An error with the certificate occurs. For example:The certificate file does not exist.The certificate is invalid.The certificate's password is incorrect. - The parameter is . - - - Initializes a new instance of the class using the name of a PKCS7 signed file and a password to access the certificate. - The name of a PKCS7 signed file. - The password required to access the X.509 certificate data. - An error with the certificate occurs. For example:The certificate file does not exist.The certificate is invalid.The certificate's password is incorrect. - The parameter is . - - - Initializes a new instance of the class using the name of a PKCS7 signed file, a password to access the certificate, and a key storage flag. - The name of a PKCS7 signed file. - The password required to access the X.509 certificate data. - A bitwise combination of the enumeration values that control where and how to import the certificate. - An error with the certificate occurs. For example:The certificate file does not exist.The certificate is invalid.The certificate's password is incorrect. - The parameter is . - - - Creates an X.509v3 certificate from the specified PKCS7 signed file. - The path of the PKCS7 signed file from which to create the X.509 certificate. - The newly created X.509 certificate. - The parameter is . - - - Creates an X.509v3 certificate from the specified signed file. - The path of the signed file from which to create the X.509 certificate. - The newly created X.509 certificate. - - - Releases all resources used by the current object. - - - Releases all of the unmanaged resources used by this and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Compares two objects for equality. - An object to compare to the current object. - - if the current object is equal to the object specified by the parameter; otherwise, . - - - Compares two objects for equality. - An object to compare to the current object. - - if the current object is equal to the object specified by the parameter; otherwise, . - - - Exports the current object to a byte array in a format described by one of the values. - One of the values that describes how to format the output data. - An array of bytes that represents the current object. - A value other than , , or was passed to the parameter.-or-The certificate could not be exported. - - - Exports the current object to a byte array using the specified format and a password. - One of the values that describes how to format the output data. - The password required to access the X.509 certificate data. - A byte array that represents the current object. - A value other than , , or was passed to the parameter.-or-The certificate could not be exported. - - - Exports the current object to a byte array in a format described by one of the values, and using the specified password. - One of the values that describes how to format the output data. - The password required to access the X.509 certificate data. - An array of bytes that represents the current object. - A value other than , , or was passed to the parameter.-or-The certificate could not be exported. - - - Converts the specified date and time to a string. - The date and time to convert. - A string representation of the value of the object. - - - Returns the hash value for the X.509v3 certificate as an array of bytes. - The hash value for the X.509 certificate. - - - Returns the SHA1 hash value for the X.509v3 certificate as a hexadecimal string. - The hexadecimal string representation of the X.509 certificate hash value. - - - Returns the effective date of this X.509v3 certificate. - The effective date for this X.509 certificate. - - - Returns the expiration date of this X.509v3 certificate. - The expiration date for this X.509 certificate. - - - Returns the name of the format of this X.509v3 certificate. - The format of this X.509 certificate. - - - Returns the hash code for the X.509v3 certificate as an integer. - The hash code for the X.509 certificate as an integer. - - - Returns the name of the certification authority that issued the X.509v3 certificate. - The name of the certification authority that issued the X.509 certificate. - An error with the certificate occurs. For example:The certificate file does not exist.The certificate is invalid.The certificate's password is incorrect. - - - Returns the key algorithm information for this X.509v3 certificate as a string. - The key algorithm information for this X.509 certificate as a string. - The certificate context is invalid. - - - Returns the key algorithm parameters for the X.509v3 certificate as an array of bytes. - The key algorithm parameters for the X.509 certificate as an array of bytes. - The certificate context is invalid. - - - Returns the key algorithm parameters for the X.509v3 certificate as a hexadecimal string. - The key algorithm parameters for the X.509 certificate as a hexadecimal string. - The certificate context is invalid. - - - Returns the name of the principal to which the certificate was issued. - The name of the principal to which the certificate was issued. - The certificate context is invalid. - - - Returns the public key for the X.509v3 certificate as an array of bytes. - The public key for the X.509 certificate as an array of bytes. - The certificate context is invalid. - - - Returns the public key for the X.509v3 certificate as a hexadecimal string. - The public key for the X.509 certificate as a hexadecimal string. - - - Returns the raw data for the entire X.509v3 certificate as an array of bytes. - A byte array containing the X.509 certificate data. - - - Returns the raw data for the entire X.509v3 certificate as a hexadecimal string. - The X.509 certificate data as a hexadecimal string. - - - Returns the serial number of the X.509v3 certificate as an array of bytes. - The serial number of the X.509 certificate as an array of bytes. - The certificate context is invalid. - - - Returns the serial number of the X.509v3 certificate as a hexadecimal string. - The serial number of the X.509 certificate as a hexadecimal string. - - - Populates the object with data from a byte array. - A byte array containing data from an X.509 certificate. - The parameter is .-or-The length of the parameter is 0. - - - Populates an object using data from a byte array, a password, and a key storage flag. - A byte array that contains data from an X.509 certificate. - The password required to access the X.509 certificate data. - A bitwise combination of the enumeration values that control where and how to import the certificate. - The parameter is .-or-The length of the parameter is 0. - - - Populates the object using data from a byte array, a password, and flags for determining how the private key is imported. - A byte array containing data from an X.509 certificate. - The password required to access the X.509 certificate data. - A bitwise combination of the enumeration values that control where and how to import the certificate. - The parameter is .-or-The length of the parameter is 0. - - - Populates the object with information from a certificate file. - The name of a certificate file represented as a string. - The parameter is . - - - Populates an object with information from a certificate file, a password, and a key storage flag. - The name of a certificate file. - The password required to access the X.509 certificate data. - A bitwise combination of the enumeration values that control where and how to import the certificate. - The parameter is . - - - Populates the object with information from a certificate file, a password, and a value. - The name of a certificate file represented as a string. - The password required to access the X.509 certificate data. - A bitwise combination of the enumeration values that control where and how to import the certificate. - The parameter is . - - - Resets the state of the object. - - - Implements the interface and is called back by the deserialization event when deserialization is complete. - The source of the deserialization event. - - - Gets serialization information with all the data needed to recreate an instance of the current object. - The object to populate with serialization information. - The destination context of the serialization. - - - Returns a string representation of the current object. - A string representation of the current object. - - - Returns a string representation of the current object, with extra information, if specified. - - to produce the verbose form of the string representation; otherwise, . - A string representation of the current object. - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class using the provided serialization information and streaming context. - The object that holds the serialized object data. - Contextual information about the source or destination. - - is . - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message, the protected host resources, and the host resources that caused the exception to be thrown. - The error message that explains the reason for the exception. - A bitwise combination of the enumeration values that specify the host resources that are inaccessible to partially trusted code. - A bitwise combination of the enumeration values that specify the demanded host resources. - - - Sets the specified object with information about the host protection exception. - The serialized object data about the exception being thrown. - The contextual information about the source or destination. - - is . - - - Returns a string representation of the current host protection exception. - A string representation of the current . - - - Initializes a new instance of the class. - - - Determines whether an application should be executed. - The evidence for the application to be activated. - Optionally, the evidence for the activating application domain. - The trust context. - An object that contains trust information about the application. - - is . - An object could not be found in the application evidence.-or-The property in the activation arguments is . - The grant set does not contain the minimum request set specified by the . - - - Requests a specific evidence type for the application domain. - The evidence type. - The requested application domain evidence. - - - Requests a specific evidence type for the assembly. - The evidence type. - The target assembly. - The requested assembly evidence. - - - Determines which evidence types the host can supply for the application domain, if requested. - An array of evidence types. - - - Determines which evidence types the host can supply for the assembly, if requested. - The target assembly. - An array of evidence types. - - - Provides the application domain evidence for an assembly being loaded. - Additional evidence to add to the evidence. - The evidence to be used for the . - - - Provides the assembly evidence for an assembly being loaded. - The loaded assembly. - Additional evidence to add to the assembly evidence. - The evidence to be used for the assembly. - - - Determines what permissions to grant to code based on the specified evidence. - The evidence set used to evaluate policy. - The permission set that can be granted by the security system. - - is . - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Throws a at run time if the security requirement is not met. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be of the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - The parameter is not and is not an instance of the same class as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not and is not of the same type as the current permission. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not and is not of the same type as the current permission. - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - - - Creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The policy-level context to resolve named permission set references. - - - Creates an XML encoding of the security object and its current state. - The policy-level context to resolve named permission set references. - The root element of the XML representation of the policy object. - - - Asserts that the calling code can access the resource identified by the current permission object, even if callers higher in the stack have not been granted permission to access the resource. - The calling code does not have . - - - Determines at run time whether all callers in the call stack have been granted the permission specified by the current permission object. - A caller higher in the call stack does not have the permission specified by the current permission object.-or- A caller in the call stack has called on the current permission object. - - - Causes every for the current object that passes through the calling code to fail. - - - Causes every for all objects except the current one that passes through the calling code to fail, even if code higher in the call stack has been granted permission to access other resources. - - - Initializes a new instance of the class from another named permission set. - The named permission set from which to create the new instance. - - - Initializes a new, empty instance of the class with the specified name. - The name for the new named permission set. - The parameter is or is an empty string (""). - - - Initializes a new instance of the class with the specified name in either an unrestricted or a fully restricted state. - The name for the new named permission set. - One of the values. - The parameter is or is an empty string (""). - - - Initializes a new instance of the class with the specified name from a permission set. - The name for the named permission set. - The permission set from which to take the value of the new named permission set. - The parameter is or is an empty string (""). - - - Creates a permission set copy from a named permission set. - A permission set that is a copy of the permissions in the named permission set. - - - Creates a copy of the named permission set with a different name but the same permissions. - The name for the new named permission set. - A copy of the named permission set with the new name. - The parameter is or is an empty string (""). - - - Determines whether the specified object is equal to the current . - The object to compare with the current . - - if the specified is equal to the current object; otherwise, . - - - Reconstructs a named permission set with a specified state from an XML encoding. - A security element containing the XML representation of the named permission set. - The parameter is not a valid representation of a named permission set. - The parameter is . - - - Gets a hash code for the object that is suitable for use in hashing algorithms and data structures such as a hash table. - A hash code for the current object. - - - Creates an XML element description of the named permission set. - The XML representation of the named permission set. - - - Initializes a new instance of with the specified . - One of the values. - - - Initializes a new instance of the class with the specified access to the specified environment variables. - One of the values. - A list of environment variables (semicolon-separated) to which access is granted. - The parameter is . - The parameter is not a valid value of . - - - Initializes a new instance of the class with either restricted or unrestricted permission as specified. - One of the values. - The parameter is not a valid value of . - - - Adds access for the specified environment variables to the existing state of the permission. - One of the values. - A list of environment variables (semicolon-separated). - The parameter is . - The parameter is not a valid value of . - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Reconstructs a permission with a specified state from an XML encoding. - The XML encoding to use to reconstruct the permission. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not valid. - - - Gets all environment variables with the specified . - One of the values that represents a single type of environment variable access. - A list of environment variables (semicolon-separated) for the selected flag. - - is not a valid value of .-or- - is , which represents more than one type of environment variable access, or , which does not represent any type of environment variable access. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be of the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - The parameter is not and is not of the same type as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not and is not of the same type as the current permission. - - - Returns a value indicating whether the current permission is unrestricted. - - if the current permission is unrestricted; otherwise, . - - - Sets the specified access to the specified environment variables to the existing state of the permission. - One of the values. - A list of environment variables (semicolon-separated). - The parameter is . - The parameter is not a valid value of . - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including any state information. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not and is not of the same type as the current permission. - - - Initializes a new instance of the class with the specified . - One of the values. - The parameter is not a valid value of . - - - Creates and returns a new . - An that corresponds to this attribute. - - - Initializes a new instance of the class with the specified access. - A bitwise combination of the values. - The parameter is not a valid combination of the values. - - - Initializes a new instance of the class with either restricted or unrestricted permission, as specified. - One of the values ( or ). - The parameter is not a valid value of . - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Reconstructs a permission with a specified state from an XML encoding. - The XML encoding used to reconstruct the permission. - The parameter is . - The parameter is not a valid permission element.-or- The version number of the parameter is not supported. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - The parameter is not and is not of the same type as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not and is not of the same type as the current permission. - - - Returns a value indicating whether the current permission is unrestricted. - - if the current permission is unrestricted; otherwise, . - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including state information. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not and is not of the same type as the current permission. - - - Initializes a new instance of the class with the specified . - One of the values. - - - Creates and returns a new . - A that corresponds to this attribute. - - - Initializes a new instance of the class with the specified access to the designated file or directory and the specified access rights to file control information. - A bitwise combination of the enumeration values. - A bitwise combination of the enumeration values. - The absolute path of the file or directory. - The parameter is not a valid value of .-or- The parameter is not a valid string.-or- The parameter does not specify the absolute path to the file or directory. - - - Initializes a new instance of the class with the specified access to the designated files and directories and the specified access rights to file control information. - A bitwise combination of the enumeration values. - A bitwise combination of the enumeration values. - An array containing the absolute paths of the files and directories. - The parameter is not a valid value of .-or- An entry in the array is not a valid string. - - - Initializes a new instance of the class with the specified access to the designated file or directory. - A bitwise combination of the enumeration values. - The absolute path of the file or directory. - The parameter is not a valid value of .-or- The parameter is not a valid string.-or- The parameter does not specify the absolute path to the file or directory. - - - Initializes a new instance of the class with the specified access to the designated files and directories. - A bitwise combination of the enumeration values. - An array containing the absolute paths of the files and directories. - The parameter is not a valid value of .-or- An entry in the array is not a valid string. - - - Initializes a new instance of the class with fully restricted or unrestricted permission as specified. - One of the enumeration values. - The parameter is not a valid value of . - - - Adds access for the specified file or directory to the existing state of the permission. - A bitwise combination of the values. - The absolute path of a file or directory. - The parameter is not a valid value of .-or- The parameter is not a valid string.-or- The parameter did not specify the absolute path to the file or directory. - The parameter is . - The parameter has an invalid format. - - - Adds access for the specified files and directories to the existing state of the permission. - A bitwise combination of the values. - An array containing the absolute paths of the files and directories. - The parameter is not a valid value of .-or- An entry in the array is not valid. - An entry in the array has an invalid format. - The parameter is . - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Determines whether the specified object is equal to the current . - The object to compare with the current . - - if the specified is equal to the current object; otherwise, . - - - Reconstructs a permission with a specified state from an XML encoding. - The XML encoding used to reconstruct the permission. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not compatible. - - - Gets a hash code for the object that is suitable for use in hashing algorithms and data structures such as a hash table. - A hash code for the current object. - - - Gets all files and directories with the specified . - One of the values that represents a single type of file access. - An array containing the paths of the files and directories to which access specified by the parameter is granted. - - is not a valid value of .-or- - is , which represents more than one type of file access, or , which does not represent any type of file access. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - The parameter is not and is not of the same type as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not and is not of the same type as the current permission. - - - Returns a value indicating whether the current permission is unrestricted. - - if the current permission is unrestricted; otherwise, . - - - Sets the specified access to the specified file or directory, replacing the existing state of the permission. - A bitwise combination of the values. - The absolute path of the file or directory. - The parameter is not a valid value of .-or- The parameter is not a valid string.-or- The parameter did not specify the absolute path to the file or directory. - - - Sets the specified access to the specified files and directories, replacing the current state for the specified access with the new set of paths. - A bitwise combination of the values. - An array containing the absolute paths of the files and directories. - The parameter is not a valid value of .-or- An entry in the parameter is not a valid string. - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including any state information. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not and is not of the same type as the current permission. - - - Initializes a new instance of the class with the specified . - One of the values. - The parameter is not a valid . - - - Creates and returns a new . - A that corresponds to this attribute. - The path information for a file or directory for which access is to be secured contains invalid characters or wildcard specifiers. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with fully restricted . - One of the values. - - is not a valid value. - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Creates a permission from an XML encoding. - A that contains the XML encoding to use to create the permission. - - is . - - is not a valid permission element. -or- The version number of is not valid. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be of the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. The new permission is if the intersection is empty. - - is not and is not of the same type as the current permission. - - - Indicates whether the current permission is a subset of the specified permission. - A permission object to test for the subset relationship. The permission must be of the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - - is not and is not of the same type as the current permission. - - - Creates an XML encoding of the permission and its current state. - A that represents the XML encoding of the permission, including any state information. - - - Creates and returns a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - - is not and is not of the same type as the current permission. - - - Initializes a new instance of the class with the specified value. - One of the values. - The parameter is not a valid value. - - - Creates a new object. - A that corresponds to this attribute. - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class with the specified value. - One of the values. - - is not . - - - Creates and returns a new host protection permission. - An that corresponds to the current attribute. - - - Initializes a new instance of the class with either fully restricted or unrestricted permission as specified. - One of the values. - The parameter is not a valid value of . - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission object. It must be of the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - The parameter is not and is not of the same type as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not and is not of the same type as the current permission. - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including any state information. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not and is not of the same type as the current permission. - - - Initializes a new instance of the class with the specified . - One of the values. - - - Creates and returns a new . - An that corresponds to this attribute. - - - Initializes a new instance of the class with either restricted or unrestricted permission as specified. - One of the values. - The parameter is not a valid value of . - - - Reconstructs a permission with a specified state from an XML encoding. - The XML encoding to use to reconstruct the permission. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not valid. - - - Returns a value indicating whether the current permission is unrestricted. - - if the current permission is unrestricted; otherwise, . - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including any state information. - - - Initializes a new instance of the class with the specified . - One of the values. - - - Returns a value indicating whether unrestricted access to the resource protected by the permission is allowed. - - if unrestricted use of the resource protected by the permission is allowed; otherwise, . - - - Initializes a new instance of the class with the specified access. - A bitwise combination of the values. - - is not a valid combination of the values. - - - Initializes a new instance of the class with the specified global access and specific key container access rights. - A bitwise combination of the values. - An array of objects identifying specific key container access rights. - - is not a valid combination of the values. - - is . - - - Initializes a new instance of the class with either restricted or unrestricted permission. - One of the values. - - is not a valid value. - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Reconstructs a permission with a specified state from an XML encoding. - A that contains the XML encoding used to reconstruct the permission. - - is . - - is not a valid permission element.-or- The version number of is not supported. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - - is not and does not specify a permission of the same type as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission to test for the subset relationship. This permission must be the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - - is not and does not specify a permission of the same type as the current permission. - - - Determines whether the current permission is unrestricted. - - if the current permission is unrestricted; otherwise, . - - - Creates an XML encoding of the permission and its current state. - A that contains an XML encoding of the permission, including state information. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - - is not and does not specify a permission of the same type as the current permission. - - - Initializes a new instance of the class, using the specified cryptographic service provider (CSP) parameters and access permissions. - A object that contains the cryptographic service provider (CSP) parameters. - A bitwise combination of the values. - The resulting entry would have unrestricted access. - - - Initializes a new instance of the class, using the specified key container name and access permissions. - The name of the key container. - A bitwise combination of the values. - The resulting entry would have unrestricted access. - - - Initializes a new instance of the class with the specified property values. - The name of the key store. - The name of the provider. - The type code for the provider. See the property for values. - The name of the key container. - The key specification. See the property for values. - A bitwise combination of the values. - The resulting entry would have unrestricted access. - - - Determines whether the specified object is equal to the current instance. - The object to compare with the currentinstance. - - if the specified is equal to the current object; otherwise, . - - - Gets a hash code for the current instance that is suitable for use in hashing algorithms and data structures such as a hash table. - A hash code for the current object. - - - Adds a object to the collection. - The object to add. - The index at which the new element was inserted. - - is . - - - Removes all the objects from the collection. - - - Copies the elements of the collection to a compatible one-dimensional array, starting at the specified index of the target array. - The one-dimensional array that is the destination of the elements copied from the current collection. - The index in at which copying begins. - - is . - - is less than the lower bound of . - - is multidimensional.-or- The number of elements in the collection is greater than the available space from to the end of the destination . - - - Returns a object that can be used to iterate through the objects in the collection. - A object that can be used to iterate through the collection. - - - Gets the index in the collection of the specified object, if it exists in the collection. - The object to locate. - The index of the specified object in the collection, or –1 if no match is found. - - - Removes the specified object from thecollection. - The object to remove. - - is . - - - Copies the elements of the collection to a compatible one-dimensional array, starting at the specified index of the target array. - The one-dimensional array that is the destination of the elements copied from the current collection. - The index in at which copying begins. - - is . - - is less than the lower bound of . - - is multidimensional.-or- The number of elements in the collection is greater than the available space from to the end of the destination . - - - Returns a object that can be used to iterate through the objects in the collection. - A object that can be used to iterate through the collection. - - - Moves to the next element in the collection. - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. - - - Resets the enumerator to the beginning of the collection. - - - Initializes a new instance of the class with the specified security action. - One of the values. - - - Creates and returns a new . - A that corresponds to the attribute. - - - Initializes a new instance of the class with the specified security action. - One of the enumeration values that specifies a security action. - - - This method is not used. - A null reference ( in Visual Basic) in all cases. - - - Creates and returns a new permission set based on this permission set attribute object. - A new permission set. - - - Initializes a new instance of the class with the specified . - One of the values. - The parameter is not a valid . - - - Initializes a new instance of the class for the specified and . - The name of the object's user. - The role of the object's user (for example, Administrator). - - - Initializes a new instance of the class for the specified , , and authentication status. - The name of the object's user. - The role of the object's user (for example, Administrator). - - to signify that the user is authenticated; otherwise, . - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Determines at run time whether the current principal matches the principal specified by the current permission. - The current principal does not pass the security check for the principal specified by the current permission.-or- The current is . - - - Determines whether the specified object is equal to the current . - The object to compare with the current . - - if the specified is equal to the current object; otherwise, . - - - Reconstructs a permission with a specified state from an XML encoding. - The XML encoding to use to reconstruct the permission. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not valid. - - - Gets a hash code for the object that is suitable for use in hashing algorithms and data structures such as a hash table. - A hash code for the current object. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be of the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission will be if the intersection is empty. - The parameter is not and is not an instance of the same class as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is an object that is not of the same type as the current permission. - - - Returns a value indicating whether the current permission is unrestricted. - - if the current permission is unrestricted; otherwise, . - - - Creates and returns a string representing the current permission. - A representation of the current permission. - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including any state information. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is an object that is not of the same type as the current permission. - - - Initializes a new instance of the class with the specified . - One of the values. - - - Creates and returns a new . - A that corresponds to this attribute. - - - Initializes a new instance of the class with the specified Authenticode X.509v3 certificate. - An X.509 certificate representing the software publisher's identity. - The parameter is . - The parameter is not a valid certificate. - - - Initializes a new instance of the class with the specified . - One of the values. - The parameter is not a valid value of . - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Reconstructs a permission with a specified state from an XML encoding. - The XML encoding to use to reconstruct the permission. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not valid. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be of the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - The parameter is not and is not of the same type as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not and is not of the same type as the current permission. - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including any state information. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not and is not of the same type as the current permission. -or-The two permissions are not equal. - - - Initializes a new instance of the class with the specified . - One of the values. - - - Creates and returns a new instance of . - A that corresponds to this attribute. - - - Initializes a new instance of the class with either fully restricted or unrestricted permission as specified. - One of the values. - The parameter is not a valid value of . - - - Initializes a new instance of the class with the specified access. - One of the values. - The parameter is not a valid value of . - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Reconstructs a permission with a specified state from an XML encoding. - The XML encoding to use to reconstruct the permission. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not valid. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be of the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - The parameter is not and is not of the same type as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not and is not of the same type as the current permission. - - - Returns a value indicating whether the current permission is unrestricted. - - if the current permission is unrestricted; otherwise, . - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including any state information. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not and is not of the same type as the current permission. - - - Initializes a new instance of the class with the specified . - One of the values. - - - Creates and returns a new . - A that corresponds to this attribute. - - - Initializes a new instance of the class with either fully restricted or unrestricted permission as specified. - One of the values. - The parameter is not a valid value of . - - - Initializes a new instance of the class with the specified access to the specified registry variables and the specified access rights to registry control information. - One of the values. - A bitwise combination of the values. - A list of registry variables (semicolon-separated) to which access is granted. - The parameter is not a valid value of .-or- The parameter is not a valid string. - - - Initializes a new instance of the class with the specified access to the specified registry variables. - One of the values. - A list of registry variables (semicolon-separated) to which access is granted. - The parameter is not a valid value of .-or- The parameter is not a valid string. - - - Adds access for the specified registry variables to the existing state of the permission, specifying registry permission access and access control actions. - One of the values. - One of the values. - A list of registry variables (separated by semicolons). - The parameter is not a valid value of .-or- The parameter is not a valid string. - - - Adds access for the specified registry variables to the existing state of the permission. - One of the values. - A list of registry variables (semicolon-separated). - The parameter is not a valid value of .-or- The parameter is not a valid string. - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Reconstructs a permission with a specified state from an XML encoding. - The XML encoding to use to reconstruct the permission. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not valid. - - - Gets paths for all registry variables with the specified . - One of the values that represents a single type of registry variable access. - A list of the registry variables (semicolon-separated) with the specified . - - is not a valid value of .-or- - is , which represents more than one type of registry variable access, or , which does not represent any type of registry variable access. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be of the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - The parameter is not and is not of the same type as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not and is not of the same type as the current permission. - - - Returns a value indicating whether the current permission is unrestricted. - - if the current permission is unrestricted; otherwise, . - - - Sets new access for the specified registry variable names to the existing state of the permission. - One of the values. - A list of registry variables (semicolon-separated). - The parameter is not a valid value of .-or- The parameter is not a valid string. - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including any state information. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not and is not of the same type as the current permission. - - - Initializes a new instance of the class with the specified . - One of the values. - The parameter is not a valid . - - - Creates and returns a new . - A that corresponds to this attribute. - - - Initializes a new instance of with the specified . - One of the values. - - - When overridden in a derived class, creates a permission object that can then be serialized into binary form and persistently stored along with the in an assembly's metadata. - A serializable permission object. - - - Initializes a new instance of the class with either restricted or unrestricted permission as specified. - One of the values. - The parameter is not a valid value of . - - - Initializes a new instance of the class with the specified initial set state of the flags. - The initial state of the permission, represented by a bitwise OR combination of any permission bits defined by . - The parameter is not a valid value of . - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Reconstructs a permission with a specified state from an XML encoding. - The XML encoding to use to reconstruct the permission. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not supported. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be of the same type as the current permission. - A new permission object that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - The parameter is not and is not of the same type as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not and is not of the same type as the current permission. - - - Returns a value indicating whether the current permission is unrestricted. - - if the current permission is unrestricted; otherwise, . - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including any state information. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not and is not of the same type as the current permission. - - - Initializes a new instance of the class with the specified . - One of the values. - - - Creates and returns a new . - A that corresponds to this attribute. - - - Initializes a new instance of the class with the specified . - One of the values. - The parameter is not a valid value of . - - - Initializes a new instance of the class to represent the specified site identity. - The site name or wildcard expression. - The parameter is not a valid string, or does not match a valid wildcard site name. - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Reconstructs a permission with a specified state from an XML encoding. - The XML encoding to use to reconstruct the permission. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not valid. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be of the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - The parameter is not and is not of the same type as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not and is not of the same type as the current permission. - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including any state information. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not and is not of the same type as the current permission. -or-The permissions are not equal and one is not a subset of the other. - - - Initializes a new instance of the class with the specified . - One of the values. - - - Creates and returns a new instance of . - A that corresponds to this attribute. - - - Initializes a new instance of the class with the specified . - One of the values. - The parameter is not a valid value of . - - - Initializes a new instance of the class for the specified strong name identity. - The public key defining the strong name identity namespace. - The simple name part of the strong name identity. This corresponds to the name of the assembly. - The version number of the identity. - The parameter is . - The parameter is an empty string (""). - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Reconstructs a permission with a specified state from an XML encoding. - The XML encoding to use to reconstruct the permission. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not valid. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be of the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission, or if the intersection is empty. - The parameter is not and is not of the same type as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not and is not of the same type as the current permission. - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including any state information. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not and is not of the same type as the current permission. -or-The two permissions are not equal and one is a subset of the other. - - - Initializes a new instance of the class with the specified . - One of the values. - - - Creates and returns a new . - A that corresponds to this attribute. - The method failed because the key is . - - - Initializes a new instance of the class with raw bytes of the public key blob. - The array of bytes representing the raw public key data. - The parameter is . - - - Gets or sets a value indicating whether the current public key blob is equal to the specified public key blob. - An object containing a public key blob. - - if the public key blob of the current object is equal to the public key blob of the parameter; otherwise, . - - - Returns a hash code based on the public key. - The hash code based on the public key. - - - Creates and returns a string representation of the public key blob. - A hexadecimal version of the public key blob. - - - Initializes a new instance of the class with either fully restricted or unrestricted access, as specified. - One of the enumeration values. - The parameter is not a valid . - - - Initializes a new instance of the class with the permissions for the Clipboard, and no access to windows. - One of the enumeration values. - The parameter is not a valid value. - - - Initializes a new instance of the class with the permissions for windows, and no access to the Clipboard. - One of the enumeration values. - The parameter is not a valid value. - - - Initializes a new instance of the class with the specified permissions for windows and the Clipboard. - One of the enumeration values. - One of the enumeration values. - The parameter is not a valid value.-or- The parameter is not a valid value. - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Reconstructs a permission with a specified state from an XML encoding. - The XML encoding used to reconstruct the permission. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not valid. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - The parameter is not and is not of the same type as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission to test for the subset relationship. This permission must be the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not and is not of the same type as the current permission. - - - Returns a value indicating whether the current permission is unrestricted. - - if the current permission is unrestricted; otherwise, . - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including any state information. - - - Creates a permission that is the union of the permission and the specified permission. - A permission to combine with the current permission. It must be the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not and is not of the same type as the current permission. - - - Initializes a new instance of the class with the specified . - One of the values. - - - Creates and returns a new . - A that corresponds to this attribute. - - - Initializes a new instance of the class with the specified . - One of the values. - The parameter is not a valid value of . - - - Initializes a new instance of the class to represent the URL identity described by . - A URL or wildcard expression. - The parameter is . - The length of the parameter is zero. - The URL, directory, or site portion of the parameter is not valid. - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Reconstructs a permission with a specified state from an XML encoding. - The XML encoding to use to reconstruct the permission. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not valid. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be of the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - The parameter is not and is not of the same type as the current permission. -or-The Url property is not a valid URL. - - - Determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not and is not of the same type as the current permission. -or-The Url property is not a valid URL. - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including any state information. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not and is not of the same type as the current permission. -or-The property is not a valid URL.-or-The two permissions are not equal and one is not a subset of the other. - - - Initializes a new instance of the class with the specified . - One of the values. - - - Creates and returns a new . - A that corresponds to this attribute. - - - Initializes a new instance of the class with the specified . - One of the values. - The parameter is not a valid value of . - - - Initializes a new instance of the class to represent the specified zone identity. - The zone identifier. - - - Creates and returns an identical copy of the current permission. - A copy of the current permission. - - - Reconstructs a permission with a specified state from an XML encoding. - The XML encoding to use to reconstruct the permission. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not valid. - - - Creates and returns a permission that is the intersection of the current permission and the specified permission. - A permission to intersect with the current permission. It must be of the same type as the current permission. - A new permission that represents the intersection of the current permission and the specified permission. This new permission is if the intersection is empty. - The parameter is not and is not of the same type as the current permission. - - - Determines whether the current permission is a subset of the specified permission. - A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. - - if the current permission is a subset of the specified permission; otherwise, . - The parameter is not , this permission does not represent the security zone, and the specified permission is not equal to the current permission. - - - Creates an XML encoding of the permission and its current state. - An XML encoding of the permission, including any state information. - - - Creates a permission that is the union of the current permission and the specified permission. - A permission to combine with the current permission. It must be of the same type as the current permission. - A new permission that represents the union of the current permission and the specified permission. - The parameter is not and is not of the same type as the current permission. -or-The two permissions are not equal and the current permission does not represent the security zone. - - - Initializes a new instance of the class with the specified . - One of the values. - - - Creates and returns a new . - A that corresponds to this attribute. - - - Initializes a new instance of the class with the specified . - One of the enumeration values that specifies the permission set's access to resources. - The parameter is not a valid . - - - Initializes a new instance of the class with initial values taken from the parameter. - The set from which to take the value of the new , or to create an empty . - - - Adds a specified permission to the . - The permission to add. - The union of the permission added and any permission of the same type that already exists in the . - The method is called from a . - - - Adds a specified permission to the . - The permission to add. - The union of the permission added and any permission of the same type that already exists in the , or if is . - The method is called from a . - - - Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Using can create security vulnerabilities. - The instance asserted has not been granted to the asserting code.-or- There is already an active for the current frame. - - - Gets a value indicating whether the contains permissions that are not derived from . - - if the contains permissions that are not derived from ; otherwise, . - - - Converts an encoded from one XML encoding format to another XML encoding format. - A string representing one of the following encoding formats: ASCII, Unicode, or Binary. Possible values are "XMLASCII" or "XML", "XMLUNICODE", and "BINARY". - An XML-encoded permission set. - A string representing one of the following encoding formats: ASCII, Unicode, or Binary. Possible values are "XMLASCII" or "XML", "XMLUNICODE", and "BINARY". - An encrypted permission set with the specified output format. - In all cases. - - - Creates a copy of the . - A copy of the . - - - Copies the permission objects of the set to the indicated location in an . - The target array to which to copy. - The starting position in the array to begin copying (zero based). - The parameter is . - The parameter has more than one dimension. - The parameter is out of the range of the parameter. - - - Forces a at run time if all callers higher in the call stack have not been granted the permissions specified by the current instance. - A caller in the call chain does not have the permission demanded. - - - Causes any that passes through the calling code for a permission that has an intersection with a permission of a type contained in the current to fail. - A previous call to has already restricted the permissions for the current stack frame. - - - Determines whether the specified or object is equal to the current . - The object to compare with the current . - - if the specified object is equal to the current object; otherwise, . - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not supported. - - - Returns an enumerator for the permissions of the set. - An enumerator object for the permissions of the set. - - - Returns an enumerator for the permissions of the set. - An enumerator object for the permissions of the set. - - - Gets a hash code for the object that is suitable for use in hashing algorithms and data structures such as a hash table. - A hash code for the current object. - - - Gets a permission object of the specified type, if it exists in the set. - The type of the desired permission object. - A copy of the permission object of the type specified by the parameter contained in the , or if none exists. - - - Gets a permission object of the specified type, if it exists in the set. - The type of the permission object. - A copy of the permission object, of the type specified by the parameter, contained in the , or if none exists. - - - Creates and returns a permission set that is the intersection of the current and the specified . - A permission set to intersect with the current . - A new permission set that represents the intersection of the current and the specified target. This object is if the intersection is empty. - - - Gets a value indicating whether the is empty. - - if the is empty; otherwise, . - - - Determines whether the current is a subset of the specified . - The permission set to test for the subset relationship. This must be either a or a . - - if the current is a subset of the parameter; otherwise, . - - - Determines whether the is . - - if the is ; otherwise, . - - - Causes any that passes through the calling code for any that is not a subset of the current to fail. - - - Removes a permission of a certain type from the set. - The type of permission to delete. - The permission removed from the set. - The method is called from a . - - - Removes a permission of a certain type from the set. - The type of the permission to remove. - The permission removed from the set. - The method is called from a . - - - Causes any previous for the current frame to be removed and no longer be in effect. - There is no previous for the current frame. - - - Sets a permission to the , replacing any existing permission of the same type. - The permission to set. - The set permission. - The method is called from a . - - - Sets a permission to the , replacing any existing permission of the same type. - The permission to set. - The set permission. - The method is called from a . - - - Runs when the entire object graph has been deserialized. - The object that initiated the callback. The functionality for this parameter is not currently implemented. - - - Returns a string representation of the . - A representation of the . - - - Creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - - - Creates a that is the union of the current and the specified . - The permission set to form the union with the current . - A new permission set that represents the union of the current and the specified . - - - Initializes a new instance of the class. - - - Determines whether the specified evidence satisfies the membership condition. - The evidence set against which to make the test. - Always . - - - Creates an equivalent copy of the membership condition. - A new, identical copy of the current membership condition. - - - Determines whether the specified membership condition is an . - The object to compare to . - - if the specified membership condition is an ; otherwise, . - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The policy level context used to resolve named permission set references. - The parameter is . - The parameter is not a valid membership condition element. - - - Gets the hash code for the current membership condition. - The hash code for the current membership condition. - - - Creates and returns a string representation of the membership condition. - A representation of the membership condition. - - - Creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - - - Creates an XML encoding of the security object and its current state with the specified . - The policy level context for resolving named permission set references. - An XML encoding of the security object, including any state information. - - - Initializes a new instance of the class. - The path of the application directory. - The parameter is . - - - Creates a new object that is a copy of the current instance. - A new object that is a copy of this instance. - - - Creates a new copy of the . - A new, identical copy of the . - - - Determines whether instances of the same type of an evidence object are equivalent. - An object of same type as the current evidence object. - - if the two instances are equivalent; otherwise, . - - - Gets the hash code of the current application directory. - The hash code of the current application directory. - - - Gets a string representation of the state of the evidence object. - A representation of the state of the evidence object. - - - Initializes a new instance of the class. - - - Determines whether the membership condition is satisfied by the specified evidence. - The evidence set against which to make the test. - - if the specified evidence satisfies the membership condition; otherwise, . - - - Creates an equivalent copy of the membership condition. - A new, identical copy of the current membership condition. - - - Determines whether the specified membership condition is an . - The object to compare to . - - if the specified membership condition is an ; otherwise, . - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The parameter is . - The parameter is not a valid application directory membership condition element. - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The policy level context, used to resolve named permission set references. - The parameter is . - The parameter is not a valid application directory membership condition element. - - - Gets the hash code for the current membership condition. - The hash code for the current membership condition. - - - Creates and returns a string representation of the membership condition. - A string representation of the state of the membership condition. - - - Creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - - - Creates an XML encoding of the security object and its current state with the specified . - The policy level context for resolving named permission set references. - An XML encoding of the security object, including any state information. - - - Initializes a new instance of the class using the provided activation context. - An object that uniquely identifies the target application. - - is . - - - Determines whether the user approves the specified application to execute with the requested permission set. - An identifying the activation context for the application. - A identifying the trust manager context for the application. - - to execute the specified application; otherwise, . - The parameter is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with an . - An that uniquely identifies an application. - - - Initializes a new instance of the class using the provided grant set and collection of full-trust assemblies. - A default permission set that is granted to all assemblies that do not have specific grants. - An array of strong names that represent assemblies that should be considered fully trusted in an application domain. - - is . - - is . - - contains an assembly that does not have a . - - - Creates a new object that is a complete copy of the current instance. - A duplicate copy of this application trust object. - - - Reconstructs an object with a given state from an XML encoding. - The XML encoding to use to reconstruct the object. - - is . - The XML encoding used for is invalid. - - - Creates an XML encoding of the object and its current state. - An XML encoding of the security object, including any state information. - - - Adds an element to the collection. - The object to add. - The index at which the new element was inserted. - - is . - The property of the specified in is . - - - Copies the elements of the specified array to the end of the collection. - An array of type containing the objects to add to the collection. - - is . - The property of an specified in is . - - - Copies the elements of the specified to the end of the collection. - A containing the objects to add to the collection. - - is . - The property of an specified in is . - - - Removes all the application trusts from the collection. - The property of an item in the collection is . - - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - The one-dimensional array of type that is the destination of the elements copied from the current collection. - The zero-based index in at which copying begins. - - is . - - is less than the lower bound of . - - is multidimensional.-or- The number of elements in the is greater than the available space from to the end of the destination . - - - Gets the application trusts in the collection that match the specified application identity. - An object describing the application to find. - One of the values. - An containing all matching objects. - - - Returns an object that can be used to iterate over the collection. - An that can be used to iterate over the collection. - - - Removes all application trust objects that match the specified criteria from the collection. - The of the object to be removed. - One of the values. - - - Removes the specified application trust from the collection. - The object to remove. - - is . - The property of the object specified by is . - - - Removes the application trust objects in the specified array from the collection. - A one-dimensional array of type that contains items to be removed from the current collection. - - is . - - - Removes the application trust objects in the specified collection from the collection. - An that contains items to be removed from the currentcollection. - - is . - - - Copies the elements of the to the specified , starting at the specified index. - The one-dimensional that is the destination of the elements copied from the . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - is multidimensional.-or- The number of elements in the source is greater than the available space from to the end of the destination . - - - Returns an enumerator that iterates through the collection. - An that can be used to iterate through the collection. - - - Moves to the next element in the collection. - - if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. - - - Resets the enumerator to the beginning of the collection. - - - Initializes a new instance of the class. - The URI scheme represented by the current instance. - The port represented by the current instance. - - is .-or- - is an empty string ("").-or- - contains characters that are not permitted in schemes.-or- - is less than 0.-or- - is greater than 65,535. - - - Returns a instance that represents access to the specified port using any scheme. - The port represented by the returned instance. - A instance for the specified port. - - is less than 0.-or- - is greater than 65,535. - - - Returns a instance that represents access to the specified port using the code's scheme of origin. - The port represented by the returned instance. - A instance for the specified port. - - is less than 0.-or- - is greater than 65,535. - - - Returns a value indicating whether two objects represent the same scheme and port. - The object to compare to the current object. - - if the two objects represent the same scheme and port; otherwise, . - - - Serves as a hash function for a particular type. - A hash code for the current . - - - Initializes a new instance of . - A membership condition that tests evidence to determine whether this code group applies policy. - The policy statement for the code group in the form of a permission set and attributes to grant code that matches the membership condition. - The parameter is . - The type of the parameter is not valid.-or- The type of the parameter is not valid. - - - Adds a child code group to the current code group. - The code group to be added as a child. This new child code group is added to the end of the list. - The parameter is . - The parameter is not a valid code group. - - - When overridden in a derived class, makes a deep copy of the current code group. - An equivalent copy of the current code group, including its membership conditions and child code groups. - - - When overridden in a derived class, serializes properties and internal state specific to a derived code group and adds the serialization to the specified . - The XML encoding to which to add the serialization. - The policy level within which the code group exists. - - - Determines whether the specified code group is equivalent to the current code group. - The code group to compare with the current code group. - - if the specified code group is equivalent to the current code group; otherwise, . - - - Determines whether the specified code group is equivalent to the current code group, checking the child code groups as well, if specified. - The code group to compare with the current code group. - - to compare child code groups, as well; otherwise, . - - if the specified code group is equivalent to the current code group; otherwise, . - - - Reconstructs a security object with a given state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The parameter is . - - - Reconstructs a security object with a given state and policy level from an XML encoding. - The XML encoding to use to reconstruct the security object. - The policy level within which the code group exists. - The parameter is . - - - Gets the hash code of the current code group. - The hash code of the current code group. - - - When overridden in a derived class, reconstructs properties and internal state specific to a derived code group from the specified . - The XML encoding to use to reconstruct the security object. - The policy level within which the code group exists. - - - Removes the specified child code group. - The code group to be removed as a child. - The parameter is not an immediate child code group of the current code group. - - - When overridden in a derived class, resolves policy for the code group and its descendants for a set of evidence. - The evidence for the assembly. - A policy statement that consists of the permissions granted by the code group with optional attributes, or if the code group does not apply (the membership condition does not match the specified evidence). - - - When overridden in a derived class, resolves matching code groups. - The evidence for the assembly. - A that is the root of the tree of matching code groups. - - - Creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - - - Creates an XML encoding of the security object, its current state, and the policy level within which the code exists. - The policy level within which the code group exists. - An XML encoding of the security object, including any state information. - - - Initializes a new empty instance of the class. - - - Initializes a new instance of the class from multiple sets of host and assembly evidence. - The host evidence from which to create the new instance. - The assembly evidence from which to create the new instance. - - - Initializes a new instance of the class from a shallow copy of an existing one. - The instance from which to create the new instance. This instance is not deep-copied. - The parameter is not a valid instance of . - - - Initializes a new instance of the class from multiple sets of host and assembly evidence. - The host evidence from which to create the new instance. - The assembly evidence from which to create the new instance. - - - Adds the specified assembly evidence to the evidence set. - Any evidence object. - - is null. - - is not serializable. - - - Adds an evidence object of the specified type to the assembly-supplied evidence list. - The assembly evidence to add. - The type of the object in . - - is . - Evidence of type is already in the list. - - is not serializable. - - - Adds the specified evidence supplied by the host to the evidence set. - Any evidence object. - - is null. - - is not serializable. - - - Adds host evidence of the specified type to the host evidence collection. - The host evidence to add. - The type of the object in . - - is . - Evidence of type is already in the list. - - - Removes the host and assembly evidence from the evidence set. - - - Returns a duplicate copy of this evidence object. - A duplicate copy of this evidence object. - - - Copies evidence objects to an . - The target array to which to copy evidence objects. - The zero-based position in the array to which to begin copying evidence objects. - - is null. - - is outside the range of the target array - - - Enumerates evidence provided by the assembly. - An enumerator for evidence added by the method. - - - Gets assembly evidence of the specified type from the collection. - The type of the evidence to get. - Evidence of type in the assembly evidence collection. - - - Enumerates all evidence in the set, both that provided by the host and that provided by the assembly. - An enumerator for evidence added by both the method and the method. - - - Enumerates evidence supplied by the host. - An enumerator for evidence added by the method. - - - Gets host evidence of the specified type from the collection. - The type of the evidence to get. - Evidence of type in the host evidence collection. - - - Merges the specified evidence set into the current evidence set. - The evidence set to be merged into the current evidence set. - The parameter is not a valid instance of . - - is , the code that calls this method does not have , and the parameter has a host list that is not empty. - - - Removes the evidence for a given type from the host and assembly enumerations. - The type of the evidence to be removed. - - is null. - - - Initializes a new instance of the class. - An object to be used as evidence is not serializable. - - - Creates a new object that is a complete copy of the current instance. - A duplicate copy of this evidence object. - - - Initializes a new instance of the class. - A membership condition that tests evidence to determine whether this code group applies policy. - One of the values. This value is used to construct the that is granted. - The parameter is . - The type of the parameter is not valid.-or- The type of the parameter is not valid. - - - Makes a deep copy of the current code group. - An equivalent copy of the current code group, including its membership conditions and child code groups. - - - Determines whether the specified code group is equivalent to the current code group. - The code group to compare with the current code group. - - if the specified code group is equivalent to the current code group; otherwise, . - - - Gets the hash code of the current code group. - The hash code of the current code group. - - - Resolves policy for the code group and its descendants for a set of evidence. - The evidence for the assembly. - A policy statement consisting of the permissions granted by the code group with optional attributes, or if the code group does not apply (the membership condition does not match the specified evidence). - The parameter is . - The current policy is .-or- More than one code group (including the parent code group and all child code groups) is marked . - - - Resolves matching code groups. - The evidence for the assembly. - A that is the root of the tree of matching code groups. - The parameter is . - - - Initializes a new instance of the class. - A membership condition that tests evidence to determine whether this code group applies policy. - The policy statement for the code group in the form of a permission set and attributes to grant code that matches the membership condition. - The type of the parameter is not valid.-or- The type of the parameter is not valid. - - - Makes a deep copy of the code group. - An equivalent copy of the code group, including its membership conditions and child code groups. - - - Resolves policy for the code group and its descendants for a set of evidence. - The evidence for the assembly. - A policy statement consisting of the permissions granted by the code group with optional attributes, or if the code group does not apply (the membership condition does not match the specified evidence). - The parameter is . - More than one code group (including the parent code group and any child code groups) is marked . - - - Resolves matching code groups. - The evidence for the assembly. - A that is the root of the tree of matching code groups. - The parameter is . - - - Initializes a new instance of the class. - - - Creates a new object that is a copy of the current instance. - A new object that is a copy of this instance. - - - Creates an equivalent copy of the current object. - An equivalent copy of . - - - Creates a new identity permission that corresponds to the current object. - The from which to construct the identity permission. - A new identity permission that corresponds to the current object. - - - Indicates whether the current object is equivalent to the specified object. - The object to compare with the current object. - - if is a object; otherwise, . - - - Returns a hash code for the current object. - A hash code for the current object. - - - Returns a string representation of the current object. - A string representation of the current object. - - - Initializes a new instance of the class. - - - Indicates whether the specified evidence satisfies the membership condition. - The against which to make the test. - - if the specified evidence satisfies the membership condition; otherwise, . - - - Creates an equivalent copy of the membership condition. - A new object. - - - Indicates whether the current object is equivalent to the specified object. - The object to compare with the current object. - - if is a ; otherwise, . - - - Uses the specified XML encoding to reconstruct a security object. - The that contains the XML encoding to use to reconstruct the security object. - - is . - - is not a valid membership condition element. - - - Uses the specified XML encoding to reconstruct a security object, using the specified policy level context. - The that contains the XML encoding to use to reconstruct the security object. - The context for resolving references. - - is . - - is not a valid membership condition element. - - - Gets a hash code for the current membership condition. - 0 (zero). - - - Returns a string representation of the membership condition. - A string representation of the membership condition. - - - Creates an XML encoding of the security object and its current state. - A that contains the XML encoding of the security object, including any state information. - - - Creates an XML encoding of the security object and its current state, using the specified policy level context. - The context for resolving references. - A that contains the XML encoding of the security object, including any state information. - - - Initializes a new instance of the class. - The assembly for which to compute the hash value. - The parameter is . - The hash cannot be generated. - - is not a run-time object. - - - Creates a new object that is a copy of the current instance. - A new object that is a copy of this instance. - - - Creates a object that contains an hash value. - A byte array that contains an hash value. - An object that contains the hash value provided by the parameter. - The parameter is . - - - Creates a object that contains a hash value. - A byte array that contains a hash value. - An object that contains the hash value provided by the parameter. - The parameter is . - - - Creates a object that contains a hash value. - A byte array that contains a hash value. - A hash object that contains the hash value provided by the parameter. - The parameter is . - - - Computes the hash value for the assembly using the specified hash algorithm. - The hash algorithm to use to compute the hash value for the assembly. - A byte array that represents the hash value for the assembly. - The parameter is . - The hash value for the assembly cannot be generated. - - - Gets the object with the parameter name and additional exception information. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Returns a string representation of the current . - A representation of the current . - - - Initializes a new instance of the class with the hash algorithm and hash value that determine membership. - The hash algorithm to use to compute the hash value for the assembly. - The hash value for which to test. - The parameter is .-or- The parameter is . - The parameter is not a valid hash algorithm. - - - Determines whether the specified evidence satisfies the membership condition. - The evidence set against which to make the test. - - if the specified evidence satisfies the membership condition; otherwise, . - - - Creates an equivalent copy of the membership condition. - A new, identical copy of the current membership condition. - - - Determines whether the and the from the specified object are equivalent to the and contained in the current . - The object to compare to the current . - - if the and from the specified object is equivalent to the and contained in the current ; otherwise, . - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The policy level context, used to resolve named permission set references. - The parameter is . - The parameter is not a valid membership condition element. - - - Gets the hash code for the current membership condition. - The hash code for the current membership condition. - - - Runs when the entire object graph has been deserialized. - The object that initiated the callback. The functionality for this parameter is not currently implemented. - - - Populates a with the data needed to serialize the target object. - The to populate with data. - The destination for this serialization. - - - Creates and returns a string representation of the membership condition. - A string representation of the state of the membership condition. - - - Creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - - - Creates an XML encoding of the security object and its current state with the specified . - The policy level context for resolving named permission set references. - An XML encoding of the security object, including any state information. - - - Determines whether an application should be executed and which set of permissions should be granted to it. - The activation context for the application. - The trust manager context for the application. - An object that contains security decisions about the application. - - - Creates a new identity permission for the specified evidence. - The evidence from which to create the new identity permission. - The new identity permission. - - - Determines whether the specified evidence satisfies the membership condition. - The evidence set against which to make the test. - - if the specified evidence satisfies the membership condition; otherwise, . - - - Creates an equivalent copy of the membership condition. - A new, identical copy of the current membership condition. - - - Determines whether the specified is equal to the current . - The to compare with the current . - - if the specified is equal to the current ; otherwise, . - - - Creates and returns a string representation of the membership condition. - A string representation of the state of the current membership condition. - - - Initializes a new instance of the class. - A membership condition that tests evidence to determine whether this code group applies code access security policy. - The parameter is . - The type of the parameter is not valid. - - - Adds the specified connection access to the current code group. - A containing the scheme to match against the code's scheme. - A that specifies the scheme and port code can use to connect back to its origin server. - - is . - - contains characters that are not permitted in schemes.-or- - = and specifies as its scheme. - - - Makes a deep copy of the current code group. - An equivalent copy of the current code group, including its membership conditions and child code groups. - - - Determines whether the specified code group is equivalent to the current code group. - The object to compare with the current code group. - - if the specified code group is equivalent to the current code group; otherwise, . - - - Gets the connection access information for the current code group. - A array containing connection access information. - - - Gets the hash code of the current code group. - The hash code of the current code group. - - - Removes all connection access information for the current code group. - - - Resolves policy for the code group and its descendants for a set of evidence. - The for the assembly. - A that consists of the permissions granted by the code group with optional attributes, or if the code group does not apply (the membership condition does not match the specified evidence). - The parameter is . - More than one code group (including the parent code group and any child code groups) is marked . - - - Resolves matching code groups. - The evidence for the assembly. - The complete set of code groups that were matched by the evidence. - The parameter is . - - - Initializes a new instance of the class with the permission request of a code assembly. - The minimum permissions the code requires to run. - The permissions the code can use if they are granted, but that are not required. - The permissions the code explicitly asks not to be granted. - - - Creates a new object that is a copy of the current instance. - A new object that is a copy of this instance. - - - Creates an equivalent copy of the current . - An equivalent copy of the current . - - - Gets a string representation of the state of the . - A representation of the state of the . - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Adds a corresponding to the specified to the list of objects used to determine whether an assembly is a member of the group of assemblies that should not be evaluated. - The used to create the to add to the list of objects used to determine whether an assembly is a member of the group of assemblies that should not be evaluated. - The parameter is . - The specified by the parameter already has full trust. - - - Adds the specified to the list of objects used to determine whether an assembly is a member of the group of assemblies that should not be evaluated. - The to add to the list of objects used to determine whether an assembly is a member of the group of assemblies that should not be evaluated. - The parameter is . - The specified by the parameter already has full trust. - - - Adds a to the current policy level. - The to add to the current policy level. - The parameter is . - The parameter has the same name as an existing in the . - - - Replaces a in the current policy level with the specified . - The name of the to replace. - The that replaces the specified by the parameter. - A copy of the that was replaced. - The parameter is .-or- The parameter is . - The parameter is equal to the name of a reserved permission set.-or- The specified by the parameter cannot be found. - - - Creates a new policy level for use at the application domain policy level. - The newly created . - - - Reconstructs a security object with a given state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The parameter is . - The specified by the parameter is invalid. - - - Returns the in the current policy level with the specified name. - The name of the to find. - The in the current policy level with the specified name, if found; otherwise, . - The parameter is . - - - Replaces the configuration file for this with the last backup (reflecting the state of policy prior to the last time it was saved) and returns it to the state of the last save. - The policy level does not have a valid configuration file. - - - Removes an assembly with the specified from the list of assemblies the policy level uses to evaluate policy. - The of the assembly to remove from the list of assemblies used to evaluate policy. - The parameter is . - The assembly with the specified by the parameter does not have full trust. - - - Removes an assembly with the specified from the list of assemblies the policy level uses to evaluate policy. - The of the assembly to remove from the list of assemblies used to evaluate policy. - The parameter is . - The specified by the parameter does not have full trust. - - - Removes the specified from the current policy level. - The to remove from the current policy level. - The that was removed. - The specified by the parameter was not found. - The parameter is . - - - Removes the with the specified name from the current policy level. - The name of the to remove. - The that was removed. - The parameter is equal to the name of a reserved permission set.-or- A with the specified name cannot be found. - The parameter is . - - - Returns the current policy level to the default state. - - - Resolves policy based on evidence for the policy level, and returns the resulting . - The used to resolve the . - The resulting . - The policy level contains multiple matching code groups marked as exclusive. - The parameter is . - - - Resolves policy at the policy level and returns the root of a code group tree that matches the evidence. - The used to resolve policy. - A representing the root of a tree of code groups matching the specified evidence. - The policy level contains multiple matching code groups marked as exclusive. - The parameter is . - - - Creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - - - Initializes a new instance of the class with the specified . - The with which to initialize the new instance. - - - Initializes a new instance of the class with the specified and attributes. - The with which to initialize the new instance. - A bitwise combination of the values. - - - Creates an equivalent copy of the current policy statement. - A new copy of the with and identical to those of the current . - - - Determines whether the specified object is equal to the current . - The object to compare with the current . - - if the specified is equal to the current object; otherwise, . - - - Reconstructs a security object with a given state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The parameter is . - The parameter is not a valid encoding. - - - Reconstructs a security object with a given state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The context for lookup of values. - The parameter is . - The parameter is not a valid encoding. - - - Gets a hash code for the object that is suitable for use in hashing algorithms and data structures such as a hash table. - A hash code for the current object. - - - Creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - - - Creates an XML encoding of the security object and its current state. - The context for lookup of values. - An XML encoding of the security object, including any state information. - - - Initializes a new instance of the class with the Authenticode X.509v3 certificate containing the publisher's public key. - An that contains the software publisher's public key. - The parameter is . - - - Creates a new object that is a copy of the current instance. - A new object that is a copy of this instance. - - - Creates an equivalent copy of the . - A new, identical copy of the . - - - Creates an identity permission that corresponds to the current instance of the class. - The from which to construct the identity permission. - A for the specified . - - - Compares the current to the specified object for equivalence. - The to test for equivalence with the current object. - - if the two instances of the class are equal; otherwise, . - The parameter is not a object. - - - Gets the hash code of the current . - The hash code of the current . - - - Returns a string representation of the current . - A representation of the current . - - - Initializes a new instance of the class with the Authenticode X.509v3 certificate that determines membership. - An that contains the software publisher's public key. - The parameter is . - - - Determines whether the specified evidence satisfies the membership condition. - The against which to make the test. - - if the specified evidence satisfies the membership condition; otherwise, . - The property is . - - - Creates an equivalent copy of the membership condition. - A new, identical copy of the current membership condition. - The property is . - - - Determines whether the publisher certificate from the specified object is equivalent to the publisher certificate contained in the current . - The object to compare to the current . - - if the publisher certificate from the specified object is equivalent to the publisher certificate contained in the current ; otherwise, . - The property is . - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The parameter is . - The parameter is not a valid membership condition element. - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The context, used to resolve references. - The parameter is . - The parameter is not a valid membership condition element. - - - Gets the hash code for the current membership condition. - The hash code for the current membership condition. - The property is . - - - Creates and returns a string representation of the . - A representation of the . - The property is . - - - Creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - The property is . - - - Creates an XML encoding of the security object and its current state with the specified . - The context, which is used to resolve references. - An XML encoding of the security object, including any state information. - The property is . - - - Initializes a new instance of the class with the website from which a code assembly originates. - The website of origin for the associated code assembly. - The parameter is . - - - Creates a new object that is a copy of the current instance. - A new object that is a copy of this instance. - - - Creates an equivalent copy of the object. - A new object that is identical to the current object. - - - Creates a new object from the specified URL. - The URL from which to create the new object. - A new site object. - The parameter is not a valid URL. -or-The parameter is a file name. - - - Creates an identity permission that corresponds to the current object. - The evidence from which to construct the identity permission. - A site identity permission for the current object. - - - Compares the current to the specified object for equivalence. - The object to test for equivalence with the current object. - - if the two instances of the class are equal; otherwise, . - - - Returns the hash code of the current website name. - The hash code of the current website name. - - - Returns a string representation of the current object. - A representation of the current site. - - - Initializes a new instance of the class with name of the site that determines membership. - The site name or wildcard expression. - The parameter is . - The parameter is not a valid . - - - Determines whether the specified evidence satisfies the membership condition. - The against which to make the test. - - if the specified evidence satisfies the membership condition; otherwise, . - The property is . - - - Creates an equivalent copy of the membership condition. - A new, identical copy of the current membership condition. - The property is . - - - Determines whether the site from the specified object is equivalent to the site contained in the current . - The object to compare to the current . - - if the site from the specified object is equivalent to the site contained in the current ; otherwise, . - The property for the current object or the specified object is . - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The parameter is . - The parameter is not a valid membership condition element. - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The context, used to resolve references. - The parameter is . - The parameter is not a valid membership condition element. - - - Gets the hash code for the current membership condition. - The hash code for the current membership condition. - The property is . - - - Creates and returns a string representation of the membership condition. - A string representation of the membership condition. - The property is . - - - Creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - The property is . - - - Creates an XML encoding of the security object and its current state with the specified . - The context, used to resolve references. - An XML encoding of the security object, including any state information. - The property is . - - - Initializes a new instance of the class with the strong name public key blob, name, and version. - The of the software publisher. - The simple name section of the strong name. - The of the strong name. - The parameter is .-or- The parameter is .-or- The parameter is . - The parameter is an empty string (""). - - - Creates a new object that is a copy of the current instance. - A new object that is a copy of this instance. - - - Creates an equivalent copy of the current . - A new, identical copy of the current . - - - Creates a that corresponds to the current . - The from which to construct the . - A for the specified . - - - Determines whether the specified strong name is equal to the current strong name. - The strong name to compare against the current strong name. - - if the specified strong name is equal to the current strong name; otherwise, . - - - Gets the hash code of the current . - The hash code of the current . - - - Creates a string representation of the current . - A representation of the current . - - - Initializes a new instance of the class with the strong name public key blob, name, and version number that determine membership. - The strong name public key blob of the software publisher. - The simple name section of the strong name. - The version number of the strong name. - The parameter is . - The parameter is .-or-The parameter is an empty string (""). - - - Determines whether the specified evidence satisfies the membership condition. - The against which to make the test. - - if the specified evidence satisfies the membership condition; otherwise, . - - - Creates an equivalent copy of the current . - A new, identical copy of the current - - - Determines whether the from the specified object is equivalent to the contained in the current . - The object to compare to the current . - - if the from the specified object is equivalent to the contained in the current ; otherwise, . - The property of the current object or the specified object is . - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The context, used to resolve references. - The parameter is . - The parameter is not a valid membership condition element. - - - Returns the hash code for the current . - The hash code for the current . - The property is . - - - Creates and returns a string representation of the current . - A representation of the current . - - - Creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - - - Creates an XML encoding of the security object and its current state with the specified . - The context, which is used to resolve references. - An XML encoding of the security object, including any state information. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class using the specified object. - One of the values that specifies the type of trust manager user interface to use. - - - Initializes a new instance of the class. - A membership condition that tests evidence to determine whether this code group applies policy. - The policy statement for the code group in the form of a permission set and attributes to grant code that matches the membership condition. - The type of the parameter is not valid.-or- The type of the parameter is not valid. - - - Makes a deep copy of the current code group. - An equivalent copy of the current code group, including its membership conditions and child code groups. - - - Resolves policy for the code group and its descendants for a set of evidence. - The evidence for the assembly. - A policy statement consisting of the permissions granted by the code group with optional attributes, or if the code group does not apply (the membership condition does not match the specified evidence). - The parameter is . - More than one code group (including the parent code group and any child code groups) is marked . - - - Resolves matching code groups. - The evidence for the assembly. - The complete set of code groups that were matched by the evidence. - The parameter is . - - - Initializes a new instance of the class with the URL from which a code assembly originates. - The URL of origin for the associated code assembly. - The parameter is . - - - Creates a new object that is a copy of the current instance. - A new object that is a copy of this instance. - - - Creates a new copy of the evidence object. - A new, identical copy of the evidence object. - - - Creates an identity permission corresponding to the current instance of the evidence class. - The evidence set from which to construct the identity permission. - A for the specified evidence. - - - Compares the current evidence object to the specified object for equivalence. - The evidence object to test for equivalence with the current object. - - if the two objects are equal; otherwise, . - - - Gets the hash code of the current URL. - The hash code of the current URL. - - - Returns a string representation of the current . - A representation of the current . - - - Initializes a new instance of the class with the URL that determines membership. - The URL for which to test. - The parameter is . - - must be an absolute URL. - - - Determines whether the specified evidence satisfies the membership condition. - The evidence set against which to make the test. - - if the specified evidence satisfies the membership condition; otherwise, . - The property is . - - - Creates an equivalent copy of the membership condition. - A new, identical copy of the current membership condition. - The property is . - - - Determines whether the URL from the specified object is equivalent to the URL contained in the current . - The object to compare to the current . - - if the URL from the specified object is equivalent to the URL contained in the current ; otherwise, . - The property of the current object or the specified object is . - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The parameter is . - The parameter is not a valid membership condition element. - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The policy level context, used to resolve named permission set references. - The parameter is . - The parameter is not a valid membership condition element. - - - Gets the hash code for the current membership condition. - The hash code for the current membership condition. - The property is . - - - Creates and returns a string representation of the membership condition. - A string representation of the state of the membership condition. - The property is . - - - Creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - - - Creates an XML encoding of the security object and its current state with the specified . - The policy level context for resolving named permission set references. - An XML encoding of the security object, including any state information. - The property is . - - - Initializes a new instance of the class with the zone from which a code assembly originates. - The zone of origin for the associated code assembly. - The parameter is not a valid . - - - Creates a new object that is a copy of the current instance. - A new object that is a copy of this instance. - - - Creates an equivalent copy of the evidence object. - A new, identical copy of the evidence object. - - - Creates a new zone with the specified URL. - The URL from which to create the zone. - A new zone with the specified URL. - The parameter is . - - - Creates an identity permission that corresponds to the current instance of the evidence class. - The evidence set from which to construct the identity permission. - A for the specified evidence. - - - Compares the current evidence object to the specified object for equivalence. - The evidence object to test for equivalence with the current object. - - if the two objects are equal; otherwise, . - The parameter is not a object. - - - Gets the hash code of the current zone. - The hash code of the current zone. - - - Returns a string representation of the current . - A representation of the current . - - - Initializes a new instance of the class with the zone that determines membership. - The for which to test. - The parameter is not a valid . - - - Determines whether the specified evidence satisfies the membership condition. - The evidence set against which to make the test. - - if the specified evidence satisfies the membership condition; otherwise, . - The property is . - The property is not a valid . - - - Creates an equivalent copy of the membership condition. - A new, identical copy of the current membership condition. - The property is . - The property is not a valid . - - - Determines whether the zone from the specified object is equivalent to the zone contained in the current . - The object to compare to the current . - - if the zone from the specified object is equivalent to the zone contained in the current ; otherwise, . - The property for the current object or the specified object is . - The property for the current object or the specified object is not a valid . - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The parameter is . - The parameter is not a valid membership condition element. - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The policy level context used to resolve named permission set references. - The parameter is . - The parameter is not a valid membership condition element. - - - Gets the hash code for the current membership condition. - The hash code for the current membership condition. - The property is . - The property is not a valid . - - - Creates and returns a string representation of the membership condition. - A string representation of the state of the membership condition. - The property is . - The property is not a valid . - - - Creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - The property is . - The property is not a valid . - - - Creates an XML encoding of the security object and its current state with the specified . - The policy level context for resolving named permission set references. - An XML encoding of the security object, including any state information. - The property is . - The property is not a valid . - - - Initializes a new instance of the class by using the specified object. - The object from which to construct the new instance of . - - - Initializes a new instance of the class representing the user with the specified name. - The name of the user on whose behalf the code is running. - The parameter is . - - - Initializes a new instance of the class representing the user with the specified name and authentication type. - The name of the user on whose behalf the code is running. - The type of authentication used to identify the user. - The parameter is .-or- The parameter is . - - - Creates a new object that is a copy of the current instance. - A copy of the current instance. - - - Initializes a new instance of the class from a user identity and an array of role names to which the user represented by that identity belongs. - A basic implementation of that represents any user. - An array of role names to which the user represented by the parameter belongs. - The parameter is . - - - Determines whether the current belongs to the specified role. - The name of the role for which to check membership. - - if the current is a member of the specified role; otherwise, . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class by using the specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class by using the specified error message and inner exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If is not null, the current exception is raised in a block that handles the inner exception. - - - Gets serialization information with the data needed to create an instance of this object. - The object that holds the serialized object data about the exception being thrown. - The object that contains contextual information about the source or destination. - - - Returns a value that indicates whether the specified object equals this instance of the class. - An object to compare with this instance, or a null reference. - - if is an object with the same underlying type and value as this instance; otherwise, . - - - Serves as a hash function for . is suitable for use in hashing algorithms and data structures like a hash table. - The hash code for this object. - - - Returns a value that indicates whether the specified type is a valid translation type for the class. - The type being queried for validity to serve as a conversion from . The following target types are valid: - - - - - - if is a valid translation type for the class; otherwise, . - - - Compares two objects to determine whether they are equal. They are considered equal if they have the same canonical name representation as the one returned by the property or if they are both . - The left operand to use for the equality comparison. This parameter can be . - The right operand to use for the equality comparison. This parameter can be . - - if and are equal; otherwise, . - - - Compares two objects to determine whether they are not equal. They are considered not equal if they have different canonical name representations than the one returned by the property or if one of the objects is and the other is not. - The left operand to use for the inequality comparison. This parameter can be . - The right operand to use for the inequality comparison. This parameter can be . - - if and are not equal; otherwise, . - - - Returns the string representation of the identity represented by the object. - The identity in string format. - - - Translates the account name represented by the object into another -derived type. - The target type for the conversion from . - The converted identity. - - - Initializes a new instance of the class with zero items in the collection. - - - Initializes a new instance of the class by using the specified initial size. - The initial number of items in the collection. The value of is a hint only; it is not necessarily the maximum number of items created. - - - Adds an object to the collection. - The object to add to the collection. - - is . - - - Clears all objects from the collection. - - - Indicates whether the collection contains the specified object. - The object to check for. - - if the collection contains the specified object. - - is . - - - Copies the collection to an array, starting at the specified index. - An array object to which the collection is to be copied. - The zero-based index in where the collection is to be copied. - - - Gets an enumerator that can be used to iterate through the collection. - An enumerator for the collection. - - - Removes the specified object from the collection. - The object to remove. - - if the specified object was removed from the collection. - - is . - - - Gets an enumerator that can be used to iterate through the collection. - An enumerator for the collection. - - - Converts the objects in the collection to the specified type. Calling this method is the same as calling with the second parameter set to , which means that exceptions will not be thrown for items that fail conversion. - The type to which items in the collection are being converted. - A collection that represents the converted contents of the original collection. - - - Converts the objects in the collection to the specified type and uses the specified fault tolerance to handle or ignore errors associated with a type not having a conversion mapping. - The type to which items in the collection are being converted. - A Boolean value that determines how conversion errors are handled.If is , conversion errors due to a mapping not being found for the translation result in a failed conversion and exceptions being thrown.If is , types that failed to convert due to a mapping not being found for the translation are copied without being converted into the collection being returned. - A collection that represents the converted contents of the original collection. - - - Determines whether the current principal belongs to the specified role. - The name of the role for which to check membership. - - if the current principal is a member of the specified role; otherwise, . - - - Initializes a new instance of the class by using the specified name. - The name used to create the object. This parameter cannot be or an empty string. - - is . - - is an empty string.-or- - is too long. - - - Initializes a new instance of the class by using the specified domain name and account name. - The name of the domain. This parameter can be or an empty string. Domain names that are null values are treated like an empty string. - The name of the account. This parameter cannot be or an empty string. - - is . - - is an empty string.-or- - is too long.-or- - is too long. - - - Returns a value that indicates whether this object is equal to a specified object. - An object to compare with this object, or . - - if is an object with the same underlying type and value as this object; otherwise, . - - - Serves as a hash function for the current object. The method is suitable for hashing algorithms and data structures like a hash table. - A hash value for the current object. - - - Returns a value that indicates whether the specified type is a valid translation type for the class. - The type being queried for validity to serve as a conversion from . The following target types are valid:- - - - if is a valid translation type for the class; otherwise . - - - Compares two objects to determine whether they are equal. They are considered equal if they have the same canonical name representation as the one returned by the property or if they are both . - The left operand to use for the equality comparison. This parameter can be . - The right operand to use for the equality comparison. This parameter can be . - - if and are equal; otherwise . - - - Compares two objects to determine whether they are not equal. They are considered not equal if they have different canonical name representations than the one returned by the property or if one of the objects is and the other is not. - The left operand to use for the inequality comparison. This parameter can be . - The right operand to use for the inequality comparison. This parameter can be . - - if and are not equal; otherwise . - - - Returns the account name, in Domain\Account format, for the account represented by the object. - The account name, in Domain\Account format. - - - Translates the account name represented by the object into another -derived type. - The target type for the conversion from . The target type must be a type that is considered valid by the method. - The converted identity. - - is . - - is not an type. - Some or all identity references could not be translated. - The source account name is too long.-or-A Win32 error code was returned. - - - Initializes a new instance of the class by using a specified binary representation of a security identifier (SID). - The byte array that represents the SID. - The byte offset to use as the starting index in . - - - Initializes a new instance of the class by using an integer that represents the binary form of a security identifier (SID). - An integer that represents the binary form of a SID. - - - Initializes a new instance of the class by using the specified well known security identifier (SID) type and domain SID. - One of the enumeration values. This value must not be . - The domain SID. This value is required for the following values. This parameter is ignored for any other values.- - - - - - - - - - - - - - - - Initializes a new instance of the class by using the specified security identifier (SID) in Security Descriptor Definition Language (SDDL) format. - SDDL string for the SID used to create the object. - - - Compares the current object with the specified object. - The object to compare with the current object. - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . - - - Returns a value that indicates whether this object is equal to a specified object. - An object to compare with this object, or . - - if is an object with the same underlying type and value as this object; otherwise, . - - - Indicates whether the specified object is equal to the current object. - The object to compare with the current object. - - if the value of is equal to the value of the current object. - - - Copies the binary representation of the specified security identifier (SID) represented by the class to a byte array. - The byte array to receive the copied SID. - The byte offset to use as the starting index in . - - - Serves as a hash function for the current object. The method is suitable for hashing algorithms and data structures like a hash table. - A hash value for the current object. - - - Returns a value that indicates whether the security identifier (SID) represented by this object is a valid Windows account SID. - - if the SID represented by this object is a valid Windows account SID; otherwise, . - - - Returns a value that indicates whether the security identifier (SID) represented by this object is from the same domain as the specified SID. - The SID to compare with this object. - - if the SID represented by this object is in the same domain as the SID; otherwise, . - - - Returns a value that indicates whether the specified type is a valid translation type for the class. - The type being queried for validity to serve as a conversion from . The following target types are valid:- - - - if is a valid translation type for the class; otherwise, . - - - Returns a value that indicates whether the object matches the specified well known security identifier (SID) type. - A value to compare with the object. - - if is the SID type for the object; otherwise, . - - - Compares two objects to determine whether they are equal. They are considered equal if they have the same canonical representation as the one returned by the property or if they are both . - The left operand to use for the equality comparison. This parameter can be . - The right operand to use for the equality comparison. This parameter can be . - - if and are equal; otherwise, . - - - Compares two objects to determine whether they are not equal. They are considered not equal if they have different canonical name representations than the one returned by the property or if one of the objects is and the other is not. - The left operand to use for the inequality comparison. This parameter can be . - The right operand to use for the inequality comparison. This parameter can be . - - if and are not equal; otherwise, . - - - Returns the security identifier (SID), in Security Descriptor Definition Language (SDDL) format, for the account represented by the object. An example of the SDDL format is S-1-5-9. - The SID, in SDDL format, for the account represented by the object. - - - Translates the account name represented by the object into another -derived type. - The target type for the conversion from . The target type must be a type that is considered valid by the method. - The converted identity. - - is . - - is not an type. - Some or all identity references could not be translated. - A Win32 error code was returned. - - - Initializes a new instance of the class for the user represented by the specified Windows account token. - The account token for the user on whose behalf the code is running. - - is 0.-or- - is duplicated and invalid for impersonation. - The caller does not have the correct permissions. -or-A Win32 error occurred. - - - Initializes a new instance of the class for the user represented by the specified Windows account token and the specified authentication type. - The account token for the user on whose behalf the code is running. - (Informational use only.) The type of authentication used to identify the user. For more information, see Remarks. - - is 0.-or- - is duplicated and invalid for impersonation. - The caller does not have the correct permissions. -or-A Win32 error occurred. - - - Initializes a new instance of the class for the user represented by the specified Windows account token, the specified authentication type, and the specified Windows account type. - The account token for the user on whose behalf the code is running. - (Informational use only.) The type of authentication used to identify the user. For more information, see Remarks. - One of the enumeration values. - - is 0.-or- - is duplicated and invalid for impersonation. - The caller does not have the correct permissions. -or-A Win32 error occurred. - - - Initializes a new instance of the class for the user represented by the specified Windows account token, the specified authentication type, the specified Windows account type, and the specified authentication status. - The account token for the user on whose behalf the code is running. - (Informational use only.) The type of authentication used to identify the user. For more information, see Remarks. - One of the enumeration values. - - to indicate that the user is authenticated; otherwise, . - - is 0.-or- - is duplicated and invalid for impersonation. - The caller does not have the correct permissions. -or-A Win32 error occurred. - - - Initializes a new instance of the class for the user represented by information in a stream. - The object containing the account information for the user. - An object that indicates the stream characteristics. - A cannot be serialized across processes. - The caller does not have the correct permissions. -or-A Win32 error occurred. - - - Initializes a new instance of the class by using the specified object. - The object from which to construct the new instance of . - - - Initializes a new instance of the class for the user represented by the specified User Principal Name (UPN). - The UPN for the user on whose behalf the code is running. - Windows returned the Windows NT status code STATUS_ACCESS_DENIED. - There is insufficient memory available. - The caller does not have the correct permissions. -or-The computer is not attached to a Windows 2003 or later domain.-or-The computer is not running Windows 2003 or later.-or-The user is not a member of the domain the computer is attached to. - - - Initializes a new instance of the class for the user represented by the specified User Principal Name (UPN) and the specified authentication type. - The UPN for the user on whose behalf the code is running. - (Informational use only.) The type of authentication used to identify the user. For more information, see Remarks. - Windows returned the Windows NT status code STATUS_ACCESS_DENIED. - There is insufficient memory available. - The caller does not have the correct permissions. -or-The computer is not attached to a Windows 2003 or later domain.-or-The computer is not running Windows 2003 or later.-or-The user is not a member of the domain the computer is attached to. - - - Creates a new object that is a copy of the current instance. - A copy of the current instance. - - - Releases all resources used by the . - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Returns a object that you can use as a sentinel value in your code to represent an anonymous user. The property value does not represent the built-in anonymous identity used by the Windows operating system. - An object that represents an anonymous user. - - - Returns a object that represents the current Windows user. - An object that represents the current user. - The caller does not have the correct permissions. - - - Returns a object that represents the Windows identity for either the thread or the process, depending on the value of the parameter. - - to return the only if the thread is currently impersonating; to return the of the thread if it is impersonating or the of the process if the thread is not currently impersonating. - An object that represents a Windows user. - - - Returns a object that represents the current Windows user, using the specified desired token access level. - A bitwise combination of the enumeration values. - An object that represents the current user. - - - Impersonates the user represented by the object. - An object that represents the Windows user prior to impersonation; this can be used to revert to the original user's context. - An anonymous identity attempted to perform an impersonation. - A Win32 error occurred. - - - Impersonates the user represented by the specified user token. - The handle of a Windows account token. This token is usually retrieved through a call to unmanaged code, such as a call to the Win32 API function. - An object that represents the Windows user prior to impersonation; this object can be used to revert to the original user's context. - Windows returned the Windows NT status code STATUS_ACCESS_DENIED. - There is insufficient memory available. - The caller does not have the correct permissions. - - - Runs the specified action as the impersonated Windows identity. Instead of using an impersonated method call and running your function in , you can use and provide your function directly as a parameter. - The SafeAccessTokenHandle of the impersonated Windows identity. - The System.Action to run. - - - Runs the specified function as the impersonated Windows identity. Instead of using an impersonated method call and running your function in , you can use and provide your function directly as a parameter. - The SafeAccessTokenHandle of the impersonated Windows identity. - The System.Func to run. - The type of object used by and returned by the function. - Returns the result of the function. - - - Implements the interface and is called back by the deserialization event when deserialization is complete. - The source of the deserialization event. - - - Sets the object with the logical context information needed to recreate an instance of this execution context. - An object containing the information required to serialize the . - An object containing the source and destination of the serialized stream associated with the . - - - Releases all resources used by the . - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Reverts the user context to the Windows user represented by this object. - An attempt is made to use this method for any purpose other than to revert identity to self. - - - Initializes a new instance of the class by using the specified object. - The object from which to construct the new instance of . - - is . - - - Determines whether the current principal belongs to the Windows user group with the specified relative identifier (RID). - The RID of the Windows user group in which to check for the principal’s membership status. - - if the current principal is a member of the specified Windows user group, that is, in a particular role; otherwise, . - - - Determines whether the current principal belongs to the Windows user group with the specified security identifier (SID). - A that uniquely identifies a Windows user group. - - if the current principal is a member of the specified Windows user group; otherwise, . - - is . - Windows returned a Win32 error. - - - Determines whether the current principal belongs to the Windows user group with the specified . - One of the values. - - if the current principal is a member of the specified Windows user group; otherwise, . - - is not a valid value. - - - Determines whether the current principal belongs to the Windows user group with the specified name. - The name of the Windows user group for which to check membership. - - if the current principal is a member of the specified Windows user group; otherwise, . - - - Initializes a new instance of the class. - The XML element from which to take the value of the new . - - is . - - - Creates a copy of the . - A copy of the read-only permission set. - - - Reconstructs a security object with a specified state from an XML encoding. - The XML encoding to use to reconstruct the security object. - The parameter is . - The parameter is not a valid permission element.-or- The parameter's version number is not supported. - The object is not being deserialized; that is, did not call back into during deserialization. - - - Creates an XML encoding of the security object and its current state. - An XML encoding of the security object, including any state information. - - - Initializes a new instance of the class. - An error occurred while protecting or unprotecting the value of this instance. - This operation is not supported on this platform. - - - Initializes a new instance of the class from a subarray of objects. This constructor is not CLS-compliant. The CLS-compliant alternative is . - A pointer to an array of objects. - The number of elements of to include in the new instance. - - is . - - is less than zero or greater than 65,536. - An error occurred while protecting or unprotecting the value of this secure string. - This operation is not supported on this platform. - - - Appends a character to the end of the current secure string. - A character to append to this secure string. - This secure string has already been disposed. - This secure string is read-only. - Performing this operation would make the length of this secure string greater than 65,536 characters. - An error occurred while protecting or unprotecting the value of this secure string. - - - Deletes the value of the current secure string. - This secure string has already been disposed. - This secure string is read-only. - - - Creates a copy of the current secure string. - A duplicate of this secure string. - This secure string has already been disposed. - An error occurred while protecting or unprotecting the value of this secure string. - - - Releases all resources used by the current object. - - - Inserts a character in this secure string at the specified index position. - The index position where parameter is inserted. - The character to insert. - This secure string has already been disposed. - This secure string is read-only. - - is less than zero, or greater than the length of this secure string.-or-Performing this operation would make the length of this secure string greater than 65,536 characters. - An error occurred while protecting or unprotecting the value of this secure string. - - - Indicates whether this secure string is marked read-only. - - if this secure string is marked read-only; otherwise, . - This secure string has already been disposed. - - - Makes the text value of this secure string read-only. - This secure string has already been disposed. - - - Removes the character at the specified index position from this secure string. - The index position of a character in this secure string. - This secure string has already been disposed. - This secure string is read-only. - - is less than zero, or greater than or equal to the length of this secure string. - An error occurred while protecting or unprotecting the value of this secure string. - - - Replaces the existing character at the specified index position with another character. - The index position of an existing character in this secure string - A character that replaces the existing character. - This secure string has already been disposed. - This secure string is read-only. - - is less than zero, or greater than or equal to the length of this secure string. - An error occurred while protecting or unprotecting the value of this secure string. - - - Captures the security context for the current thread. - The security context for the current thread. - - - Creates a copy of the current security context. - The security context for the current thread. - The current security context has been previously used, was marshaled across application domains, or was not acquired through the method. - - - Releases all resources used by the current instance of the class. - - - Determines whether the flow of the security context has been suppressed. - - if the flow has been suppressed; otherwise, . - - - Determines whether the flow of the Windows identity portion of the current security context has been suppressed. - - if the flow has been suppressed; otherwise, . - - - Restores the flow of the security context across asynchronous threads. - The security context is or an empty string. - - - Runs the specified method in the specified security context on the current thread. - The security context to set. - The delegate that represents the method to run in the specified security context. - The object to pass to the callback method. - - is .-or- - was not acquired through a capture operation. -or- - has already been used as the argument to a method call. - - - Suppresses the flow of the security context across asynchronous threads. - An structure for restoring the flow. - - - Suppresses the flow of the Windows identity portion of the current security context across asynchronous threads. - A structure for restoring the flow. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified scope. - One of the enumeration values that specifies the scope of the attribute. - - - Initializes a new instance of the class with the specified tag. - The tag name of an XML element. - The parameter is . - The parameter is invalid in XML. - - - Initializes a new instance of the class with the specified tag and text. - The tag name of the XML element. - The text content within the element. - The parameter is . - The parameter or parameter is invalid in XML. - - - Adds a name/value attribute to an XML element. - The name of the attribute. - The value of the attribute. - The parameter or parameter is . - The parameter or parameter is invalid in XML.-or- An attribute with the name specified by the parameter already exists. - - - Adds a child element to the XML element. - The child element to add. - The parameter is . - - - Finds an attribute by name in an XML element. - The name of the attribute for which to search. - The value associated with the named attribute, or if no attribute with exists. - The parameter is . - - - Creates and returns an identical copy of the current object. - A copy of the current object. - - - Compares two XML element objects for equality. - An XML element object to which to compare the current XML element object. - - if the tag, attribute names and values, child elements, and text fields in the current XML element are identical to their counterparts in the parameter; otherwise, . - - - Replaces invalid XML characters in a string with their valid XML equivalent. - The string within which to escape invalid characters. - The input string with invalid characters replaced. - - - Creates a security element from an XML-encoded string. - The XML-encoded string from which to create the security element. - A created from the XML. - - contains one or more single quotation mark characters. - - is. - - - Determines whether a string is a valid attribute name. - The attribute name to test for validity. - - if the parameter is a valid XML attribute name; otherwise, . - - - Determines whether a string is a valid attribute value. - The attribute value to test for validity. - - if the parameter is a valid XML attribute value; otherwise, . - - - Determines whether a string is a valid tag. - The tag to test for validity. - - if the parameter is a valid XML tag; otherwise, . - - - Determines whether a string is valid as text within an XML element. - The text to test for validity. - - if the parameter is a valid XML text element; otherwise, . - - - Finds a child by its tag name. - The tag for which to search in child elements. - The first child XML element with the specified tag value, or if no child element with exists. - The parameter is . - - - Finds a child by its tag name and returns the contained text. - The tag for which to search in child elements. - The text contents of the first child element with the specified tag value. - - is . - - - Produces a string representation of an XML element and its constituent attributes, child elements, and text. - The XML element and its contents. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - is. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class for an exception caused by a Deny on the stack. - The error message that explains the reason for the exception. - The denied permission or permission set. - The permit-only permission or permission set. - A that identifies the method that encountered the exception. - The demanded permission, permission set, or permission set collection. - An that identifies the permission that failed. - - - Initializes a new instance of the class for an exception caused by an insufficient grant set. - The error message that explains the reason for the exception. - An that specifies the name of the assembly that caused the exception. - A that represents the permissions granted the assembly. - A that represents the refused permission or permission set. - A that represents the method that encountered the exception. - One of the values. - The demanded permission, permission set, or permission set collection. - An that represents the permission that failed. - The for the assembly that caused the exception. - - - Initializes a new instance of the class with a specified error message and the permission type that caused the exception to be thrown. - The error message that explains the reason for the exception. - The type of the permission that caused the exception to be thrown. - - - Initializes a new instance of the class with a specified error message, the permission type that caused the exception to be thrown, and the permission state. - The error message that explains the reason for the exception. - The type of the permission that caused the exception to be thrown. - The state of the permission that caused the exception to be thrown. - - - Sets the with information about the . - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is . - - - Returns a representation of the current . - A string representation of the current . - - - Determines whether the current thread requires a security context capture if its security state has to be re-created at a later point in time. - - if the stack contains no partially trusted application domains, no partially trusted assemblies, and no currently active or modifiers; if the common language runtime cannot guarantee that the stack contains none of these. - - - Gets a permission set that is safe to grant to an application that has the provided evidence. - The host evidence to match to a permission set. - A permission set that can be used as a grant set for the application that has the provided evidence. - - is . - - - Gets the granted zone identity and URL identity permission sets for the current assembly. - An output parameter that contains an of granted objects. - An output parameter that contains an of granted objects. - The request for failed. - - - Determines whether a permission is granted to the caller. - The permission to test against the grant of the caller. - - if the permissions granted to the caller include the permission ; otherwise, . - - - Loads a from the specified file. - The physical file path to a file containing the security policy information. - One of the enumeration values that specifies the type of the policy level to be loaded. - The loaded policy level. - The parameter is . - The file indicated by the parameter does not exist. - The code that calls this method does not have .-or- The code that calls this method does not have .-or- The code that calls this method does not have .-or- The code that calls this method does not have . - This method uses code access security (CAS) policy, which is obsolete in the .NET Framework 4. To enable CAS policy for compatibility with earlier versions of the .NET Framework, use the <legacyCasPolicy> element. - - - Loads a from the specified string. - The XML representation of a security policy level in the same form in which it appears in a configuration file. - One of the enumeration values that specifies the type of the policy level to be loaded. - The loaded policy level. - The parameter is . - The parameter is not valid. - The code that calls this method does not have . - - - Provides an enumerator to access the security policy hierarchy by levels, such as computer policy and user policy. - An enumerator for objects that compose the security policy hierarchy. - This method uses code access security (CAS) policy, which is obsolete in the .NET Framework 4. To enable CAS policy for compatibility with earlier versions of the .NET Framework, use the <legacyCasPolicy> element. - The code that calls this method does not have . - - - Determines what permissions to grant to code based on the specified evidence. - The evidence set used to evaluate policy. - The set of permissions that can be granted by the security system. - This method uses code access security (CAS) policy, which is obsolete in the .NET Framework 4. To enable CAS policy for compatibility with earlier versions of the .NET Framework, use the <legacyCasPolicy> element. - - - Determines what permissions to grant to code based on the specified evidence and requests. - The evidence set used to evaluate policy. - The required permissions the code needs to run. - The optional permissions that will be used if granted, but aren't required for the code to run. - The denied permissions that must never be granted to the code even if policy otherwise permits it. - An output parameter that contains the set of permissions not granted. - The set of permissions that would be granted by the security system. - This method uses code access security (CAS) policy, which is obsolete in the .NET Framework 4. To enable CAS policy for compatibility with earlier versions of the .NET Framework, use the <legacyCasPolicy> element. - Policy fails to grant the minimum required permissions specified by the parameter. - - - Determines what permissions to grant to code based on the specified evidence. - An array of evidence objects used to evaluate policy. - The set of permissions that is appropriate for all of the provided evidence. - This method uses code access security (CAS) policy, which is obsolete in the .NET Framework 4. To enable CAS policy for compatibility with earlier versions of the .NET Framework, use the <legacyCasPolicy> element. - - - Gets a collection of code groups matching the specified evidence. - The evidence set against which the policy is evaluated. - An enumeration of the set of code groups matching the evidence. - This method uses code access security (CAS) policy, which is obsolete in the .NET Framework 4. To enable CAS policy for compatibility with earlier versions of the .NET Framework, use the <legacyCasPolicy> element. - - - Determines which permissions to grant to code based on the specified evidence, excluding the policy for the level. - The evidence set used to evaluate policy. - The set of permissions that can be granted by the security system. - This method uses code access security (CAS) policy, which is obsolete in the .NET Framework 4. To enable CAS policy for compatibility with earlier versions of the .NET Framework, use the <legacyCasPolicy> element. - - - Saves the modified security policy state. - This method uses code access security (CAS) policy, which is obsolete in the .NET Framework 4. To enable CAS policy for compatibility with earlier versions of the .NET Framework, use the <legacyCasPolicy> element. - The code that calls this method does not have . - - - Saves a modified security policy level loaded with . - The policy level object to be saved. - The code that calls this method does not have . - This method uses code access security (CAS) policy, which is obsolete in the .NET Framework 4. To enable CAS policy for compatibility with earlier versions of the .NET Framework, use the <legacyCasPolicy> element. - - - Initializes a new instance of the class using the specified rule set value. - One of the enumeration values that specifies the transparency rules set. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - When overridden in a derived class, ensures that the state that is represented by is available on the host. - - - Gets a value that indicates whether the state for this implementation of the class is available on the current host. - - if the state is available; otherwise, . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with an explanatory message. - A message indicating the reason the exception occurred. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with the line number where the exception was detected. - The line number of the XML stream where the XML syntax error was detected. - - - Initializes a new instance of the class with a specified error message and the line number where the exception was detected. - The line number of the XML stream where the XML syntax error was detected. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Compares this instance to a specified object and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the specified object. - An object to compare, or . - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than .-or- This instance is not a number () and is a number. Zero This instance is equal to .-or- This instance and value are both not a number (), , or . Greater than zero This instance is greater than .-or- This instance is a number and is not a number ().-or- - is . - - is not a . - - - Compares this instance to a specified single-precision floating-point number and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the specified single-precision floating-point number. - A single-precision floating-point number to compare. - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than .-or- This instance is not a number () and is a number. Zero This instance is equal to .-or- Both this instance and are not a number (), , or . Greater than zero This instance is greater than .-or- This instance is a number and is not a number (). - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare with this instance. - - if is an instance of and equals the value of this instance; otherwise, . - - - Returns a value indicating whether this instance and a specified object represent the same value. - An object to compare with this instance. - - if is equal to this instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns the for value type . - The enumerated constant, . - - - Returns a value indicating whether the specified number evaluates to negative or positive infinity. - A single-precision floating-point number. - - if evaluates to or ; otherwise, . - - - Returns a value that indicates whether the specified value is not a number (). - A single-precision floating-point number. - - if evaluates to not a number (); otherwise, . - - - Returns a value indicating whether the specified number evaluates to negative infinity. - A single-precision floating-point number. - - if evaluates to ; otherwise, . - - - Returns a value indicating whether the specified number evaluates to positive infinity. - A single-precision floating-point number. - - if evaluates to ; otherwise, . - - - Returns a value that indicates whether two specified values are equal. - The first value to compare. - The second value to compare. - - if and are equal; otherwise, . - - - Returns a value that indicates whether a specified value is greater than another specified value. - The first value to compare. - The second value to compare. - - if is greater than ; otherwise, . - - - Returns a value that indicates whether a specified value is greater than or equal to another specified value. - The first value to compare. - The second value to compare. - - if is greater than or equal to ; otherwise, . - - - Returns a value that indicates whether two specified values are not equal. - The first value to compare. - The second value to compare. - - if and are not equal; otherwise, . - - - Returns a value that indicates whether a specified value is less than another specified value. - The first value to compare. - The second value to compare. - - if is less than ; otherwise, . - - - Returns a value that indicates whether a specified value is less than or equal to another specified value. - The first value to compare. - The second value to compare. - - if is less than or equal to ; otherwise, . - - - Converts the string representation of a number to its single-precision floating-point number equivalent. - A string that contains a number to convert. - A single-precision floating-point number equivalent to the numeric value or symbol specified in . - - is . - - does not represent a number in a valid format. - - represents a number less than or greater than . - - - Converts the string representation of a number in a specified style to its single-precision floating-point number equivalent. - A string that contains a number to convert. - A bitwise combination of enumeration values that indicates the style elements that can be present in . A typical value to specify is combined with . - A single-precision floating-point number that is equivalent to the numeric value or symbol specified in . - - is . - - is not a number in a valid format. - - represents a number that is less than or greater than . - - is not a value. -or- - includes the value. - - - Converts the string representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent. - A string that contains a number to convert. - A bitwise combination of enumeration values that indicates the style elements that can be present in . A typical value to specify is combined with . - An object that supplies culture-specific formatting information about . - A single-precision floating-point number equivalent to the numeric value or symbol specified in . - - is . - - does not represent a numeric value. - - is not a value. -or- - is the value. - - represents a number that is less than or greater than . - - - Converts the string representation of a number in a specified culture-specific format to its single-precision floating-point number equivalent. - A string that contains a number to convert. - An object that supplies culture-specific formatting information about . - A single-precision floating-point number equivalent to the numeric value or symbol specified in . - - is . - - does not represent a number in a valid format. - - represents a number less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - - if the value of the current instance is not zero; otherwise, . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - This conversion is not supported. Attempting to use this method throws an . - This parameter is ignored. - This conversion is not supported. No value is returned. - In all cases. - - - This conversion is not supported. Attempting to use this method throws an . - This parameter is ignored. - This conversion is not supported. No value is returned. - In all cases. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, unchanged. - - - For a description of this member, see . - The type to which to convert this value. - An object that supplies information about the format of the returned value. - The value of the current instance, converted to . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - Converts the numeric value of this instance to its equivalent string representation. - The string representation of the value of this instance. - - - Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information. - An object that supplies culture-specific formatting information. - The string representation of the value of this instance as specified by . - - - Converts the numeric value of this instance to its equivalent string representation, using the specified format. - A numeric format string. - The string representation of the value of this instance as specified by . - - is invalid. - - - Converts the numeric value of this instance to its equivalent string representation using the specified format and culture-specific format information. - A numeric format string. - An object that supplies culture-specific formatting information. - The string representation of the value of this instance as specified by and . - - - Converts the string representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent. A return value indicates whether the conversion succeeded or failed. - A string representing a number to convert. - A bitwise combination of enumeration values that indicates the permitted format of . A typical value to specify is combined with . - An object that supplies culture-specific formatting information about . - When this method returns, contains the single-precision floating-point number equivalent to the numeric value or symbol contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not in a format compliant with , represents a number less than or greater than , or if is not a valid combination of enumerated constants. This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - is not a value. -or- - is the value. - - - Converts the string representation of a number to its single-precision floating-point number equivalent. A return value indicates whether the conversion succeeded or failed. - A string representing a number to convert. - When this method returns, contains single-precision floating-point number equivalent to the numeric value or symbol contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not a number in a valid format, or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - - Initializes a new instance of the class, setting the property of the new instance to a system-supplied message that describes the error, such as "The requested operation caused a stack overflow." This message takes into account the current system culture. - - - Initializes a new instance of the class with a specified error message. - A that describes the error. The content of message is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class to the value indicated by a specified pointer to an array of Unicode characters. - A pointer to a null-terminated array of Unicode characters. - The current process does not have read access to all the addressed characters. - - specifies an array that contains an invalid Unicode character, or specifies an address less than 64000. - - - Initializes a new instance of the class to the value indicated by a specified pointer to an array of Unicode characters, a starting character position within that array, and a length. - A pointer to an array of Unicode characters. - The starting position within . - The number of characters within to use. - - or is less than zero, + cause a pointer overflow, or the current process does not have read access to all the addressed characters. - - specifies an array that contains an invalid Unicode character, or + specifies an address less than 64000. - - - Initializes a new instance of the class to the value indicated by a specified Unicode character repeated a specified number of times. - A Unicode character. - The number of times occurs. - - is less than zero. - - - Initializes a new instance of the class to the value indicated by an array of Unicode characters. - An array of Unicode characters. - - - Initializes a new instance of the class to the value indicated by an array of Unicode characters, a starting character position within that array, and a length. - An array of Unicode characters. - The starting position within . - The number of characters within to use. - - is . - - or is less than zero.-or- The sum of and is greater than the number of elements in . - - - Initializes a new instance of the class to the value indicated by a pointer to an array of 8-bit signed integers. - A pointer to a null-terminated array of 8-bit signed integers. The integers are interpreted using the current system code page encoding (that is, the encoding specified by ). - - is . - A new instance of could not be initialized using , assuming is encoded in ANSI. - The length of the new string to initialize, which is determined by the null termination character of , is too large to allocate. - - specifies an invalid address. - - - Initializes a new instance of the class to the value indicated by a specified pointer to an array of 8-bit signed integers, a starting position within that array, and a length. - A pointer to an array of 8-bit signed integers. The integers are interpreted using the current system code page encoding (that is, the encoding specified by ). - The starting position within . - The number of characters within to use. - - is . - - or is less than zero. -or-The address specified by + is too large for the current platform; that is, the address calculation overflowed. -or-The length of the new string to initialize is too large to allocate. - The address specified by + is less than 64K.-or- A new instance of could not be initialized using , assuming is encoded in ANSI. - - , , and collectively specify an invalid address. - - - Initializes a new instance of the class to the value indicated by a specified pointer to an array of 8-bit signed integers, a starting position within that array, a length, and an object. - A pointer to an array of 8-bit signed integers. - The starting position within . - The number of characters within to use. - An object that specifies how the array referenced by is encoded. If is , ANSI encoding is assumed. - - is . - - or is less than zero. -or-The address specified by + is too large for the current platform; that is, the address calculation overflowed. -or-The length of the new string to initialize is too large to allocate. - The address specified by + is less than 64K.-or- A new instance of could not be initialized using , assuming is encoded as specified by . - - , , and collectively specify an invalid address. - - - Returns a reference to this instance of . - This instance of . - - - Compares substrings of two specified objects and returns an integer that indicates their relative position in the sort order. - The first string to use in the comparison. - The position of the substring within . - The second string to use in the comparison. - The position of the substring within . - The maximum number of characters in the substrings to compare. - A 32-bit signed integer indicating the lexical relationship between the two comparands.Value Condition Less than zero The substring in precedes the substring in in the sort order. Zero The substrings occur in the same position in the sort order, or is zero. Greater than zero The substring in follows the substring in in the sort order. - - is greater than ..-or- - is greater than ..-or- - , , or is negative. -or-Either or is , and is greater than zero. - - - Compares substrings of two specified objects, ignoring or honoring their case, and returns an integer that indicates their relative position in the sort order. - The first string to use in the comparison. - The position of the substring within . - The second string to use in the comparison. - The position of the substring within . - The maximum number of characters in the substrings to compare. - - to ignore case during the comparison; otherwise, . - A 32-bit signed integer that indicates the lexical relationship between the two comparands.ValueCondition Less than zero The substring in precedes the substring in in the sort order. Zero The substrings occur in the same position in the sort order, or is zero. Greater than zero The substring in follows the substring in in the sort order. - - is greater than ..-or- - is greater than ..-or- - , , or is negative. -or-Either or is , and is greater than zero. - - - Compares substrings of two specified objects, ignoring or honoring their case and using culture-specific information to influence the comparison, and returns an integer that indicates their relative position in the sort order. - The first string to use in the comparison. - The position of the substring within . - The second string to use in the comparison. - The position of the substring within . - The maximum number of characters in the substrings to compare. - - to ignore case during the comparison; otherwise, . - An object that supplies culture-specific comparison information. - An integer that indicates the lexical relationship between the two comparands.Value Condition Less than zero The substring in precedes the substring in in the sort order. Zero The substrings occur in the same position in the sort order, or is zero. Greater than zero The substring in follows the substring in in the sort order. - - is greater than ..-or- - is greater than ..-or- - , , or is negative. -or-Either or is , and is greater than zero. - - is . - - - Compares substrings of two specified objects using the specified comparison options and culture-specific information to influence the comparison, and returns an integer that indicates the relationship of the two substrings to each other in the sort order. - The first string to use in the comparison. - The starting position of the substring within . - The second string to use in the comparison. - The starting position of the substring within . - The maximum number of characters in the substrings to compare. - An object that supplies culture-specific comparison information. - Options to use when performing the comparison (such as ignoring case or symbols). - An integer that indicates the lexical relationship between the two substrings, as shown in the following table.ValueConditionLess than zeroThe substring in precedes the substring in in the sort order.ZeroThe substrings occur in the same position in the sort order, or is zero.Greater than zeroThe substring in follows the substring in in the sort order. - - is not a value. - - is greater than .-or- - is greater than .-or- - , , or is negative.-or-Either or is , and is greater than zero. - - is . - - - Compares substrings of two specified objects using the specified rules, and returns an integer that indicates their relative position in the sort order. - The first string to use in the comparison. - The position of the substring within . - The second string to use in the comparison. - The position of the substring within . - The maximum number of characters in the substrings to compare. - One of the enumeration values that specifies the rules to use in the comparison. - A 32-bit signed integer that indicates the lexical relationship between the two comparands.Value Condition Less than zero The substring in precedes the substring in in the sort order.Zero The substrings occur in the same position in the sort order, or the parameter is zero. Greater than zero The substring in follllows the substring in in the sort order. - - is greater than ..-or- - is greater than ..-or- - , , or is negative. -or-Either or is , and is greater than zero. - - is not a value. - - - Compares two specified objects and returns an integer that indicates their relative position in the sort order. - The first string to compare. - The second string to compare. - A 32-bit signed integer that indicates the lexical relationship between the two comparands.Value Condition Less than zero - precedes in the sort order. Zero - occurs in the same position as in the sort order. Greater than zero - follows in the sort order. - - - Compares two specified objects, ignoring or honoring their case, and returns an integer that indicates their relative position in the sort order. - The first string to compare. - The second string to compare. - - to ignore case during the comparison; otherwise, . - A 32-bit signed integer that indicates the lexical relationship between the two comparands.Value Condition Less than zero - precedes in the sort order. Zero - occurs in the same position as in the sort order. Greater than zero - follows in the sort order. - - - Compares two specified objects, ignoring or honoring their case, and using culture-specific information to influence the comparison, and returns an integer that indicates their relative position in the sort order. - The first string to compare. - The second string to compare. - - to ignore case during the comparison; otherwise, . - An object that supplies culture-specific comparison information. - A 32-bit signed integer that indicates the lexical relationship between the two comparands.Value Condition Less than zero - precedes in the sort order. Zero - occurs in the same position as in the sort order. Greater than zero - follows in the sort order. - - is . - - - Compares two specified objects using the specified comparison options and culture-specific information to influence the comparison, and returns an integer that indicates the relationship of the two strings to each other in the sort order. - The first string to compare. - The second string to compare. - The culture that supplies culture-specific comparison information. - Options to use when performing the comparison (such as ignoring case or symbols). - A 32-bit signed integer that indicates the lexical relationship between and , as shown in the following tableValueConditionLess than zero - precedes in the sort order. Zero - occurs in the same position as in the sort order. Greater than zero - follows in the sort order. - - is not a value. - - is . - - - Compares two specified objects using the specified rules, and returns an integer that indicates their relative position in the sort order. - The first string to compare. - The second string to compare. - One of the enumeration values that specifies the rules to use in the comparison. - A 32-bit signed integer that indicates the lexical relationship between the two comparands.Value Condition Less than zero - precedes in the sort order. Zero - is in the same position as in the sort order. Greater than zero - follows in the sort order. - - is not a value. - - is not supported. - - - Compares substrings of two specified objects by evaluating the numeric values of the corresponding objects in each substring. - The first string to use in the comparison. - The starting index of the substring in . - The second string to use in the comparison. - The starting index of the substring in . - The maximum number of characters in the substrings to compare. - A 32-bit signed integer that indicates the lexical relationship between the two comparands.ValueConditionLess than zero The substring in is less than the substring in . Zero The substrings are equal, or is zero. Greater than zero The substring in is greater than the substring in . - - is not and is greater than ..-or- - is not and is greater than ..-or- - , , or is negative. - - - Compares two specified objects by evaluating the numeric values of the corresponding objects in each string. - The first string to compare. - The second string to compare. - An integer that indicates the lexical relationship between the two comparands.ValueCondition Less than zero - is less than . Zero - and are equal. Greater than zero - is greater than . - - - Compares this instance with a specified and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified . - An object that evaluates to a . - A 32-bit signed integer that indicates whether this instance precedes, follows, or appears in the same position in the sort order as the parameter.Value Condition Less than zero This instance precedes . Zero This instance has the same position in the sort order as . Greater than zero This instance follows .-or- - is . - - is not a . - - - Compares this instance with a specified object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified string. - The string to compare with this instance. - A 32-bit signed integer that indicates whether this instance precedes, follows, or appears in the same position in the sort order as the parameter.Value Condition Less than zero This instance precedes . Zero This instance has the same position in the sort order as . Greater than zero This instance follows .-or- - is . - - - Concatenates the members of a constructed collection of type . - A collection object that implements and whose generic type argument is . - The concatenated strings in , or if is an empty . - - is . - - - Creates the string representation of a specified object. - The object to represent, or . - The string representation of the value of , or if is . - - - Concatenates the string representations of two specified objects. - The first object to concatenate. - The second object to concatenate. - The concatenated string representations of the values of and . - - - Concatenates the string representations of three specified objects. - The first object to concatenate. - The second object to concatenate. - The third object to concatenate. - The concatenated string representations of the values of , , and . - - - Concatenates the string representations of four specified objects and any objects specified in an optional variable length parameter list. - The first object to concatenate. - The second object to concatenate. - The third object to concatenate. - The fourth object to concatenate. - An optional comma-delimited list of one or more additional objects to concatenate. - The concatenated string representation of each value in the parameter list. - - - Concatenates the string representations of the elements in a specified array. - An object array that contains the elements to concatenate. - The concatenated string representations of the values of the elements in . - - is . - Out of memory. - - - Concatenates two specified instances of . - The first string to concatenate. - The second string to concatenate. - The concatenation of and . - - - Concatenates three specified instances of . - The first string to concatenate. - The second string to concatenate. - The third string to concatenate. - The concatenation of , , and . - - - Concatenates four specified instances of . - The first string to concatenate. - The second string to concatenate. - The third string to concatenate. - The fourth string to concatenate. - The concatenation of , , , and . - - - Concatenates the elements of a specified array. - An array of string instances. - The concatenated elements of . - - is . - Out of memory. - - - Concatenates the members of an implementation. - A collection object that implements the interface. - The type of the members of . - The concatenated members in . - - is . - - - Returns a value indicating whether a specified substring occurs within this string. - The string to seek. - - if the parameter occurs within this string, or if is the empty string (""); otherwise, . - - is . - - - Creates a new instance of with the same value as a specified . - The string to copy. - A new string with the same value as . - - is . - - - Copies a specified number of characters from a specified position in this instance to a specified position in an array of Unicode characters. - The index of the first character in this instance to copy. - An array of Unicode characters to which characters in this instance are copied. - The index in at which the copy operation begins. - The number of characters in this instance to copy to . - - is . - - , , or is negative -or- - does not identify a position in the current instance. -or- - does not identify a valid index in the array. -or- - is greater than the length of the substring from to the end of this instance -or- - is greater than the length of the subarray from to the end of the array. - - - Determines whether the end of this string instance matches the specified string. - The string to compare to the substring at the end of this instance. - - if matches the end of this instance; otherwise, . - - is . - - - Determines whether the end of this string instance matches the specified string when compared using the specified culture. - The string to compare to the substring at the end of this instance. - - to ignore case during the comparison; otherwise, . - Cultural information that determines how this instance and are compared. If is , the current culture is used. - - if the parameter matches the end of this string; otherwise, . - - is . - - - Determines whether the end of this string instance matches the specified string when compared using the specified comparison option. - The string to compare to the substring at the end of this instance. - One of the enumeration values that determines how this string and are compared. - - if the parameter matches the end of this string; otherwise, . - - is . - - is not a value. - - - Determines whether this instance and a specified object, which must also be a object, have the same value. - The string to compare to this instance. - - if is a and its value is the same as this instance; otherwise, . If is , the method returns . - - - Determines whether this instance and another specified object have the same value. - The string to compare to this instance. - - if the value of the parameter is the same as the value of this instance; otherwise, . If is , the method returns . - - - Determines whether two specified objects have the same value. - The first string to compare, or . - The second string to compare, or . - - if the value of is the same as the value of ; otherwise, . If both and are , the method returns . - - - Determines whether two specified objects have the same value. A parameter specifies the culture, case, and sort rules used in the comparison. - The first string to compare, or . - The second string to compare, or . - One of the enumeration values that specifies the rules for the comparison. - - if the value of the parameter is equal to the value of the parameter; otherwise, . - - is not a value. - - - Determines whether this string and a specified object have the same value. A parameter specifies the culture, case, and sort rules used in the comparison. - The string to compare to this instance. - One of the enumeration values that specifies how the strings will be compared. - - if the value of the parameter is the same as this string; otherwise, . - - is not a value. - - - Replaces the format item or items in a specified string with the string representation of the corresponding object. A parameter supplies culture-specific formatting information. - An object that supplies culture-specific formatting information. - A composite format string. - The object to format. - A copy of in which the format item or items have been replaced by the string representation of . - - or is . - - is invalid.-or- The index of a format item is less than zero, or greater than or equal to one. - - - Replaces the format items in a specified string with the string representation of two specified objects. A parameter supplies culture-specific formatting information. - An object that supplies culture-specific formatting information. - A composite format string. - The first object to format. - The second object to format. - A copy of in which format items are replaced by the string representations of and . - - , , or is . - - is invalid.-or- The index of a format item is less than zero, or greater than or equal to two. - - - Replaces the format items in a specified string with the string representation of three specified objects. An parameter supplies culture-specific formatting information. - An object that supplies culture-specific formatting information. - A composite format string. - The first object to format. - The second object to format. - The third object to format. - A copy of in which the format items have been replaced by the string representations of , , and . - - , , , or is . - - is invalid.-or- The index of a format item is less than zero, or greater than or equal to three. - - - Replaces the format items in a specified string with the string representations of corresponding objects in a specified array. A parameter supplies culture-specific formatting information. - An object that supplies culture-specific formatting information. - A composite format string. - An object array that contains zero or more objects to format. - A copy of in which the format items have been replaced by the string representation of the corresponding objects in . - - or is . - - is invalid.-or- The index of a format item is less than zero, or greater than or equal to the length of the array. - - - Replaces one or more format items in a specified string with the string representation of a specified object. - A composite format string. - The object to format. - A copy of in which any format items are replaced by the string representation of . - - is . - The format item in is invalid.-or- The index of a format item is not zero. - - - Replaces the format items in a specified string with the string representation of two specified objects. - A composite format string. - The first object to format. - The second object to format. - A copy of in which format items are replaced by the string representations of and . - - is . - - is invalid.-or- The index of a format item is not zero or one. - - - Replaces the format items in a specified string with the string representation of three specified objects. - A composite format string. - The first object to format. - The second object to format. - The third object to format. - A copy of in which the format items have been replaced by the string representations of , , and . - - is . - - is invalid.-or- The index of a format item is less than zero, or greater than two. - - - Replaces the format item in a specified string with the string representation of a corresponding object in a specified array. - A composite format string. - An object array that contains zero or more objects to format. - A copy of in which the format items have been replaced by the string representation of the corresponding objects in . - - or is . - - is invalid.-or- The index of a format item is less than zero, or greater than or equal to the length of the array. - - - Retrieves an object that can iterate through the individual characters in this string. - An enumerator object. - - - Returns the hash code for this string. - A 32-bit signed integer hash code. - - - Returns the for class . - The enumerated constant, . - - - Reports the zero-based index of the first occurrence of the specified Unicode character in this string. - A Unicode character to seek. - The zero-based index position of if that character is found, or -1 if it is not. - - - Reports the zero-based index of the first occurrence of the specified Unicode character in this string. The search starts at a specified character position. - A Unicode character to seek. - The search starting position. - The zero-based index position of from the start of the string if that character is found, or -1 if it is not. - - is less than 0 (zero) or greater than the length of the string. - - - Reports the zero-based index of the first occurrence of the specified character in this instance. The search starts at a specified character position and examines a specified number of character positions. - A Unicode character to seek. - The search starting position. - The number of character positions to examine. - The zero-based index position of from the start of the string if that character is found, or -1 if it is not. - - or is negative.-or- - is greater than the length of this string.-or- - is greater than the length of this string minus . - - - Reports the zero-based index of the first occurrence of the specified string in this instance. - The string to seek. - The zero-based index position of if that string is found, or -1 if it is not. If is , the return value is 0. - - is . - - - Reports the zero-based index of the first occurrence of the specified string in this instance. The search starts at a specified character position. - The string to seek. - The search starting position. - The zero-based index position of from the start of the current instance if that string is found, or -1 if it is not. If is , the return value is . - - is . - - is less than 0 (zero) or greater than the length of this string. - - - Reports the zero-based index of the first occurrence of the specified string in this instance. The search starts at a specified character position and examines a specified number of character positions. - The string to seek. - The search starting position. - The number of character positions to examine. - The zero-based index position of from the start of the current instance if that string is found, or -1 if it is not. If is , the return value is . - - is . - - or is negative.-or- - is greater than the length of this string.-or- - is greater than the length of this string minus . - - - Reports the zero-based index of the first occurrence of the specified string in the current object. Parameters specify the starting search position in the current string, the number of characters in the current string to search, and the type of search to use for the specified string. - The string to seek. - The search starting position. - The number of character positions to examine. - One of the enumeration values that specifies the rules for the search. - The zero-based index position of the parameter from the start of the current instance if that string is found, or -1 if it is not. If is , the return value is . - - is . - - or is negative.-or- - is greater than the length of this instance.-or- - is greater than the length of this string minus . - - is not a valid value. - - - Reports the zero-based index of the first occurrence of the specified string in the current object. Parameters specify the starting search position in the current string and the type of search to use for the specified string. - The string to seek. - The search starting position. - One of the enumeration values that specifies the rules for the search. - The zero-based index position of the parameter from the start of the current instance if that string is found, or -1 if it is not. If is , the return value is . - - is . - - is less than 0 (zero) or greater than the length of this string. - - is not a valid value. - - - Reports the zero-based index of the first occurrence of the specified string in the current object. A parameter specifies the type of search to use for the specified string. - The string to seek. - One of the enumeration values that specifies the rules for the search. - The index position of the parameter if that string is found, or -1 if it is not. If is , the return value is 0. - - is . - - is not a valid value. - - - Reports the zero-based index of the first occurrence in this instance of any character in a specified array of Unicode characters. - A Unicode character array containing one or more characters to seek. - The zero-based index position of the first occurrence in this instance where any character in was found; -1 if no character in was found. - - is . - - - Reports the zero-based index of the first occurrence in this instance of any character in a specified array of Unicode characters. The search starts at a specified character position. - A Unicode character array containing one or more characters to seek. - The search starting position. - The zero-based index position of the first occurrence in this instance where any character in was found; -1 if no character in was found. - - is . - - is negative.-or- - is greater than the number of characters in this instance. - - - Reports the zero-based index of the first occurrence in this instance of any character in a specified array of Unicode characters. The search starts at a specified character position and examines a specified number of character positions. - A Unicode character array containing one or more characters to seek. - The search starting position. - The number of character positions to examine. - The zero-based index position of the first occurrence in this instance where any character in was found; -1 if no character in was found. - - is . - - or is negative.-or- - + is greater than the number of characters in this instance. - - - - Returns a new string in which a specified string is inserted at a specified index position in this instance. - The zero-based index position of the insertion. - The string to insert. - A new string that is equivalent to this instance, but with inserted at position . - - is . - - is negative or greater than the length of this instance. - - - Retrieves the system's reference to the specified . - A string to search for in the intern pool. - The system's reference to , if it is interned; otherwise, a new reference to a string with the value of . - - is . - - - Retrieves a reference to a specified . - The string to search for in the intern pool. - A reference to if it is in the common language runtime intern pool; otherwise, . - - is . - - - Indicates whether this string is in Unicode normalization form C. - - if this string is in normalization form C; otherwise, . - The current instance contains invalid Unicode characters. - - - Indicates whether this string is in the specified Unicode normalization form. - A Unicode normalization form. - - if this string is in the normalization form specified by the parameter; otherwise, . - The current instance contains invalid Unicode characters. - - - Indicates whether the specified string is or an string. - The string to test. - - if the parameter is or an empty string (""); otherwise, . - - - Indicates whether a specified string is , empty, or consists only of white-space characters. - The string to test. - - if the parameter is or , or if consists exclusively of white-space characters. - - - Concatenates the members of a constructed collection of type , using the specified separator between each member. - The string to use as a separator. is included in the returned string only if has more than one element. - A collection that contains the strings to concatenate. - A string that consists of the members of delimited by the string. If has no members, the method returns . - - is . - - - Concatenates the elements of an object array, using the specified separator between each element. - The string to use as a separator. is included in the returned string only if has more than one element. - An array that contains the elements to concatenate. - A string that consists of the elements of delimited by the string. If is an empty array, the method returns . - - is . - - - Concatenates all the elements of a string array, using the specified separator between each element. - The string to use as a separator. is included in the returned string only if has more than one element. - An array that contains the elements to concatenate. - A string that consists of the elements in delimited by the string. If is an empty array, the method returns . - - is . - - - Concatenates the specified elements of a string array, using the specified separator between each element. - The string to use as a separator. is included in the returned string only if has more than one element. - An array that contains the elements to concatenate. - The first element in to use. - The number of elements of to use. - A string that consists of the strings in delimited by the string. -or- - if is zero, has no elements, or and all the elements of are . - - is . - - or is less than 0.-or- - plus is greater than the number of elements in . - Out of memory. - - - Concatenates the members of a collection, using the specified separator between each member. - The string to use as a separator. is included in the returned string only if has more than one element. - A collection that contains the objects to concatenate. - The type of the members of . - A string that consists of the members of delimited by the string. If has no members, the method returns . - - is . - - - Reports the zero-based index position of the last occurrence of a specified Unicode character within this instance. - The Unicode character to seek. - The zero-based index position of if that character is found, or -1 if it is not. - - - Reports the zero-based index position of the last occurrence of a specified Unicode character within this instance. The search starts at a specified character position and proceeds backward toward the beginning of the string. - The Unicode character to seek. - The starting position of the search. The search proceeds from toward the beginning of this instance. - The zero-based index position of if that character is found, or -1 if it is not found or if the current instance equals . - - The current instance does not equal , and is less than zero or greater than or equal to the length of this instance. - - - Reports the zero-based index position of the last occurrence of the specified Unicode character in a substring within this instance. The search starts at a specified character position and proceeds backward toward the beginning of the string for a specified number of character positions. - The Unicode character to seek. - The starting position of the search. The search proceeds from toward the beginning of this instance. - The number of character positions to examine. - The zero-based index position of if that character is found, or -1 if it is not found or if the current instance equals . - - The current instance does not equal , and is less than zero or greater than or equal to the length of this instance.-or- - The current instance does not equal , and - + 1 is less than zero. - - - Reports the zero-based index position of the last occurrence of a specified string within this instance. - The string to seek. - The zero-based starting index position of if that string is found, or -1 if it is not. If is , the return value is the last index position in this instance. - - is . - - - Reports the zero-based index position of the last occurrence of a specified string within this instance. The search starts at a specified character position and proceeds backward toward the beginning of the string. - The string to seek. - The search starting position. The search proceeds from toward the beginning of this instance. - The zero-based starting index position of if that string is found, or -1 if it is not found or if the current instance equals . If is , the return value is the smaller of and the last index position in this instance. - - is . - - The current instance does not equal , and is less than zero or greater than the length of the current instance. -or-The current instance equals , and is less than -1 or greater than zero. - - - Reports the zero-based index position of the last occurrence of a specified string within this instance. The search starts at a specified character position and proceeds backward toward the beginning of the string for a specified number of character positions. - The string to seek. - The search starting position. The search proceeds from toward the beginning of this instance. - The number of character positions to examine. - The zero-based starting index position of if that string is found, or -1 if it is not found or if the current instance equals . If is , the return value is the smaller of and the last index position in this instance. - - is . - - is negative.-or- - The current instance does not equal , and is negative.-or- - The current instance does not equal , and is greater than the length of this instance.-or- - The current instance does not equal , and - + 1 specifies a position that is not within this instance. -or-The current instance equals and is less than -1 or greater than zero. -or-The current instance equals and is greater than 1. - - - Reports the zero-based index position of the last occurrence of a specified string within this instance. The search starts at a specified character position and proceeds backward toward the beginning of the string for the specified number of character positions. A parameter specifies the type of comparison to perform when searching for the specified string. - The string to seek. - The search starting position. The search proceeds from toward the beginning of this instance. - The number of character positions to examine. - One of the enumeration values that specifies the rules for the search. - The zero-based starting index position of the parameter if that string is found, or -1 if it is not found or if the current instance equals . If is , the return value is the smaller of and the last index position in this instance. - - is . - - is negative.-or- - The current instance does not equal , and is negative.-or- - The current instance does not equal , and is greater than the length of this instance.-or- - The current instance does not equal , and + 1 - specifies a position that is not within this instance. -or-The current instance equals and is less than -1 or greater than zero. -or-The current instance equals and is greater than 1. - - is not a valid value. - - - Reports the zero-based index of the last occurrence of a specified string within the current object. The search starts at a specified character position and proceeds backward toward the beginning of the string. A parameter specifies the type of comparison to perform when searching for the specified string. - The string to seek. - The search starting position. The search proceeds from toward the beginning of this instance. - One of the enumeration values that specifies the rules for the search. - The zero-based starting index position of the parameter if that string is found, or -1 if it is not found or if the current instance equals . If is , the return value is the smaller of and the last index position in this instance. - - is . - - The current instance does not equal , and is less than zero or greater than the length of the current instance. -or-The current instance equals , and is less than -1 or greater than zero. - - is not a valid value. - - - Reports the zero-based index of the last occurrence of a specified string within the current object. A parameter specifies the type of search to use for the specified string. - The string to seek. - One of the enumeration values that specifies the rules for the search. - The zero-based starting index position of the parameter if that string is found, or -1 if it is not. If is , the return value is the last index position in this instance. - - is . - - is not a valid value. - - - Reports the zero-based index position of the last occurrence in this instance of one or more characters specified in a Unicode array. - A Unicode character array containing one or more characters to seek. - The index position of the last occurrence in this instance where any character in was found; -1 if no character in was found. - - is . - - - Reports the zero-based index position of the last occurrence in this instance of one or more characters specified in a Unicode array. The search starts at a specified character position and proceeds backward toward the beginning of the string. - A Unicode character array containing one or more characters to seek. - The search starting position. The search proceeds from toward the beginning of this instance. - The index position of the last occurrence in this instance where any character in was found; -1 if no character in was found or if the current instance equals . - - is . - - The current instance does not equal , and specifies a position that is not within this instance. - - - Reports the zero-based index position of the last occurrence in this instance of one or more characters specified in a Unicode array. The search starts at a specified character position and proceeds backward toward the beginning of the string for a specified number of character positions. - A Unicode character array containing one or more characters to seek. - The search starting position. The search proceeds from toward the beginning of this instance. - The number of character positions to examine. - The index position of the last occurrence in this instance where any character in was found; -1 if no character in was found or if the current instance equals . - - is . - - The current instance does not equal , and or is negative.-or- - The current instance does not equal , and minus + 1 is less than zero. - - - Returns a new string whose textual value is the same as this string, but whose binary representation is in Unicode normalization form C. - A new, normalized string whose textual value is the same as this string, but whose binary representation is in normalization form C. - The current instance contains invalid Unicode characters. - - - Returns a new string whose textual value is the same as this string, but whose binary representation is in the specified Unicode normalization form. - A Unicode normalization form. - A new string whose textual value is the same as this string, but whose binary representation is in the normalization form specified by the parameter. - The current instance contains invalid Unicode characters. - - - Determines whether two specified strings have the same value. - The first string to compare, or . - The second string to compare, or . - - if the value of is the same as the value of ; otherwise, . - - - Determines whether two specified strings have different values. - The first string to compare, or . - The second string to compare, or . - - if the value of is different from the value of ; otherwise, . - - - Returns a new string that right-aligns the characters in this instance by padding them with spaces on the left, for a specified total length. - The number of characters in the resulting string, equal to the number of original characters plus any additional padding characters. - A new string that is equivalent to this instance, but right-aligned and padded on the left with as many spaces as needed to create a length of . However, if is less than the length of this instance, the method returns a reference to the existing instance. If is equal to the length of this instance, the method returns a new string that is identical to this instance. - - is less than zero. - - - Returns a new string that right-aligns the characters in this instance by padding them on the left with a specified Unicode character, for a specified total length. - The number of characters in the resulting string, equal to the number of original characters plus any additional padding characters. - A Unicode padding character. - A new string that is equivalent to this instance, but right-aligned and padded on the left with as many characters as needed to create a length of . However, if is less than the length of this instance, the method returns a reference to the existing instance. If is equal to the length of this instance, the method returns a new string that is identical to this instance. - - is less than zero. - - - Returns a new string that left-aligns the characters in this string by padding them with spaces on the right, for a specified total length. - The number of characters in the resulting string, equal to the number of original characters plus any additional padding characters. - A new string that is equivalent to this instance, but left-aligned and padded on the right with as many spaces as needed to create a length of . However, if is less than the length of this instance, the method returns a reference to the existing instance. If is equal to the length of this instance, the method returns a new string that is identical to this instance. - - is less than zero. - - - Returns a new string that left-aligns the characters in this string by padding them on the right with a specified Unicode character, for a specified total length. - The number of characters in the resulting string, equal to the number of original characters plus any additional padding characters. - A Unicode padding character. - A new string that is equivalent to this instance, but left-aligned and padded on the right with as many characters as needed to create a length of . However, if is less than the length of this instance, the method returns a reference to the existing instance. If is equal to the length of this instance, the method returns a new string that is identical to this instance. - - is less than zero. - - - - Returns a new string in which all the characters in the current instance, beginning at a specified position and continuing through the last position, have been deleted. - The zero-based position to begin deleting characters. - A new string that is equivalent to this string except for the removed characters. - - is less than zero.-or- - specifies a position that is not within this string. - - - - Returns a new string in which a specified number of characters in the current instance beginning at a specified position have been deleted. - The zero-based position to begin deleting characters. - The number of characters to delete. - A new string that is equivalent to this instance except for the removed characters. - Either or is less than zero.-or- - plus specify a position outside this instance. - - - Returns a new string in which all occurrences of a specified Unicode character in this instance are replaced with another specified Unicode character. - The Unicode character to be replaced. - The Unicode character to replace all occurrences of . - A string that is equivalent to this instance except that all instances of are replaced with . If is not found in the current instance, the method returns the current instance unchanged. - - - Returns a new string in which all occurrences of a specified string in the current instance are replaced with another specified string. - The string to be replaced. - The string to replace all occurrences of . - A string that is equivalent to the current string except that all instances of are replaced with . If is not found in the current instance, the method returns the current instance unchanged. - - is . - - is the empty string (""). - - - Splits a string into substrings that are based on the characters in an array. - A character array that delimits the substrings in this string, an empty array that contains no delimiters, or . - An array whose elements contain the substrings from this instance that are delimited by one or more characters in . For more information, see the Remarks section. - - - Splits a string into a maximum number of substrings based on the characters in an array. You also specify the maximum number of substrings to return. - A character array that delimits the substrings in this string, an empty array that contains no delimiters, or . - The maximum number of substrings to return. - An array whose elements contain the substrings in this instance that are delimited by one or more characters in . For more information, see the Remarks section. - - is negative. - - - Splits a string into a maximum number of substrings based on the characters in an array. - A character array that delimits the substrings in this string, an empty array that contains no delimiters, or . - The maximum number of substrings to return. - - to omit empty array elements from the array returned; or to include empty array elements in the array returned. - An array whose elements contain the substrings in this string that are delimited by one or more characters in . For more information, see the Remarks section. - - is negative. - - is not one of the values. - - - Splits a string into substrings based on the characters in an array. You can specify whether the substrings include empty array elements. - A character array that delimits the substrings in this string, an empty array that contains no delimiters, or . - - to omit empty array elements from the array returned; or to include empty array elements in the array returned. - An array whose elements contain the substrings in this string that are delimited by one or more characters in . For more information, see the Remarks section. - - is not one of the values. - - - Splits a string into a maximum number of substrings based on the strings in an array. You can specify whether the substrings include empty array elements. - A string array that delimits the substrings in this string, an empty array that contains no delimiters, or . - The maximum number of substrings to return. - - to omit empty array elements from the array returned; or to include empty array elements in the array returned. - An array whose elements contain the substrings in this string that are delimited by one or more strings in . For more information, see the Remarks section. - - is negative. - - is not one of the values. - - - Splits a string into substrings based on the strings in an array. You can specify whether the substrings include empty array elements. - A string array that delimits the substrings in this string, an empty array that contains no delimiters, or . - - to omit empty array elements from the array returned; or to include empty array elements in the array returned. - An array whose elements contain the substrings in this string that are delimited by one or more strings in . For more information, see the Remarks section. - - is not one of the values. - - - Determines whether the beginning of this string instance matches the specified string. - The string to compare. - - if matches the beginning of this string; otherwise, . - - is . - - - Determines whether the beginning of this string instance matches the specified string when compared using the specified culture. - The string to compare. - - to ignore case during the comparison; otherwise, . - Cultural information that determines how this string and are compared. If is , the current culture is used. - - if the parameter matches the beginning of this string; otherwise, . - - is . - - - Determines whether the beginning of this string instance matches the specified string when compared using the specified comparison option. - The string to compare. - One of the enumeration values that determines how this string and are compared. - - if this instance begins with ; otherwise, . - - is . - - is not a value. - - - Retrieves a substring from this instance. The substring starts at a specified character position and continues to the end of the string. - The zero-based starting character position of a substring in this instance. - A string that is equivalent to the substring that begins at in this instance, or if is equal to the length of this instance. - - is less than zero or greater than the length of this instance. - - - Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length. - The zero-based starting character position of a substring in this instance. - The number of characters in the substring. - A string that is equivalent to the substring of length that begins at in this instance, or if is equal to the length of this instance and is zero. - - plus indicates a position not within this instance.-or- - or is less than zero. - - - Returns an enumerator that iterates through the current object. - A strongly-typed enumerator that can be used to iterate through the current object. - - - Returns an enumerator that iterates through the current object. - An enumerator that can be used to iterate through the current string. - - - For a description of this member, see . - This parameter is ignored. - - if the value of the current string is ; if the value of the current string is . - The value of the current string is not or . - - - For a description of this member, see . - An object that provides culture-specific formatting information. - The converted value of the current object. - The value of the current object cannot be parsed. - The value of the current object is a number greater than or less than . - - - For a description of this member, see . - An object that provides culture-specific formatting information. - The character at index 0 in the current object. - - - For a description of this member, see . - An object that provides culture-specific formatting information. - The converted value of the current object. - - - For a description of this member, see . - An object that provides culture-specific formatting information. - The converted value of the current object. - The value of the current object cannot be parsed. - The value of the current object is a number less than or than greater. - - - For a description of this member, see . - An object that provides culture-specific formatting information. - The converted value of the current object. - The value of the current object cannot be parsed. - The value of the current object is a number less than or greater than . - - - For a description of this member, see . - An object that provides culture-specific formatting information. - The converted value of the current object. - The value of the current object cannot be parsed. - The value of the current object is a number greater than or less than . - - - For a description of this member, see . - An object that provides culture-specific formatting information. - The converted value of the current object. - - - For a description of this member, see . - An object that provides culture-specific formatting information. - The converted value of the current object. - - - For a description of this member, see . - An object that provides culture-specific formatting information. - The converted value of the current object. - The value of the current object cannot be parsed. - The value of the current object is a number greater than or less than . - - - For a description of this member, see . - An object that provides culture-specific formatting information. - The converted value of the current object. - - - For a description of this member, see . - The type of the returned object. - An object that provides culture-specific formatting information. - The converted value of the current object. - - is . - The value of the current object cannot be converted to the type specified by the parameter. - - - For a description of this member, see . - An object that provides culture-specific formatting information. - The converted value of the current object. - The value of the current object cannot be parsed. - The value of the current object is a number greater than or less than . - - - For a description of this member, see . - An object that provides culture-specific formatting information. - The converted value of the current object. - The value of the current object cannot be parsed. - The value of the current object is a number greater or less than - - - For a description of this member, see . - An object that provides culture-specific formatting information. - The converted value of the current object. - - - Copies the characters in this instance to a Unicode character array. - A Unicode character array whose elements are the individual characters of this instance. If this instance is an empty string, the returned array is empty and has a zero length. - - - Copies the characters in a specified substring in this instance to a Unicode character array. - The starting position of a substring in this instance. - The length of the substring in this instance. - A Unicode character array whose elements are the number of characters in this instance starting from character position . - - or is less than zero.-or- - plus is greater than the length of this instance. - - - Returns a copy of this string converted to lowercase. - A string in lowercase. - - - Returns a copy of this string converted to lowercase, using the casing rules of the specified culture. - An object that supplies culture-specific casing rules. - The lowercase equivalent of the current string. - - is . - - - Returns a copy of this object converted to lowercase using the casing rules of the invariant culture. - The lowercase equivalent of the current string. - - - Returns this instance of ; no actual conversion is performed. - The current string. - - - Returns this instance of ; no actual conversion is performed. - (Reserved) An object that supplies culture-specific formatting information. - The current string. - - - Returns a copy of this string converted to uppercase. - The uppercase equivalent of the current string. - - - Returns a copy of this string converted to uppercase, using the casing rules of the specified culture. - An object that supplies culture-specific casing rules. - The uppercase equivalent of the current string. - - is . - - - Returns a copy of this object converted to uppercase using the casing rules of the invariant culture. - The uppercase equivalent of the current string. - - - Removes all leading and trailing white-space characters from the current object. - The string that remains after all white-space characters are removed from the start and end of the current string. If no characters can be trimmed from the current instance, the method returns the current instance unchanged. - - - Removes all leading and trailing occurrences of a set of characters specified in an array from the current object. - An array of Unicode characters to remove, or . - The string that remains after all occurrences of the characters in the parameter are removed from the start and end of the current string. If is or an empty array, white-space characters are removed instead. If no characters can be trimmed from the current instance, the method returns the current instance unchanged. - - - Removes all trailing occurrences of a set of characters specified in an array from the current object. - An array of Unicode characters to remove, or . - The string that remains after all occurrences of the characters in the parameter are removed from the end of the current string. If is or an empty array, Unicode white-space characters are removed instead. If no characters can be trimmed from the current instance, the method returns the current instance unchanged. - - - Removes all leading occurrences of a set of characters specified in an array from the current object. - An array of Unicode characters to remove, or . - The string that remains after all occurrences of characters in the parameter are removed from the start of the current string. If is or an empty array, white-space characters are removed instead. - - - Initializes a new instance of the class. - - - When overridden in a derived class, compares two objects and returns an indication of their relative sort order. - An object to compare to . - An object to compare to . - A signed integer that indicates the relative values of and , as shown in the following table.ValueMeaningLess than zero - precedes in the sort order. -or- - is and is not .Zero - is equal to .-or- - and are both . Greater than zero - follows in the sort order.-or- - is and is not . - Neither nor is a object, and neither nor implements the interface. - - - When overridden in a derived class, compares two strings and returns an indication of their relative sort order. - A string to compare to . - A string to compare to . - A signed integer that indicates the relative values of and , as shown in the following table.ValueMeaningLess than zero - precedes in the sort order.-or- - is and is not .Zero - is equal to .-or- - and are both . Greater than zero - follows in the sort order.-or- - is and is not . - - - Creates a object that compares strings according to the rules of a specified culture. - A culture whose linguistic rules are used to perform a string comparison. - - to specify that comparison operations be case-insensitive; to specify that comparison operations be case-sensitive. - A new object that performs string comparisons according to the comparison rules used by the parameter and the case rule specified by the parameter. - - is . - - - When overridden in a derived class, indicates whether two objects are equal. - An object to compare to . - An object to compare to . - - if and refer to the same object, or and are both the same type of object and those objects are equal, or both and are ; otherwise, . - - - When overridden in a derived class, indicates whether two strings are equal. - A string to compare to . - A string to compare to . - - if and refer to the same object, or and are equal, or and are ; otherwise, . - - - When overridden in a derived class, gets the hash code for the specified object. - An object. - A 32-bit signed hash code calculated from the value of the parameter. - Not enough memory is available to allocate the buffer that is required to compute the hash code. - - is . - - - When overridden in a derived class, gets the hash code for the specified string. - A string. - A 32-bit signed hash code calculated from the value of the parameter. - Not enough memory is available to allocate the buffer that is required to compute the hash code. - - is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Calculates the number of bytes produced by encoding a set of characters starting at the specified character pointer. - A pointer to the first character to encode. - The number of characters to encode. - The number of bytes produced by encoding the specified characters. - - is . - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the number of bytes produced by encoding a set of characters from the specified character array. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The number of bytes produced by encoding the specified characters. - - is . - - or is less than zero.-or- - and do not denote a valid range in .-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the number of bytes produced by encoding the characters in the specified . - The containing the set of characters to encode. - The number of bytes produced by encoding the specified characters. - - is . - The resulting number of bytes is greater than the maximum number that can be returned as an integer. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Encodes a set of characters starting at the specified character pointer into a sequence of bytes that are stored starting at the specified byte pointer. - A pointer to the first character to encode. - The number of characters to encode. - A pointer to the location at which to start writing the resulting sequence of bytes. - The maximum number of bytes to write. - The actual number of bytes written at the location indicated by . - - is .-or- - is . - - or is less than zero. - - is less than the resulting number of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Encodes a set of characters from the specified character array into the specified byte array. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - The actual number of bytes written into . - - is .-or- - is . - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - - does not have enough capacity from to the end of the array to accommodate the resulting bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Encodes a set of characters from the specified into the specified byte array. - The containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - The actual number of bytes written into . - - is .-or- - is . - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - - does not have enough capacity from to the end of the array to accommodate the resulting bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer. - A pointer to the first byte to decode. - The number of bytes to decode. - The number of characters produced by decoding the specified sequence of bytes. - - is . - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The number of characters produced by decoding the specified sequence of bytes. - - is . - - or is less than zero.-or- - and do not denote a valid range in .-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Decodes a sequence of bytes starting at the specified byte pointer into a set of characters that are stored starting at the specified character pointer. - A pointer to the first byte to decode. - The number of bytes to decode. - A pointer to the location at which to start writing the resulting set of characters. - The maximum number of characters to write. - The actual number of characters written at the location indicated by . - - is .-or- - is . - - or is less than zero. - - is less than the resulting number of characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Decodes a sequence of bytes from the specified byte array into the specified character array. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The character array to contain the resulting set of characters. - The index at which to start writing the resulting set of characters. - The actual number of characters written into . - - is .-or- - is . - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - - does not have enough capacity from to the end of the array to accommodate the resulting characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Obtains a decoder that converts an ASCII encoded sequence of bytes into a sequence of Unicode characters. - A that converts an ASCII encoded sequence of bytes into a sequence of Unicode characters. - - - Obtains an encoder that converts a sequence of Unicode characters into an ASCII encoded sequence of bytes. - An that converts a sequence of Unicode characters into an ASCII encoded sequence of bytes. - - - Calculates the maximum number of bytes produced by encoding the specified number of characters. - The number of characters to encode. - The maximum number of bytes produced by encoding the specified number of characters. - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - - - Calculates the maximum number of characters produced by decoding the specified number of bytes. - The number of bytes to decode. - The maximum number of characters produced by decoding the specified number of bytes. - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - - - Decodes a range of bytes from a byte array into a string. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - A containing the results of decoding the specified sequence of bytes. - - is . - - or is less than zero.-or- - and do not denote a valid range in . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Initializes a new instance of the class. - - - Converts a buffer of encoded bytes to UTF-16 encoded characters and stores the result in another buffer. - The address of a buffer that contains the byte sequences to convert. - The number of bytes in to convert. - The address of a buffer to store the converted characters. - The maximum number of characters in to use in the conversion. - - to indicate no further data is to be converted; otherwise, . - When this method returns, contains the number of bytes that were produced by the conversion. This parameter is passed uninitialized. - When this method returns, contains the number of characters from that were used in the conversion. This parameter is passed uninitialized. - When this method returns, contains if all the characters specified by were converted; otherwise, . This parameter is passed uninitialized. - - or is (). - - or is less than zero. - The output buffer is too small to contain any of the converted input. The output buffer should be greater than or equal to the size indicated by the method. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Converts an array of encoded bytes to UTF-16 encoded characters and stores the result in a character array. - A byte array to convert. - The first element of to convert. - The number of elements of to convert. - An array to store the converted characters. - The first element of in which data is stored. - The maximum number of elements of to use in the conversion. - - to indicate that no further data is to be converted; otherwise, . - When this method returns, contains the number of bytes that were used in the conversion. This parameter is passed uninitialized. - When this method returns, contains the number of characters from that were produced by the conversion. This parameter is passed uninitialized. - When this method returns, contains if all the characters specified by were converted; otherwise, . This parameter is passed uninitialized. - - or is (). - - , , , or is less than zero.-or-The length of - is less than .-or-The length of - is less than . - The output buffer is too small to contain any of the converted input. The output buffer should be greater than or equal to the size indicated by the method. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - When overridden in a derived class, calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer. A parameter indicates whether to clear the internal state of the decoder after the calculation. - A pointer to the first byte to decode. - The number of bytes to decode. - - to simulate clearing the internal state of the encoder after the calculation; otherwise, . - The number of characters produced by decoding the specified sequence of bytes and any bytes in the internal buffer. - - is (in Visual Basic .NET). - - is less than zero. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - When overridden in a derived class, calculates the number of characters produced by decoding a sequence of bytes from the specified byte array. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The number of characters produced by decoding the specified sequence of bytes and any bytes in the internal buffer. - - is (). - - or is less than zero.-or- - and do not denote a valid range in . - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - When overridden in a derived class, calculates the number of characters produced by decoding a sequence of bytes from the specified byte array. A parameter indicates whether to clear the internal state of the decoder after the calculation. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - - to simulate clearing the internal state of the encoder after the calculation; otherwise, . - The number of characters produced by decoding the specified sequence of bytes and any bytes in the internal buffer. - - is (). - - or is less than zero.-or- - and do not denote a valid range in . - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - When overridden in a derived class, decodes a sequence of bytes starting at the specified byte pointer and any bytes in the internal buffer into a set of characters that are stored starting at the specified character pointer. A parameter indicates whether to clear the internal state of the decoder after the conversion. - A pointer to the first byte to decode. - The number of bytes to decode. - A pointer to the location at which to start writing the resulting set of characters. - The maximum number of characters to write. - - to clear the internal state of the decoder after the conversion; otherwise, . - The actual number of characters written at the location indicated by the parameter. - - is ().-or- - is (). - - or is less than zero. - - is less than the resulting number of characters. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - When overridden in a derived class, decodes a sequence of bytes from the specified byte array and any bytes in the internal buffer into the specified character array. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The character array to contain the resulting set of characters. - The index at which to start writing the resulting set of characters. - The actual number of characters written into . - - is ().-or- - is (). - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - - does not have enough capacity from to the end of the array to accommodate the resulting characters. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - When overridden in a derived class, decodes a sequence of bytes from the specified byte array and any bytes in the internal buffer into the specified character array. A parameter indicates whether to clear the internal state of the decoder after the conversion. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The character array to contain the resulting set of characters. - The index at which to start writing the resulting set of characters. - - to clear the internal state of the decoder after the conversion; otherwise, . - The actual number of characters written into the parameter. - - is ().-or- - is (). - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - - does not have enough capacity from to the end of the array to accommodate the resulting characters. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - When overridden in a derived class, sets the decoder back to its initial state. - - - Initializes a new instance of the class. - - - Returns a decoder fallback buffer that throws an exception if it cannot convert a sequence of bytes to a character. - A decoder fallback buffer that throws an exception when it cannot decode a byte sequence. - - - Indicates whether the current object and a specified object are equal. - An object that derives from the class. - - if is not and is a object; otherwise, . - - - Retrieves the hash code for this instance. - The return value is always the same arbitrary value, and has no special significance. - - - Initializes a new instance of the class. - - - Throws when the input byte sequence cannot be decoded. The nominal return value is not used. - An input array of bytes. - The index position of a byte in the input. - None. No value is returned because the method always throws an exception. The nominal return value is . A return value is defined, although it is unchanging, because this method implements an abstract method. - This method always throws an exception that reports the value and index position of the input byte that cannot be decoded. - - - Retrieves the next character in the exception data buffer. - The return value is always the Unicode character NULL (U+0000). A return value is defined, although it is unchanging, because this method implements an abstract method. - - - Causes the next call to to access the exception data buffer character position that is prior to the current position. - The return value is always . A return value is defined, although it is unchanging, because this method implements an abstract method. - - - Initializes a new instance of the class. - - - When overridden in a derived class, initializes a new instance of the class. - An object that provides a fallback buffer for a decoder. - - - Initializes a new instance of the class. - - - When overridden in a derived class, prepares the fallback buffer to handle the specified input byte sequence. - An input array of bytes. - The index position of a byte in . - - if the fallback buffer can process ; if the fallback buffer ignores . - - - When overridden in a derived class, retrieves the next character in the fallback buffer. - The next character in the fallback buffer. - - - When overridden in a derived class, causes the next call to the method to access the data buffer character position that is prior to the current character position. - - if the operation was successful; otherwise, . - - - Initializes all data and state information pertaining to this fallback buffer. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. A parameter specifies the error message. - An error message. - - - Initializes a new instance of the class. Parameters specify the error message, the array of bytes being decoded, and the index of the byte that cannot be decoded. - An error message. - The input byte array. - The index position in of the byte that cannot be decoded. - - - Initializes a new instance of the class. Parameters specify the error message and the inner exception that is the cause of this exception. - An error message. - The exception that caused this exception. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class using a specified replacement string. - A string that is emitted in a decoding operation in place of an input byte sequence that cannot be decoded. - - is . - - contains an invalid surrogate pair. In other words, the surrogate pair does not consist of one high surrogate component followed by one low surrogate component. - - - Creates a object that is initialized with the replacement string of this object. - A object that specifies a string to use instead of the original decoding operation input. - - - Indicates whether the value of a specified object is equal to the object. - A object. - - if is a object having a property that is equal to the property of the current object; otherwise, . - - - Retrieves the hash code for the value of the object. - The hash code of the value of the object. - - - Initializes a new instance of the class using the value of a object. - A object that contains a replacement string. - - - Prepares the replacement fallback buffer to use the current replacement string. - An input byte sequence. This parameter is ignored unless an exception is thrown. - The index position of the byte in . This parameter is ignored in this operation. - - if the replacement string is not empty; if the replacement string is empty. - This method is called again before the method has read all the characters in the replacement fallback buffer. - - - Retrieves the next character in the replacement fallback buffer. - The next character in the replacement fallback buffer. - - - Causes the next call to to access the character position in the replacement fallback buffer prior to the current character position. - - if the operation was successful; otherwise, . - - - Initializes all internal state information and data in the object. - - - Initializes a new instance of the class. - - - Converts a buffer of Unicode characters to an encoded byte sequence and stores the result in another buffer. - The address of a string of UTF-16 encoded characters to convert. - The number of characters in to convert. - The address of a buffer to store the converted bytes. - The maximum number of bytes in to use in the conversion. - - to indicate no further data is to be converted; otherwise, . - When this method returns, contains the number of characters from that were used in the conversion. This parameter is passed uninitialized. - When this method returns, contains the number of bytes that were used in the conversion. This parameter is passed uninitialized. - When this method returns, contains if all the characters specified by were converted; otherwise, . This parameter is passed uninitialized. - - or is (). - - or is less than zero. - The output buffer is too small to contain any of the converted input. The output buffer should be greater than or equal to the size indicated by the method. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Converts an array of Unicode characters to an encoded byte sequence and stores the result in an array of bytes. - An array of characters to convert. - The first element of to convert. - The number of elements of to convert. - An array where the converted bytes are stored. - The first element of in which data is stored. - The maximum number of elements of to use in the conversion. - - to indicate no further data is to be converted; otherwise, . - When this method returns, contains the number of characters from that were used in the conversion. This parameter is passed uninitialized. - When this method returns, contains the number of bytes that were produced by the conversion. This parameter is passed uninitialized. - When this method returns, contains if all the characters specified by were converted; otherwise, . This parameter is passed uninitialized. - - or is (). - - , , , or is less than zero.-or-The length of - is less than .-or-The length of - is less than . - The output buffer is too small to contain any of the converted input. The output buffer should be greater than or equal to the size indicated by the method. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - When overridden in a derived class, calculates the number of bytes produced by encoding a set of characters starting at the specified character pointer. A parameter indicates whether to clear the internal state of the encoder after the calculation. - A pointer to the first character to encode. - The number of characters to encode. - - to simulate clearing the internal state of the encoder after the calculation; otherwise, . - The number of bytes produced by encoding the specified characters and any characters in the internal buffer. - - is ( in Visual Basic .NET). - - is less than zero. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - When overridden in a derived class, calculates the number of bytes produced by encoding a set of characters from the specified character array. A parameter indicates whether to clear the internal state of the encoder after the calculation. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - - to simulate clearing the internal state of the encoder after the calculation; otherwise, . - The number of bytes produced by encoding the specified characters and any characters in the internal buffer. - - is . - - or is less than zero.-or- - and do not denote a valid range in . - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - When overridden in a derived class, encodes a set of characters starting at the specified character pointer and any characters in the internal buffer into a sequence of bytes that are stored starting at the specified byte pointer. A parameter indicates whether to clear the internal state of the encoder after the conversion. - A pointer to the first character to encode. - The number of characters to encode. - A pointer to the location at which to start writing the resulting sequence of bytes. - The maximum number of bytes to write. - - to clear the internal state of the encoder after the conversion; otherwise, . - The actual number of bytes written at the location indicated by the parameter. - - is ().-or- - is (). - - or is less than zero. - - is less than the resulting number of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - When overridden in a derived class, encodes a set of characters from the specified character array and any characters in the internal buffer into the specified byte array. A parameter indicates whether to clear the internal state of the encoder after the conversion. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - - to clear the internal state of the encoder after the conversion; otherwise, . - The actual number of bytes written into . - - is ().-or- - is (). - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - - does not have enough capacity from to the end of the array to accommodate the resulting bytes. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - When overridden in a derived class, sets the encoder back to its initial state. - - - Initializes a new instance of the class. - - - Returns an encoder fallback buffer that throws an exception if it cannot convert a character sequence to a byte sequence. - An encoder fallback buffer that throws an exception when it cannot encode a character sequence. - - - Indicates whether the current object and a specified object are equal. - An object that derives from the class. - - if is not ( in Visual Basic .NET) and is a object; otherwise, . - - - Retrieves the hash code for this instance. - The return value is always the same arbitrary value, and has no special significance. - - - Initializes a new instance of the class. - - - Throws an exception because the input character cannot be encoded. Parameters specify the value and index position of the surrogate pair in the input, and the nominal return value is not used. - The high surrogate of the input pair. - The low surrogate of the input pair. - The index position of the surrogate pair in the input buffer. - None. No value is returned because the method always throws an exception. - The character represented by and cannot be encoded. - Either or is invalid. is not between U+D800 and U+DBFF, inclusive, or is not between U+DC00 and U+DFFF, inclusive. - - - Throws an exception because the input character cannot be encoded. Parameters specify the value and index position of the character that cannot be converted. - An input character. - The index position of the character in the input buffer. - None. No value is returned because the method always throws an exception. - - cannot be encoded. This method always throws an exception that reports the value of the and parameters. - - - Retrieves the next character in the exception fallback buffer. - The return value is always the Unicode character, NULL (U+0000). A return value is defined, although it is unchanging, because this method implements an abstract method. - - - Causes the next call to the method to access the exception data buffer character position that is prior to the current position. - The return value is always .A return value is defined, although it is unchanging, because this method implements an abstract method. - - - Initializes a new instance of the class. - - - When overridden in a derived class, initializes a new instance of the class. - An object that provides a fallback buffer for an encoder. - - - Initializes a new instance of the class. - - - When overridden in a derived class, prepares the fallback buffer to handle the specified surrogate pair. - The high surrogate of the input pair. - The low surrogate of the input pair. - The index position of the surrogate pair in the input buffer. - - if the fallback buffer can process and ; if the fallback buffer ignores the surrogate pair. - - - When overridden in a derived class, prepares the fallback buffer to handle the specified input character. - An input character. - The index position of the character in the input buffer. - - if the fallback buffer can process ; if the fallback buffer ignores . - - - When overridden in a derived class, retrieves the next character in the fallback buffer. - The next character in the fallback buffer. - - - When overridden in a derived class, causes the next call to the method to access the data buffer character position that is prior to the current character position. - - if the operation was successful; otherwise, . - - - Initializes all data and state information pertaining to this fallback buffer. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. A parameter specifies the error message. - An error message. - - - Initializes a new instance of the class. Parameters specify the error message and the inner exception that is the cause of this exception. - An error message. - The exception that caused this exception. - - - Indicates whether the input that caused the exception is a surrogate pair. - - if the input was a surrogate pair; otherwise, . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class using a specified replacement string. - A string that is converted in an encoding operation in place of an input character that cannot be encoded. - - is . - - contains an invalid surrogate pair. In other words, the surrogate does not consist of one high surrogate component followed by one low surrogate component. - - - Creates a object that is initialized with the replacement string of this object. - A object equal to this object. - - - Indicates whether the value of a specified object is equal to the object. - A object. - - if the parameter specifies an object and the replacement string of that object is equal to the replacement string of this object; otherwise, . - - - Retrieves the hash code for the value of the object. - The hash code of the value of the object. - - - Initializes a new instance of the class using the value of a object. - A object. - - - Indicates whether a replacement string can be used when an input surrogate pair cannot be encoded, or whether the surrogate pair can be ignored. Parameters specify the surrogate pair and the index position of the pair in the input. - The high surrogate of the input pair. - The low surrogate of the input pair. - The index position of the surrogate pair in the input buffer. - - if the replacement string is not empty; if the replacement string is empty. - This method is called again before the method has read all the replacement string characters. - The value of is less than U+D800 or greater than U+D8FF.-or-The value of is less than U+DC00 or greater than U+DFFF. - - - Prepares the replacement fallback buffer to use the current replacement string. - An input character. This parameter is ignored in this operation unless an exception is thrown. - The index position of the character in the input buffer. This parameter is ignored in this operation. - - if the replacement string is not empty; if the replacement string is empty. - This method is called again before the method has read all the characters in the replacement fallback buffer. - - - Retrieves the next character in the replacement fallback buffer. - The next Unicode character in the replacement fallback buffer that the application can encode. - - - Causes the next call to the method to access the character position in the replacement fallback buffer prior to the current character position. - - if the operation was successful; otherwise, . - - - Initializes all internal state information and data in this instance of . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class that corresponds to the specified code page. - The code page identifier of the preferred encoding.-or- 0, to use the default encoding. - - is less than zero. - - - Initializes a new instance of the class that corresponds to the specified code page with the specified encoder and decoder fallback strategies. - The encoding code page identifier. - An object that provides an error-handling procedure when a character cannot be encoded with the current encoding. - An object that provides an error-handling procedure when a byte sequence cannot be decoded with the current encoding. - - is less than zero. - - - When overridden in a derived class, creates a shallow copy of the current object. - A copy of the current object. - - - Converts an entire byte array from one encoding to another. - The encoding format of . - The target encoding format. - The bytes to convert. - An array of type containing the results of converting from to . - - is .-or- - is .-or- - is . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - srcEncoding. - is set to . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - dstEncoding. - is set to . - - - Converts a range of bytes in a byte array from one encoding to another. - The encoding of the source array, . - The encoding of the output array. - The array of bytes to convert. - The index of the first element of to convert. - The number of bytes to convert. - An array of type containing the result of converting a range of bytes in from to . - - is .-or- - is .-or- - is . - - and do not specify a valid range in the byte array. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - srcEncoding. - is set to . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - dstEncoding. - is set to . - - - Determines whether the specified is equal to the current instance. - The to compare with the current instance. - - if is an instance of and is equal to the current instance; otherwise, . - - - When overridden in a derived class, calculates the number of bytes produced by encoding a set of characters starting at the specified character pointer. - A pointer to the first character to encode. - The number of characters to encode. - The number of bytes produced by encoding the specified characters. - - is . - - is less than zero. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, calculates the number of bytes produced by encoding all the characters in the specified character array. - The character array containing the characters to encode. - The number of bytes produced by encoding all the characters in the specified character array. - - is . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, calculates the number of bytes produced by encoding a set of characters from the specified character array. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The number of bytes produced by encoding the specified characters. - - is . - - or is less than zero.-or- - and do not denote a valid range in . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, calculates the number of bytes produced by encoding the characters in the specified string. - The string containing the set of characters to encode. - The number of bytes produced by encoding the specified characters. - - is . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, encodes a set of characters starting at the specified character pointer into a sequence of bytes that are stored starting at the specified byte pointer. - A pointer to the first character to encode. - The number of characters to encode. - A pointer to the location at which to start writing the resulting sequence of bytes. - The maximum number of bytes to write. - The actual number of bytes written at the location indicated by the parameter. - - is .-or- - is . - - or is less than zero. - - is less than the resulting number of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, encodes all the characters in the specified character array into a sequence of bytes. - The character array containing the characters to encode. - A byte array containing the results of encoding the specified set of characters. - - is . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, encodes a set of characters from the specified character array into a sequence of bytes. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - A byte array containing the results of encoding the specified set of characters. - - is . - - or is less than zero.-or- - and do not denote a valid range in . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, encodes a set of characters from the specified character array into the specified byte array. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - The actual number of bytes written into . - - is .-or- - is . - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - - does not have enough capacity from to the end of the array to accommodate the resulting bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, encodes all the characters in the specified string into a sequence of bytes. - The string containing the characters to encode. - A byte array containing the results of encoding the specified set of characters. - - is . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, encodes a set of characters from the specified string into the specified byte array. - The string containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - The actual number of bytes written into . - - is .-or- - is . - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - - does not have enough capacity from to the end of the array to accommodate the resulting bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer. - A pointer to the first byte to decode. - The number of bytes to decode. - The number of characters produced by decoding the specified sequence of bytes. - - is . - - is less than zero. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, calculates the number of characters produced by decoding all the bytes in the specified byte array. - The byte array containing the sequence of bytes to decode. - The number of characters produced by decoding the specified sequence of bytes. - - is . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, calculates the number of characters produced by decoding a sequence of bytes from the specified byte array. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The number of characters produced by decoding the specified sequence of bytes. - - is . - - or is less than zero.-or- - and do not denote a valid range in . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, decodes a sequence of bytes starting at the specified byte pointer into a set of characters that are stored starting at the specified character pointer. - A pointer to the first byte to decode. - The number of bytes to decode. - A pointer to the location at which to start writing the resulting set of characters. - The maximum number of characters to write. - The actual number of characters written at the location indicated by the parameter. - - is .-or- - is . - - or is less than zero. - - is less than the resulting number of characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, decodes all the bytes in the specified byte array into a set of characters. - The byte array containing the sequence of bytes to decode. - A character array containing the results of decoding the specified sequence of bytes. - - is . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, decodes a sequence of bytes from the specified byte array into a set of characters. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - A character array containing the results of decoding the specified sequence of bytes. - - is . - - or is less than zero.-or- - and do not denote a valid range in . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, decodes a sequence of bytes from the specified byte array into the specified character array. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The character array to contain the resulting set of characters. - The index at which to start writing the resulting set of characters. - The actual number of characters written into . - - is .-or- - is . - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - - does not have enough capacity from to the end of the array to accommodate the resulting characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, obtains a decoder that converts an encoded sequence of bytes into a sequence of characters. - A that converts an encoded sequence of bytes into a sequence of characters. - - - When overridden in a derived class, obtains an encoder that converts a sequence of Unicode characters into an encoded sequence of bytes. - A that converts a sequence of Unicode characters into an encoded sequence of bytes. - - - Returns the encoding associated with the specified code page identifier. - The code page identifier of the preferred encoding. Possible values are listed in the Code Page column of the table that appears in the class topic.-or- 0 (zero), to use the default encoding. - The encoding that is associated with the specified code page. - - is less than zero or greater than 65535. - - is not supported by the underlying platform. - - is not supported by the underlying platform. - - - Returns the encoding associated with the specified code page identifier. Parameters specify an error handler for characters that cannot be encoded and byte sequences that cannot be decoded. - The code page identifier of the preferred encoding. Possible values are listed in the Code Page column of the table that appears in the class topic.-or- 0 (zero), to use the default encoding. - An object that provides an error-handling procedure when a character cannot be encoded with the current encoding. - An object that provides an error-handling procedure when a byte sequence cannot be decoded with the current encoding. - The encoding that is associated with the specified code page. - - is less than zero or greater than 65535. - - is not supported by the underlying platform. - - is not supported by the underlying platform. - - - Returns the encoding associated with the specified code page name. - The code page name of the preferred encoding. Any value returned by the property is valid. Possible values are listed in the Name column of the table that appears in the class topic. - The encoding associated with the specified code page. - - is not a valid code page name.-or- The code page indicated by is not supported by the underlying platform. - - - Returns the encoding associated with the specified code page name. Parameters specify an error handler for characters that cannot be encoded and byte sequences that cannot be decoded. - The code page name of the preferred encoding. Any value returned by the property is valid. Possible values are listed in the Name column of the table that appears in the class topic. - An object that provides an error-handling procedure when a character cannot be encoded with the current encoding. - An object that provides an error-handling procedure when a byte sequence cannot be decoded with the current encoding. - The encoding that is associated with the specified code page. - - is not a valid code page name.-or- The code page indicated by is not supported by the underlying platform. - - - Returns an array that contains all encodings. - An array that contains all encodings. - - - Returns the hash code for the current instance. - The hash code for the current instance. - - - When overridden in a derived class, calculates the maximum number of bytes produced by encoding the specified number of characters. - The number of characters to encode. - The maximum number of bytes produced by encoding the specified number of characters. - - is less than zero. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, calculates the maximum number of characters produced by decoding the specified number of bytes. - The number of bytes to decode. - The maximum number of characters produced by decoding the specified number of bytes. - - is less than zero. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, returns a sequence of bytes that specifies the encoding used. - A byte array containing a sequence of bytes that specifies the encoding used.-or- A byte array of length zero, if a preamble is not required. - - - When overridden in a derived class, decodes a specified number of bytes starting at a specified address into a string. - A pointer to a byte array. - The number of bytes to decode. - A string that contains the results of decoding the specified sequence of bytes. - - is a null pointer. - - is less than zero. - A fallback occurred (see Character Encoding in the .NET Framework for a complete explanation)-and- - is set to . - - - When overridden in a derived class, decodes all the bytes in the specified byte array into a string. - The byte array containing the sequence of bytes to decode. - A string that contains the results of decoding the specified sequence of bytes. - The byte array contains invalid Unicode code points. - - is . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - When overridden in a derived class, decodes a sequence of bytes from the specified byte array into a string. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - A string that contains the results of decoding the specified sequence of bytes. - The byte array contains invalid Unicode code points. - - is . - - or is less than zero.-or- - and do not denote a valid range in . - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Gets a value indicating whether the current encoding is always normalized, using the default normalization form. - - if the current is always normalized; otherwise, . The default is . - - - When overridden in a derived class, gets a value indicating whether the current encoding is always normalized, using the specified normalization form. - One of the values. - - if the current object is always normalized using the specified value; otherwise, . The default is . - - - Registers an encoding provider. - A subclass of that provides access to additional character encodings. - - is . - - - Gets a value indicating whether the specified object is equal to the current object. - An object to compare to the current object. - - if is a object and is equal to the current object; otherwise, . - - - Returns a object that corresponds to the current object. - A object that corresponds to the current object. - - - Returns the hash code for the current object. - A 32-bit signed integer hash code. - - - Initializes a new instance of the class. - - - Returns the encoding associated with the specified code page identifier. - The code page identifier of the requested encoding. - The encoding that is associated with the specified code page, or if this cannot return a valid encoding that corresponds to . - - - Returns the encoding associated with the specified code page identifier. Parameters specify an error handler for characters that cannot be encoded and byte sequences that cannot be decoded. - The code page identifier of the requested encoding. - An object that provides an error-handling procedure when a character cannot be encoded with this encoding. - An object that provides an error-handling procedure when a byte sequence cannot be decoded with this encoding. - The encoding that is associated with the specified code page, or if this cannot return a valid encoding that corresponds to . - - - Returns the encoding with the specified name. - The name of the requested encoding. - The encoding that is associated with the specified name, or if this cannot return a valid encoding that corresponds to . - - - Returns the encoding associated with the specified name. Parameters specify an error handler for characters that cannot be encoded and byte sequences that cannot be decoded. - The name of the preferred encoding. - An object that provides an error-handling procedure when a character cannot be encoded with this encoding. - An object that provides an error-handling procedure when a byte sequence cannot be decoded with the current encoding. - The encoding that is associated with the specified name, or if this cannot return a valid encoding that corresponds to . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class using the specified capacity. - The suggested starting size of this instance. - - is less than zero. - - - Initializes a new instance of the class that starts with a specified capacity and can grow to a specified maximum. - The suggested starting size of the . - The maximum number of characters the current string can contain. - - is less than one, is less than zero, or is greater than . - - - Initializes a new instance of the class using the specified string. - The string used to initialize the value of the instance. If is , the new will contain the empty string (that is, it contains ). - - - Initializes a new instance of the class using the specified string and capacity. - The string used to initialize the value of the instance. If is , the new will contain the empty string (that is, it contains ). - The suggested starting size of the . - - is less than zero. - - - Initializes a new instance of the class from the specified substring and capacity. - The string that contains the substring used to initialize the value of this instance. If is , the new will contain the empty string (that is, it contains ). - The position within where the substring begins. - The number of characters in the substring. - The suggested starting size of the . - - is less than zero.-or- - plus is not a position within . - - - Appends the string representation of a specified Boolean value to this instance. - The Boolean value to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends the string representation of a specified 8-bit unsigned integer to this instance. - The value to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends the string representation of a specified object to this instance. - The UTF-16-encoded code unit to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - - Appends an array of Unicode characters starting at a specified address to this instance. - A pointer to an array of characters. - The number of characters in the array. - A reference to this instance after the append operation has completed. - - is less than zero. -or-Enlarging the value of this instance would exceed . - - is a null pointer. - - - Appends a specified number of copies of the string representation of a Unicode character to this instance. - The character to append. - The number of times to append . - A reference to this instance after the append operation has completed. - - is less than zero.-or- Enlarging the value of this instance would exceed . - Out of memory. - - - Appends the string representation of the Unicode characters in a specified array to this instance. - The array of characters to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends the string representation of a specified subarray of Unicode characters to this instance. - A character array. - The starting position in . - The number of characters to append. - A reference to this instance after the append operation has completed. - - is , and and are not zero. - - is less than zero.-or- - is less than zero.-or- - + is greater than the length of .-or- Enlarging the value of this instance would exceed . - - - Appends the string representation of a specified decimal number to this instance. - The value to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends the string representation of a specified double-precision floating-point number to this instance. - The value to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends the string representation of a specified 16-bit signed integer to this instance. - The value to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends the string representation of a specified 32-bit signed integer to this instance. - The value to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends the string representation of a specified 64-bit signed integer to this instance. - The value to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends the string representation of a specified object to this instance. - The object to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends the string representation of a specified 8-bit signed integer to this instance. - The value to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends the string representation of a specified single-precision floating-point number to this instance. - The value to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends a copy of the specified string to this instance. - The string to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends a copy of a specified substring to this instance. - The string that contains the substring to append. - The starting position of the substring within . - The number of characters in to append. - A reference to this instance after the append operation has completed. - - is , and and are not zero. - - less than zero.-or- - less than zero.-or- - + is greater than the length of .-or- Enlarging the value of this instance would exceed . - - - Appends the string representation of a specified 16-bit unsigned integer to this instance. - The value to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends the string representation of a specified 32-bit unsigned integer to this instance. - The value to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends the string representation of a specified 64-bit unsigned integer to this instance. - The value to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Each format item is replaced by the string representation of a single argument using a specified format provider. - An object that supplies culture-specific formatting information. - A composite format string (see Remarks). - The object to format. - A reference to this instance after the append operation has completed. After the append operation, this instance contains any data that existed before the operation, suffixed by a copy of in which any format specification is replaced by the string representation of . - - is . - - is invalid. -or-The index of a format item is less than 0 (zero), or greater than or equal to one (1). - The length of the expanded string would exceed . - - - Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Each format item is replaced by the string representation of either of two arguments using a specified format provider. - An object that supplies culture-specific formatting information. - A composite format string (see Remarks). - The first object to format. - The second object to format. - A reference to this instance after the append operation has completed. After the append operation, this instance contains any data that existed before the operation, suffixed by a copy of where any format specification is replaced by the string representation of the corresponding object argument. - - is . - - is invalid. -or-The index of a format item is less than 0 (zero), or greater than or equal to 2 (two). - The length of the expanded string would exceed . - - - Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Each format item is replaced by the string representation of either of three arguments using a specified format provider. - An object that supplies culture-specific formatting information. - A composite format string (see Remarks). - The first object to format. - The second object to format. - The third object to format. - A reference to this instance after the append operation has completed. After the append operation, this instance contains any data that existed before the operation, suffixed by a copy of where any format specification is replaced by the string representation of the corresponding object argument. - - is . - - is invalid. -or-The index of a format item is less than 0 (zero), or greater than or equal to 3 (three). - The length of the expanded string would exceed . - - - Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Each format item is replaced by the string representation of a corresponding argument in a parameter array using a specified format provider. - An object that supplies culture-specific formatting information. - A composite format string (see Remarks). - An array of objects to format. - A reference to this instance after the append operation has completed. After the append operation, this instance contains any data that existed before the operation, suffixed by a copy of where any format specification is replaced by the string representation of the corresponding object argument. - - is . - - is invalid. -or-The index of a format item is less than 0 (zero), or greater than or equal to the length of the array. - The length of the expanded string would exceed . - - - Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Each format item is replaced by the string representation of a single argument. - A composite format string (see Remarks). - An object to format. - A reference to this instance with appended. Each format item in is replaced by the string representation of . - - is . - - is invalid. -or-The index of a format item is less than 0 (zero), or greater than or equal to 1. - The length of the expanded string would exceed . - - - Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Each format item is replaced by the string representation of either of two arguments. - A composite format string (see Remarks). - The first object to format. - The second object to format. - A reference to this instance with appended. Each format item in is replaced by the string representation of the corresponding object argument. - - is . - - is invalid.-or-The index of a format item is less than 0 (zero), or greater than or equal to 2. - The length of the expanded string would exceed . - - - Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Each format item is replaced by the string representation of either of three arguments. - A composite format string (see Remarks). - The first object to format. - The second object to format. - The third object to format. - A reference to this instance with appended. Each format item in is replaced by the string representation of the corresponding object argument. - - is . - - is invalid.-or-The index of a format item is less than 0 (zero), or greater than or equal to 3. - The length of the expanded string would exceed . - - - Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Each format item is replaced by the string representation of a corresponding argument in a parameter array. - A composite format string (see Remarks). - An array of objects to format. - A reference to this instance with appended. Each format item in is replaced by the string representation of the corresponding object argument. - - or is . - - is invalid. -or-The index of a format item is less than 0 (zero), or greater than or equal to the length of the array. - The length of the expanded string would exceed . - - - Appends the default line terminator to the end of the current object. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Appends a copy of the specified string followed by the default line terminator to the end of the current object. - The string to append. - A reference to this instance after the append operation has completed. - Enlarging the value of this instance would exceed . - - - Removes all characters from the current instance. - An object whose is 0 (zero). - - - Copies the characters from a specified segment of this instance to a specified segment of a destination array. - The starting position in this instance where characters will be copied from. The index is zero-based. - The array where characters will be copied. - The starting position in where characters will be copied. The index is zero-based. - The number of characters to be copied. - - is . - - , , or , is less than zero.-or- - is greater than the length of this instance. - - + is greater than the length of this instance.-or- - + is greater than the length of . - - - Ensures that the capacity of this instance of is at least the specified value. - The minimum capacity to ensure. - The new capacity of this instance. - - is less than zero.-or- Enlarging the value of this instance would exceed . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare with this instance, or . - - if this instance and have equal string, , and values; otherwise, . - - - Inserts the string representation of a Boolean value into this instance at the specified character position. - The position in this instance where insertion begins. - The value to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance. - Enlarging the value of this instance would exceed . - - - Inserts the string representation of a specified 8-bit unsigned integer into this instance at the specified character position. - The position in this instance where insertion begins. - The value to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance. - Enlarging the value of this instance would exceed . - - - Inserts the string representation of a specified Unicode character into this instance at the specified character position. - The position in this instance where insertion begins. - The value to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance.-or- Enlarging the value of this instance would exceed . - - - Inserts the string representation of a specified array of Unicode characters into this instance at the specified character position. - The position in this instance where insertion begins. - The character array to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance.-or- Enlarging the value of this instance would exceed . - - - Inserts the string representation of a specified subarray of Unicode characters into this instance at the specified character position. - The position in this instance where insertion begins. - A character array. - The starting index within . - The number of characters to insert. - A reference to this instance after the insert operation has completed. - - is , and and are not zero. - - , , or is less than zero.-or- - is greater than the length of this instance.-or- - plus is not a position within .-or- Enlarging the value of this instance would exceed . - - - Inserts the string representation of a decimal number into this instance at the specified character position. - The position in this instance where insertion begins. - The value to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance. - Enlarging the value of this instance would exceed . - - - Inserts the string representation of a double-precision floating-point number into this instance at the specified character position. - The position in this instance where insertion begins. - The value to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance. - Enlarging the value of this instance would exceed . - - - Inserts the string representation of a specified 16-bit signed integer into this instance at the specified character position. - The position in this instance where insertion begins. - The value to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance. - Enlarging the value of this instance would exceed . - - - Inserts the string representation of a specified 32-bit signed integer into this instance at the specified character position. - The position in this instance where insertion begins. - The value to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance. - Enlarging the value of this instance would exceed . - - - Inserts the string representation of a 64-bit signed integer into this instance at the specified character position. - The position in this instance where insertion begins. - The value to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance. - Enlarging the value of this instance would exceed . - - - Inserts the string representation of an object into this instance at the specified character position. - The position in this instance where insertion begins. - The object to insert, or . - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance. - Enlarging the value of this instance would exceed . - - - Inserts the string representation of a specified 8-bit signed integer into this instance at the specified character position. - The position in this instance where insertion begins. - The value to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance. - Enlarging the value of this instance would exceed . - - - Inserts the string representation of a single-precision floating point number into this instance at the specified character position. - The position in this instance where insertion begins. - The value to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance. - Enlarging the value of this instance would exceed . - - - Inserts a string into this instance at the specified character position. - The position in this instance where insertion begins. - The string to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the current length of this instance. -or-The current length of this object plus the length of exceeds . - - - Inserts one or more copies of a specified string into this instance at the specified character position. - The position in this instance where insertion begins. - The string to insert. - The number of times to insert . - A reference to this instance after insertion has completed. - - is less than zero or greater than the current length of this instance.-or- - is less than zero. - The current length of this object plus the length of times exceeds . - - - Inserts the string representation of a 16-bit unsigned integer into this instance at the specified character position. - The position in this instance where insertion begins. - The value to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance. - Enlarging the value of this instance would exceed . - - - Inserts the string representation of a 32-bit unsigned integer into this instance at the specified character position. - The position in this instance where insertion begins. - The value to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance. - Enlarging the value of this instance would exceed . - - - Inserts the string representation of a 64-bit unsigned integer into this instance at the specified character position. - The position in this instance where insertion begins. - The value to insert. - A reference to this instance after the insert operation has completed. - - is less than zero or greater than the length of this instance. - Enlarging the value of this instance would exceed . - - - Removes the specified range of characters from this instance. - The zero-based position in this instance where removal begins. - The number of characters to remove. - A reference to this instance after the excise operation has completed. - If or is less than zero, or + is greater than the length of this instance. - - - Replaces all occurrences of a specified character in this instance with another specified character. - The character to replace. - The character that replaces . - A reference to this instance with replaced by . - - - Replaces, within a substring of this instance, all occurrences of a specified character with another specified character. - The character to replace. - The character that replaces . - The position in this instance where the substring begins. - The length of the substring. - A reference to this instance with replaced by in the range from to + -1. - - + is greater than the length of the value of this instance.-or- - or is less than zero. - - - Replaces all occurrences of a specified string in this instance with another specified string. - The string to replace. - The string that replaces , or . - A reference to this instance with all instances of replaced by . - - is . - The length of is zero. - Enlarging the value of this instance would exceed . - - - Replaces, within a substring of this instance, all occurrences of a specified string with another specified string. - The string to replace. - The string that replaces , or . - The position in this instance where the substring begins. - The length of the substring. - A reference to this instance with all instances of replaced by in the range from to + - 1. - - is . - The length of is zero. - - or is less than zero.-or- - plus indicates a character position not within this instance.-or- Enlarging the value of this instance would exceed . - - - Populates a object with the data necessary to deserialize the current object. - The object to populate with serialization information. - The place to store and retrieve serialized data. Reserved for future use. - - is . - - - Converts the value of this instance to a . - A string whose value is the same as this instance. - - - Converts the value of a substring of this instance to a . - The starting position of the substring in this instance. - The length of the substring. - A string whose value is the same as the specified substring of this instance. - - or is less than zero.-or- The sum of and is greater than the length of the current instance. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. Parameters specify whether to use the big endian byte order and whether the method returns a Unicode byte order mark. - - to use the big endian byte order (most significant byte first), or to use the little endian byte order (least significant byte first). - - to specify that the method returns a Unicode byte order mark; otherwise, . See the Remarks section for more information. - - - Initializes a new instance of the class. Parameters specify whether to use the big endian byte order, whether to provide a Unicode byte order mark, and whether to throw an exception when an invalid encoding is detected. - - to use the big endian byte order (most significant byte first); to use the little endian byte order (least significant byte first). - - to specify that the method returns a Unicode byte order mark; otherwise, . See the Remarks section for more information. - - to specify that an exception should be thrown when an invalid encoding is detected; otherwise, . - - - Determines whether the specified is equal to the current object. - The object to compare with the current object. - - if is an instance of and is equal to the current object; otherwise, . - - - Calculates the number of bytes produced by encoding a set of characters starting at the specified character pointer. - A pointer to the first character to encode. - The number of characters to encode. - The number of bytes produced by encoding the specified characters. - - is . - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled and contains an invalid sequence of characters. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Calculates the number of bytes produced by encoding a set of characters from the specified character array. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The number of bytes produced by encoding the specified characters. - - is (). - - or is less than zero.-or- - and do not denote a valid range in .-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled, and contains an invalid sequence of characters. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Calculates the number of bytes produced by encoding the characters in the specified string. - The string that contains the set of characters to encode. - The number of bytes produced by encoding the specified characters. - - is . - The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled, and contains an invalid sequence of characters. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Encodes a set of characters starting at the specified character pointer into a sequence of bytes that are stored starting at the specified byte pointer. - A pointer to the first character to encode. - The number of characters to encode. - A pointer to the location at which to start writing the resulting sequence of bytes. - The maximum number of bytes to write. - The actual number of bytes written at the location indicated by the parameter. - - is ().-or- - is (). - - or is less than zero. - Error detection is enabled, and contains an invalid sequence of characters.-or- - is less than the resulting number of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Encodes a set of characters from the specified character array into the specified byte array. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - The actual number of bytes written into . - - is ().-or- - is (). - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - Error detection is enabled, and contains an invalid sequence of characters.-or- - does not have enough capacity from to the end of the array to accommodate the resulting bytes. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Encodes a set of characters from the specified into the specified byte array. - The string containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - The actual number of bytes written into . - - is .-or- - is (). - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - Error detection is enabled, and contains an invalid sequence of characters.-or- - does not have enough capacity from to the end of the array to accommodate the resulting bytes. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer. - A pointer to the first byte to decode. - The number of bytes to decode. - The number of characters produced by decoding the specified sequence of bytes. - - is (). - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled, and contains an invalid sequence of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The number of characters produced by decoding the specified sequence of bytes. - - is (). - - or is less than zero.-or- - and do not denote a valid range in .-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled, and contains an invalid sequence of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Decodes a sequence of bytes starting at the specified byte pointer into a set of characters that are stored starting at the specified character pointer. - A pointer to the first byte to decode. - The number of bytes to decode. - A pointer to the location at which to start writing the resulting set of characters. - The maximum number of characters to write. - The actual number of characters written at the location indicated by the parameter. - - is ().-or- - is (). - - or is less than zero. - Error detection is enabled, and contains an invalid sequence of bytes.-or- - is less than the resulting number of characters. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Decodes a sequence of bytes from the specified byte array into the specified character array. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The character array to contain the resulting set of characters. - The index at which to start writing the resulting set of characters. - The actual number of characters written into . - - is ().-or- - is (). - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - Error detection is enabled, and contains an invalid sequence of bytes.-or- - does not have enough capacity from to the end of the array to accommodate the resulting characters. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Obtains a decoder that converts a UTF-16 encoded sequence of bytes into a sequence of Unicode characters. - A that converts a UTF-16 encoded sequence of bytes into a sequence of Unicode characters. - - - Obtains an encoder that converts a sequence of Unicode characters into a UTF-16 encoded sequence of bytes. - A object that converts a sequence of Unicode characters into a UTF-16 encoded sequence of bytes. - - - Returns the hash code for the current instance. - The hash code for the current object. - - - Calculates the maximum number of bytes produced by encoding the specified number of characters. - The number of characters to encode. - The maximum number of bytes produced by encoding the specified number of characters. - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Calculates the maximum number of characters produced by decoding the specified number of bytes. - The number of bytes to decode. - The maximum number of characters produced by decoding the specified number of bytes. - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Returns a Unicode byte order mark encoded in UTF-16 format, if the constructor for this instance requests a byte order mark. - A byte array containing the Unicode byte order mark, if the object is configured to supply one. Otherwise, this method returns a zero-length byte array. - - - Decodes a range of bytes from a byte array into a string. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - A object containing the results of decoding the specified sequence of bytes. - - is (). - - or is less than zero.-or- - and do not denote a valid range in . - Error detection is enabled, and contains an invalid sequence of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. Parameters specify whether to use the big endian byte order and whether the method returns a Unicode Unicode byte order mark. - - to use the big endian byte order (most significant byte first), or to use the little endian byte order (least significant byte first). - - to specify that a Unicode byte order mark is provided; otherwise, . - - - Initializes a new instance of the class. Parameters specify whether to use the big endian byte order, whether to provide a Unicode byte order mark, and whether to throw an exception when an invalid encoding is detected. - - to use the big endian byte order (most significant byte first), or to use the little endian byte order (least significant byte first). - - to specify that a Unicode byte order mark is provided; otherwise, . - - to specify that an exception should be thrown when an invalid encoding is detected; otherwise, . - - - Determines whether the specified is equal to the current object. - The to compare with the current object. - - if is an instance of and is equal to the current object; otherwise, . - - - Calculates the number of bytes produced by encoding a set of characters starting at the specified character pointer. - A pointer to the first character to encode. - The number of characters to encode. - The number of bytes produced by encoding the specified characters. - - is . - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled, and contains an invalid sequence of characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the number of bytes produced by encoding a set of characters from the specified character array. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The number of bytes produced by encoding the specified characters. - - is . - - or is less than zero.-or- - and do not denote a valid range in .-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled, and contains an invalid sequence of characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the number of bytes produced by encoding the characters in the specified . - The containing the set of characters to encode. - The number of bytes produced by encoding the specified characters. - - is . - The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled, and contains an invalid sequence of characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Encodes a set of characters starting at the specified character pointer into a sequence of bytes that are stored starting at the specified byte pointer. - A pointer to the first character to encode. - The number of characters to encode. - A pointer to the location at which to start writing the resulting sequence of bytes. - The maximum number of bytes to write. - The actual number of bytes written at the location indicated by the parameter. - - is .-or- - is . - - or is less than zero. - Error detection is enabled, and contains an invalid sequence of characters.-or- - is less than the resulting number of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Encodes a set of characters from the specified character array into the specified byte array. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - The actual number of bytes written into . - - is .-or- - is . - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - Error detection is enabled, and contains an invalid sequence of characters.-or- - does not have enough capacity from to the end of the array to accommodate the resulting bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Encodes a set of characters from the specified into the specified byte array. - The containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - The actual number of bytes written into . - - is .-or- - is . - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - Error detection is enabled, and contains an invalid sequence of characters.-or- - does not have enough capacity from to the end of the array to accommodate the resulting bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer. - A pointer to the first byte to decode. - The number of bytes to decode. - The number of characters produced by decoding the specified sequence of bytes. - - is . - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled, and contains an invalid sequence of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The number of characters produced by decoding the specified sequence of bytes. - - is . - - or is less than zero.-or- - and do not denote a valid range in .-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled, and contains an invalid sequence of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Decodes a sequence of bytes starting at the specified byte pointer into a set of characters that are stored starting at the specified character pointer. - A pointer to the first byte to decode. - The number of bytes to decode. - A pointer to the location at which to start writing the resulting set of characters. - The maximum number of characters to write. - The actual number of characters written at the location indicated by . - - is .-or- - is . - - or is less than zero. - Error detection is enabled, and contains an invalid sequence of bytes.-or- - is less than the resulting number of characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Decodes a sequence of bytes from the specified byte array into the specified character array. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The character array to contain the resulting set of characters. - The index at which to start writing the resulting set of characters. - The actual number of characters written into . - - is .-or- - is . - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - Error detection is enabled, and contains an invalid sequence of bytes.-or- - does not have enough capacity from to the end of the array to accommodate the resulting characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Obtains a decoder that converts a UTF-32 encoded sequence of bytes into a sequence of Unicode characters. - A that converts a UTF-32 encoded sequence of bytes into a sequence of Unicode characters. - - - Obtains an encoder that converts a sequence of Unicode characters into a UTF-32 encoded sequence of bytes. - A that converts a sequence of Unicode characters into a UTF-32 encoded sequence of bytes. - - - Returns the hash code for the current instance. - The hash code for the current object. - - - Calculates the maximum number of bytes produced by encoding the specified number of characters. - The number of characters to encode. - The maximum number of bytes produced by encoding the specified number of characters. - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the maximum number of characters produced by decoding the specified number of bytes. - The number of bytes to decode. - The maximum number of characters produced by decoding the specified number of bytes. - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Returns a Unicode byte order mark encoded in UTF-32 format, if the object is configured to supply one. - A byte array containing the Unicode byte order mark, if the object is configured to supply one. Otherwise, this method returns a zero-length byte array. - - - Decodes a range of bytes from a byte array into a string. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - A string that contains the results of decoding the specified sequence of bytes. - - is . - - or is less than zero.-or- - and do not denote a valid range in . - Error detection is enabled, and contains an invalid sequence of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for a complete explanation)-and- - is set to . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. A parameter specifies whether to allow optional characters. - - to specify that optional characters are allowed; otherwise, . - - - Gets a value indicating whether the specified object is equal to the current object. - An object to compare to the current object. - - if is a object and is equal to the current object; otherwise, . - - - Calculates the number of bytes produced by encoding a set of characters starting at the specified character pointer. - A pointer to the first character to encode. - The number of characters to encode. - The number of bytes produced by encoding the specified characters. - - is (in Visual Basic .NET). - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an int. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the number of bytes produced by encoding a set of characters from the specified character array. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The number of bytes produced by encoding the specified characters. - - is (). - - or is less than zero.-or- - and do not denote a valid range in .-or- The resulting number of bytes is greater than the maximum number that can be returned as an int. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the number of bytes produced by encoding the characters in the specified object. - The object containing the set of characters to encode. - The number of bytes produced by encoding the specified characters. - - is (). - The resulting number of bytes is greater than the maximum number that can be returned as an int. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Encodes a set of characters starting at the specified character pointer into a sequence of bytes that are stored starting at the specified byte pointer. - A pointer to the first character to encode. - The number of characters to encode. - A pointer to the location at which to start writing the resulting sequence of bytes. - The maximum number of bytes to write. - The actual number of bytes written at the location indicated by . - - is ().-or- - is (). - - or is less than zero. - - is less than the resulting number of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Encodes a set of characters from the specified character array into the specified byte array. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - The actual number of bytes written into . - - is ().-or- - is (). - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - - does not have enough capacity from to the end of the array to accommodate the resulting bytes. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Encodes a set of characters from the specified into the specified byte array. - The containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - The actual number of bytes written into . - - is ().-or- - is (). - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - - does not have enough capacity from to the end of the array to accommodate the resulting bytes. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer. - A pointer to the first byte to decode. - The number of bytes to decode. - The number of characters produced by decoding the specified sequence of bytes. - - is (). - - is less than zero.-or- The resulting number of characters is greater than the maximum number that can be returned as an int. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The number of characters produced by decoding the specified sequence of bytes. - - is (). - - or is less than zero.-or- - and do not denote a valid range in .-or- The resulting number of characters is greater than the maximum number that can be returned as an int. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Decodes a sequence of bytes starting at the specified byte pointer into a set of characters that are stored starting at the specified character pointer. - A pointer to the first byte to decode. - The number of bytes to decode. - A pointer to the location at which to start writing the resulting set of characters. - The maximum number of characters to write. - The actual number of characters written at the location indicated by . - - is ().-or- - is (). - - or is less than zero. - - is less than the resulting number of characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Decodes a sequence of bytes from the specified byte array into the specified character array. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The character array to contain the resulting set of characters. - The index at which to start writing the resulting set of characters. - The actual number of characters written into . - - is ().-or- - is (). - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - - does not have enough capacity from to the end of the array to accommodate the resulting characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Obtains a decoder that converts a UTF-7 encoded sequence of bytes into a sequence of Unicode characters. - A that converts a UTF-7 encoded sequence of bytes into a sequence of Unicode characters. - - - Obtains an encoder that converts a sequence of Unicode characters into a UTF-7 encoded sequence of bytes. - A that converts a sequence of Unicode characters into a UTF-7 encoded sequence of bytes. - - - Returns the hash code for the current object. - A 32-bit signed integer hash code. - - - Calculates the maximum number of bytes produced by encoding the specified number of characters. - The number of characters to encode. - The maximum number of bytes produced by encoding the specified number of characters. - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an int. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the maximum number of characters produced by decoding the specified number of bytes. - The number of bytes to decode. - The maximum number of characters produced by decoding the specified number of bytes. - - is less than zero.-or- The resulting number of characters is greater than the maximum number that can be returned as an int. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Decodes a range of bytes from a byte array into a string. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - A containing the results of decoding the specified sequence of bytes. - - is (). - - or is less than zero.-or- - and do not denote a valid range in . - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. A parameter specifies whether to provide a Unicode byte order mark. - - to specify that the method returns a Unicode byte order mark; otherwise, . See the Remarks section for more information. - - - Initializes a new instance of the class. Parameters specify whether to provide a Unicode byte order mark and whether to throw an exception when an invalid encoding is detected. - - to specify that the method should return a Unicode byte order mark; otherwise, . See the Remarks section for more information. - - to throw an exception when an invalid encoding is detected; otherwise, . - - - Determines whether the specified object is equal to the current object. - The object to compare with the current instance. - - if is an instance of and is equal to the current object; otherwise, . - - - Calculates the number of bytes produced by encoding a set of characters starting at the specified character pointer. - A pointer to the first character to encode. - The number of characters to encode. - The number of bytes produced by encoding the specified characters. - - is . - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled, and contains an invalid sequence of characters. - A fallback occurred (see Character Encoding in the .NET Framework for a complete explanation)-and- - is set to . - - - Calculates the number of bytes produced by encoding a set of characters from the specified character array. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The number of bytes produced by encoding the specified characters. - - is . - - or is less than zero.-or- - and do not denote a valid range in .-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled, and contains an invalid sequence of characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and-The property is set to . - - - Calculates the number of bytes produced by encoding the characters in the specified . - The containing the set of characters to encode. - The number of bytes produced by encoding the specified characters. - - is . - The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled, and contains an invalid sequence of characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Encodes a set of characters starting at the specified character pointer into a sequence of bytes that are stored starting at the specified byte pointer. - A pointer to the first character to encode. - The number of characters to encode. - A pointer to the location at which to start writing the resulting sequence of bytes. - The maximum number of bytes to write. - The actual number of bytes written at the location indicated by . - - is .-or- - is . - - or is less than zero. - Error detection is enabled, and contains an invalid sequence of characters.-or- - is less than the resulting number of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Encodes a set of characters from the specified character array into the specified byte array. - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - The actual number of bytes written into . - - is .-or- - is . - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - Error detection is enabled, and contains an invalid sequence of characters.-or- - does not have enough capacity from to the end of the array to accommodate the resulting bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Encodes a set of characters from the specified into the specified byte array. - The containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - The actual number of bytes written into . - - is .-or- - is . - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - Error detection is enabled, and contains an invalid sequence of characters.-or- - does not have enough capacity from to the end of the array to accommodate the resulting bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer. - A pointer to the first byte to decode. - The number of bytes to decode. - The number of characters produced by decoding the specified sequence of bytes. - - is . - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled, and contains an invalid sequence of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The number of characters produced by decoding the specified sequence of bytes. - - is . - - or is less than zero.-or- - and do not denote a valid range in .-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - Error detection is enabled, and contains an invalid sequence of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Decodes a sequence of bytes starting at the specified byte pointer into a set of characters that are stored starting at the specified character pointer. - A pointer to the first byte to decode. - The number of bytes to decode. - A pointer to the location at which to start writing the resulting set of characters. - The maximum number of characters to write. - The actual number of characters written at the location indicated by . - - is .-or- - is . - - or is less than zero. - Error detection is enabled, and contains an invalid sequence of bytes.-or- - is less than the resulting number of characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Decodes a sequence of bytes from the specified byte array into the specified character array. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The character array to contain the resulting set of characters. - The index at which to start writing the resulting set of characters. - The actual number of characters written into . - - is .-or- - is . - - or or is less than zero.-or- - and do not denote a valid range in .-or- - is not a valid index in . - Error detection is enabled, and contains an invalid sequence of bytes.-or- - does not have enough capacity from to the end of the array to accommodate the resulting characters. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Obtains a decoder that converts a UTF-8 encoded sequence of bytes into a sequence of Unicode characters. - A decoder that converts a UTF-8 encoded sequence of bytes into a sequence of Unicode characters. - - - Obtains an encoder that converts a sequence of Unicode characters into a UTF-8 encoded sequence of bytes. - A that converts a sequence of Unicode characters into a UTF-8 encoded sequence of bytes. - - - Returns the hash code for the current instance. - The hash code for the current instance. - - - Calculates the maximum number of bytes produced by encoding the specified number of characters. - The number of characters to encode. - The maximum number of bytes produced by encoding the specified number of characters. - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Calculates the maximum number of characters produced by decoding the specified number of bytes. - The number of bytes to decode. - The maximum number of characters produced by decoding the specified number of bytes. - - is less than zero.-or- The resulting number of bytes is greater than the maximum number that can be returned as an integer. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Returns a Unicode byte order mark encoded in UTF-8 format, if the encoding object is configured to supply one. - A byte array containing the Unicode byte order mark, if the encoding object is configured to supply one. Otherwise, this method returns a zero-length byte array. - - - Decodes a range of bytes from a byte array into a string. - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - A containing the results of decoding the specified sequence of bytes. - - is . - - or is less than zero.-or- - and do not denote a valid range in . - Error detection is enabled, and contains an invalid sequence of bytes. - A fallback occurred (see Character Encoding in the .NET Framework for complete explanation)-and- - is set to . - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class with a specified index for the abandoned mutex, if applicable, and a object that represents the mutex. - The index of the abandoned mutex in the array of wait handles if the exception is thrown for the method, or –1 if the exception is thrown for the or methods. - A object that represents the abandoned mutex. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data about the exception being thrown. - The object that contains contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - An error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and inner exception. - An error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a specified error message, the inner exception, the index for the abandoned mutex, if applicable, and a object that represents the mutex. - An error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - The index of the abandoned mutex in the array of wait handles if the exception is thrown for the method, or –1 if the exception is thrown for the or methods. - A object that represents the abandoned mutex. - - - Initializes a new instance of the class with a specified error message, the index of the abandoned mutex, if applicable, and the abandoned mutex. - An error message that explains the reason for the exception. - The index of the abandoned mutex in the array of wait handles if the exception is thrown for the method, or –1 if the exception is thrown for the or methods. - A object that represents the abandoned mutex. - - - Releases all resources used by the current instance of the class. - The structure is not used on the thread where it was created.-or-The structure has already been used to call or . - - - Determines whether the specified object is equal to the current structure. - An object to compare with the current structure. - - if is an structure and is equal to the current structure; otherwise, . - - - Determines whether the specified structure is equal to the current structure. - An structure to compare with the current structure. - - if is equal to the current structure; otherwise, . - - - Gets a hash code for the current structure. - A hash code for the current structure. - - - Compares two structures to determine whether they are equal. - An structure. - An structure. - - if the two structures are equal; otherwise, . - - - Compares two structures to determine whether they are not equal. - An structure. - An structure. - - if the structures are not equal; otherwise, . - - - Restores the flow of the execution context between threads. - The structure is not used on the thread where it was created.-or-The structure has already been used to call or . - - - Instantiates an instance that does not receive change notifications. - - - Instantiates an local instance that receives change notifications. - The delegate that is called whenever the current value changes on any thread. - - - Initializes a new instance of the class with a Boolean value indicating whether to set the initial state to signaled. - - to set the initial state to signaled; to set the initial state to non-signaled. - - - Initializes the . - The canceled state for the token. - - - Determines whether the current instance is equal to the specified . - The other object to which to compare this instance. - - if is a and if the two instances are equal; otherwise, . Two tokens are equal if they are associated with the same or if they were both constructed from public constructors and their values are equal. - An associated has been disposed. - - - Determines whether the current instance is equal to the specified token. - The other to which to compare this instance. - - if the instances are equal; otherwise, . Two tokens are equal if they are associated with the same or if they were both constructed from public constructors and their values are equal. - - - Serves as a hash function for a . - A hash code for the current instance. - - - Determines whether two instances are equal. - The first instance. - The second instance. - - if the instances are equal; otherwise, . - An associated has been disposed. - - - Determines whether two instances are not equal. - The first instance. - The second instance. - - if the instances are not equal; otherwise, . - An associated has been disposed. - - - Registers a delegate that will be called when this is canceled. - The delegate to be executed when the is canceled. - The instance that can be used to deregister the callback. - The associated has been disposed. - - is null. - - - Registers a delegate that will be called when this is canceled. - The delegate to be executed when the is canceled. - A value that indicates whether to capture the current and use it when invoking the . - The instance that can be used to deregister the callback. - The associated has been disposed. - - is null. - - - Registers a delegate that will be called when this is canceled. - The delegate to be executed when the is canceled. - The state to pass to the when the delegate is invoked. This may be null. - The instance that can be used to deregister the callback. - The associated has been disposed. - - is null. - - - Registers a delegate that will be called when this is canceled. - The delegate to be executed when the is canceled. - The state to pass to the when the delegate is invoked. This may be null. - A Boolean value that indicates whether to capture the current and use it when invoking the . - The instance that can be used to deregister the callback. - The associated has been disposed. - - is null. - - - Throws a if this token has had cancellation requested. - The token has had cancellation requested. - The associated has been disposed. - - - Releases all resources used by the current instance of the class. - - - Determines whether the current instance is equal to the specified . - The other object to which to compare this instance. - True, if both this and are equal. False, otherwise.Two instances are equal if they both refer to the output of a single call to the same Register method of a . - - - Determines whether the current instance is equal to the specified . - The other to which to compare this instance. - True, if both this and are equal. False, otherwise. Two instances are equal if they both refer to the output of a single call to the same Register method of a . - - - Serves as a hash function for a . - A hash code for the current instance. - - - Determines whether two instances are equal. - The first instance. - The second instance. - True if the instances are equal; otherwise, false. - - - Determines whether two instances are not equal. - The first instance. - The second instance. - True if the instances are not equal; otherwise, false. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class that will be canceled after the specified delay in milliseconds. - The time interval in milliseconds to wait before canceling this . - - is less than -1. - - - Initializes a new instance of the class that will be canceled after the specified time span. - The time interval to wait before canceling this . - - - - is less than -1 or greater than . - - - Communicates a request for cancellation. - This has been disposed. - An aggregate exception containing all the exceptions thrown by the registered callbacks on the associated . - - - Communicates a request for cancellation, and specifies whether remaining callbacks and cancelable operations should be processed. - - if exceptions should immediately propagate; otherwise, . - This has been disposed. - An aggregate exception containing all the exceptions thrown by the registered callbacks on the associated . - - - Schedules a cancel operation on this after the specified number of milliseconds. - The time span to wait before canceling this . - The exception thrown when this has been disposed. - The exception thrown when is less than -1. - - - Schedules a cancel operation on this after the specified time span. - The time span to wait before canceling this . - The exception thrown when this has been disposed. - The exception that is thrown when is less than -1 or greater than Int32.MaxValue. - - - Creates a that will be in the canceled state when any of the source tokens are in the canceled state. - The first cancellation token to observe. - The second cancellation token to observe. - A that is linked to the source tokens. - A associated with one of the source tokens has been disposed. - - - Creates a that will be in the canceled state when any of the source tokens in the specified array are in the canceled state. - An array that contains the cancellation token instances to observe. - A that is linked to the source tokens. - A associated with one of the source tokens has been disposed. - - is . - - is empty. - - - Releases all resources used by the current instance of the class. - - - Releases the unmanaged resources used by the class and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Captures the compressed stack from the current thread. - A object. - - - Creates a copy of the current compressed stack. - A object representing the current compressed stack. - - - Gets the compressed stack for the current thread. - A for the current thread. - A caller in the call chain does not have permission to access unmanaged code.-or-The request for failed. - - - Sets the object with the logical context information needed to recreate an instance of this execution context. - The object to be populated with serialization information. - The structure representing the destination context of the serialization. - - is . - - - Runs a method in the specified compressed stack on the current thread. - The to set. - A that represents the method to be run in the specified security context. - The object to be passed to the callback method. - - is . - - - Initializes a new instance of class with the specified count. - The number of signals initially required to set the . - - is less than 0. - - - Increments the 's current count by one. - The current instance has already been disposed. - The current instance is already set.-or- - is equal to or greater than . - - - Increments the 's current count by a specified value. - The value by which to increase . - The current instance has already been disposed. - - is less than or equal to 0. - The current instance is already set.-or- - is equal to or greater than after count is incremented by - - - Releases all resources used by the current instance of the class. - - - Releases the unmanaged resources used by the , and optionally releases the managed resources. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - Resets the to the value of . - The current instance has already been disposed.. - - - Resets the property to a specified value. - The number of signals required to set the . - The current instance has alread been disposed. - - is less than 0. - - - Registers a signal with the , decrementing the value of . - true if the signal caused the count to reach zero and the event was set; otherwise, false. - The current instance has already been disposed. - The current instance is already set. - - - Registers multiple signals with the , decrementing the value of by the specified amount. - The number of signals to register. - true if the signals caused the count to reach zero and the event was set; otherwise, false. - The current instance has already been disposed. - - is less than 1. - The current instance is already set. -or- Or is greater than . - - - Attempts to increment by one. - true if the increment succeeded; otherwise, false. If is already at zero, this method will return false. - The current instance has already been disposed. - - is equal to . - - - Attempts to increment by a specified value. - The value by which to increase . - true if the increment succeeded; otherwise, false. If is already at zero this will return false. - The current instance has already been disposed. - - is less than or equal to 0. - The current instance is already set.-or- - + is equal to or greater than . - - - Blocks the current thread until the is set. - The current instance has already been disposed. - - - Blocks the current thread until the is set, using a 32-bit signed integer to measure the timeout. - The number of milliseconds to wait, or (-1) to wait indefinitely. - true if the was set; otherwise, false. - The current instance has already been disposed. - - is a negative number other than -1, which represents an infinite time-out. - - - Blocks the current thread until the is set, using a 32-bit signed integer to measure the timeout, while observing a . - The number of milliseconds to wait, or (-1) to wait indefinitely. - The to observe. - true if the was set; otherwise, false. - - has been canceled. - The current instance has already been disposed. -or- The that created has already been disposed. - - is a negative number other than -1, which represents an infinite time-out. - - - Blocks the current thread until the is set, while observing a . - The to observe. - - has been canceled. - The current instance has already been disposed. -or- The that created has already been disposed. - - - Blocks the current thread until the is set, using a to measure the timeout. - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - true if the was set; otherwise, false. - The current instance has already been disposed. - - is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than . - - - Blocks the current thread until the is set, using a to measure the timeout, while observing a . - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - The to observe. - true if the was set; otherwise, false. - - has been canceled. - The current instance has already been disposed. -or- The that created has already been disposed. - - is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than . - - - Initializes a new instance of the class, specifying whether the wait handle is initially signaled, and whether it resets automatically or manually. - - to set the initial state to signaled; to set it to nonsignaled. - One of the values that determines whether the event resets automatically or manually. - - - Initializes a new instance of the class, specifying whether the wait handle is initially signaled if created as a result of this call, whether it resets automatically or manually, and the name of a system synchronization event. - - to set the initial state to signaled if the named event is created as a result of this call; to set it to nonsignaled. - One of the values that determines whether the event resets automatically or manually. - The name of a system-wide synchronization event. - A Win32 error occurred. - The named event exists and has access control security, but the user does not have . - The named event cannot be created, perhaps because a wait handle of a different type has the same name. - - is longer than 260 characters. - - - Initializes a new instance of the class, specifying whether the wait handle is initially signaled if created as a result of this call, whether it resets automatically or manually, the name of a system synchronization event, and a Boolean variable whose value after the call indicates whether the named system event was created. - - to set the initial state to signaled if the named event is created as a result of this call; to set it to nonsignaled. - One of the values that determines whether the event resets automatically or manually. - The name of a system-wide synchronization event. - When this method returns, contains if a local event was created (that is, if is or an empty string) or if the specified named system event was created; if the specified named system event already existed. This parameter is passed uninitialized. - A Win32 error occurred. - The named event exists and has access control security, but the user does not have . - The named event cannot be created, perhaps because a wait handle of a different type has the same name. - - is longer than 260 characters. - - - Initializes a new instance of the class, specifying whether the wait handle is initially signaled if created as a result of this call, whether it resets automatically or manually, the name of a system synchronization event, a Boolean variable whose value after the call indicates whether the named system event was created, and the access control security to be applied to the named event if it is created. - - to set the initial state to signaled if the named event is created as a result of this call; to set it to nonsignaled. - One of the values that determines whether the event resets automatically or manually. - The name of a system-wide synchronization event. - When this method returns, contains if a local event was created (that is, if is or an empty string) or if the specified named system event was created; if the specified named system event already existed. This parameter is passed uninitialized. - An object that represents the access control security to be applied to the named system event. - A Win32 error occurred. - The named event exists and has access control security, but the user does not have . - The named event cannot be created, perhaps because a wait handle of a different type has the same name. - - is longer than 260 characters. - - - Gets an object that represents the access control security for the named system event represented by the current object. - An object that represents the access control security for the named system event. - The current object represents a named system event, and the user does not have .-or-The current object represents a named system event, and was not opened with . - Not supported for Windows 98 or Windows Millennium Edition. - The method was previously called on this . - - - Opens the specified named synchronization event, if it already exists. - The name of the system synchronization event to open. - An object that represents the named system event. - - is an empty string. -or- - is longer than 260 characters. - - is . - The named system event does not exist. - A Win32 error occurred. - The named event exists, but the user does not have the security access required to use it. - - - Opens the specified named synchronization event, if it already exists, with the desired security access. - The name of the system synchronization event to open. - A bitwise combination of the enumeration values that represent the desired security access. - An object that represents the named system event. - - is an empty string.-or- - is longer than 260 characters. - - is . - The named system event does not exist. - A Win32 error occurred. - The named event exists, but the user does not have the desired security access. - - - Sets the state of the event to nonsignaled, causing threads to block. - - if the operation succeeds; otherwise, . - The method was previously called on this . - - - Sets the state of the event to signaled, allowing one or more waiting threads to proceed. - - if the operation succeeds; otherwise, . - The method was previously called on this . - - - Sets the access control security for a named system event. - An object that represents the access control security to be applied to the named system event. - - is . - The user does not have .-or-The event was not opened with . - The current object does not represent a named system event. - The method was previously called on this . - - - Opens the specified named synchronization event, if it already exists, with the desired security access, and returns a value that indicates whether the operation succeeded. - The name of the system synchronization event to open. - A bitwise combination of the enumeration values that represent the desired security access. - When this method returns, contains a object that represents the named synchronization event if the call succeeded, or if the call failed. This parameter is treated as uninitialized. - - if the named synchronization event was opened successfully; otherwise, . - - is an empty string.-or- - is longer than 260 characters. - - is . - A Win32 error occurred. - The named event exists, but the user does not have the desired security access. - - - Opens the specified named synchronization event, if it already exists, and returns a value that indicates whether the operation succeeded. - The name of the system synchronization event to open. - When this method returns, contains a object that represents the named synchronization event if the call succeeded, or if the call failed. This parameter is treated as uninitialized. - - if the named synchronization event was opened successfully; otherwise, . - - is an empty string.-or- - is longer than 260 characters. - - is . - A Win32 error occurred. - The named event exists, but the user does not have the desired security access. - - - Captures the execution context from the current thread. - An object representing the execution context for the current thread. - - - Creates a copy of the current execution context. - An object representing the current execution context. - This context cannot be copied because it is used. Only newly captured contexts can be copied. - - - Releases all resources used by the current instance of the class. - - - Sets the specified object with the logical context information needed to recreate an instance of the current execution context. - The object to be populated with serialization information. - The structure representing the destination context of the serialization. - - is . - - - Indicates whether the flow of the execution context is currently suppressed. - - if the flow is suppressed; otherwise, . - - - Restores the flow of the execution context across asynchronous threads. - The context flow cannot be restored because it is not being suppressed. - - - Runs a method in a specified execution context on the current thread. - The to set. - A delegate that represents the method to be run in the provided execution context. - The object to pass to the callback method. - - is .-or- - was not acquired through a capture operation. -or- - has already been used as the argument to a call. - - - Suppresses the flow of the execution context across asynchronous threads. - An structure for restoring the flow. - The context flow is already suppressed. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class using the specified state. - An object representing the host execution context state. - - - Creates a copy of the current host execution context. - A object representing the host context for the current thread. - - - Releases all resources used by the current instance of the class. - - - When overridden in a derived class, releases the unmanaged resources used by the , and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Initializes a new instance of the class. - - - Captures the host execution context from the current thread. - A object representing the host execution context of the current thread. - - - Restores the host execution context to its prior state. - The previous context state to revert to. - - is .-or- - was not created on the current thread.-or- - is not the last state for the . - - - Sets the current host execution context to the specified host execution context. - The to be set. - An object for restoring the to its previous state. - - was not acquired through a capture operation. -or- - has been the argument to a previous method call. - - - Adds two 32-bit integers and replaces the first integer with the sum, as an atomic operation. - A variable containing the first value to be added. The sum of the two values is stored in . - The value to be added to the integer at . - The new value stored at . - The address of is a null pointer. - - - Adds two 64-bit integers and replaces the first integer with the sum, as an atomic operation. - A variable containing the first value to be added. The sum of the two values is stored in . - The value to be added to the integer at . - The new value stored at . - The address of is a null pointer. - - - Compares two double-precision floating point numbers for equality and, if they are equal, replaces the first value. - The destination, whose value is compared with and possibly replaced. - The value that replaces the destination value if the comparison results in equality. - The value that is compared to the value at . - The original value in . - The address of is a null pointer. - - - Compares two 32-bit signed integers for equality and, if they are equal, replaces the first value. - The destination, whose value is compared with and possibly replaced. - The value that replaces the destination value if the comparison results in equality. - The value that is compared to the value at . - The original value in . - The address of is a null pointer. - - - Compares two 64-bit signed integers for equality and, if they are equal, replaces the first value. - The destination, whose value is compared with and possibly replaced. - The value that replaces the destination value if the comparison results in equality. - The value that is compared to the value at . - The original value in . - The address of is a null pointer. - - - Compares two platform-specific handles or pointers for equality and, if they are equal, replaces the first one. - The destination , whose value is compared with the value of and possibly replaced by . - The that replaces the destination value if the comparison results in equality. - The that is compared to the value at . - The original value in . - The address of is a null pointer. - - - Compares two objects for reference equality and, if they are equal, replaces the first object. - The destination object that is compared with and possibly replaced. - The object that replaces the destination object if the comparison results in equality. - The object that is compared to the object at . - The original value in . - The address of is a null pointer. - - - Compares two single-precision floating point numbers for equality and, if they are equal, replaces the first value. - The destination, whose value is compared with and possibly replaced. - The value that replaces the destination value if the comparison results in equality. - The value that is compared to the value at . - The original value in . - The address of is a null pointer. - - - Compares two instances of the specified reference type for equality and, if they are equal, replaces the first one. - The destination, whose value is compared with and possibly replaced. This is a reference parameter ( in C#, in Visual Basic). - The value that replaces the destination value if the comparison results in equality. - The value that is compared to the value at . - The type to be used for , , and . This type must be a reference type. - The original value in . - The address of is a null pointer. - - - Decrements a specified variable and stores the result, as an atomic operation. - The variable whose value is to be decremented. - The decremented value. - The address of is a null pointer. - - - Decrements the specified variable and stores the result, as an atomic operation. - The variable whose value is to be decremented. - The decremented value. - The address of is a null pointer. - - - Sets a double-precision floating point number to a specified value and returns the original value, as an atomic operation. - The variable to set to the specified value. - The value to which the parameter is set. - The original value of . - The address of is a null pointer. - - - Sets a 32-bit signed integer to a specified value and returns the original value, as an atomic operation. - The variable to set to the specified value. - The value to which the parameter is set. - The original value of . - The address of is a null pointer. - - - Sets a 64-bit signed integer to a specified value and returns the original value, as an atomic operation. - The variable to set to the specified value. - The value to which the parameter is set. - The original value of . - The address of is a null pointer. - - - Sets a platform-specific handle or pointer to a specified value and returns the original value, as an atomic operation. - The variable to set to the specified value. - The value to which the parameter is set. - The original value of . - The address of is a null pointer. - - - Sets an object to a specified value and returns a reference to the original object, as an atomic operation. - The variable to set to the specified value. - The value to which the parameter is set. - The original value of . - The address of is a null pointer. - - - Sets a single-precision floating point number to a specified value and returns the original value, as an atomic operation. - The variable to set to the specified value. - The value to which the parameter is set. - The original value of . - The address of is a null pointer. - - - Sets a variable of the specified type to a specified value and returns the original value, as an atomic operation. - The variable to set to the specified value. This is a reference parameter ( in C#, in Visual Basic). - The value to which the parameter is set. - The type to be used for and . This type must be a reference type. - The original value of . - The address of is a null pointer. - - - Increments a specified variable and stores the result, as an atomic operation. - The variable whose value is to be incremented. - The incremented value. - The address of is a null pointer. - - - Increments a specified variable and stores the result, as an atomic operation. - The variable whose value is to be incremented. - The incremented value. - The address of is a null pointer. - - - - Synchronizes memory access as follows: The processor that executes the current thread cannot reorder instructions in such a way that memory accesses before the call to execute after memory accesses that follow the call to . - - - Returns a 64-bit value, loaded as an atomic operation. - The 64-bit value to be loaded. - The loaded value. - - - Initializes a target reference type with the type's default constructor if it hasn't already been initialized. - A reference of type to initialize if it has not already been initialized. - The type of the reference to be initialized. - The initialized reference of type . - Permissions to access the constructor of type were missing. - Type does not have a default constructor. - - - Initializes a target reference or value type with its default constructor if it hasn't already been initialized. - A reference or value of type to initialize if it hasn't already been initialized. - A reference to a Boolean value that determines whether the target has already been initialized. - A reference to an object used as the mutually exclusive lock for initializing . If is , a new object will be instantiated. - The type of the reference to be initialized. - The initialized value of type . - Permissions to access the constructor of type were missing. - Type does not have a default constructor. - - - Initializes a target reference or value type by using a specified function if it hasn't already been initialized. - A reference or value of type to initialize if it hasn't already been initialized. - A reference to a Boolean value that determines whether the target has already been initialized. - A reference to an object used as the mutually exclusive lock for initializing . If is , a new object will be instantiated. - The function that is called to initialize the reference or value. - The type of the reference to be initialized. - The initialized value of type . - Permissions to access the constructor of type were missing. - Type does not have a default constructor. - - - Initializes a target reference type by using a specified function if it hasn't already been initialized. - The reference of type to initialize if it hasn't already been initialized. - The function that is called to initialize the reference. - The reference type of the reference to be initialized. - The initialized value of type . - Type does not have a default constructor. - - returned null (Nothing in Visual Basic). - - - Indicates whether a specified object is a and is equal to the current instance. - The object to compare to the current instance. - - if the value of is equal to the value of the current instance; otherwise, . - - - Indicates whether the current instance is equal to the specified . - The to compare to the current instance. - - if is equal to the value of the current instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Indicates whether two structures are equal. - The to compare to . - The to compare to . - - if is equal to ; otherwise, . - - - Indicates whether two structures are not equal. - The to compare to . - The to compare to . - - if is not equal to ; otherwise, . - - - Initializes a new instance of the class with a system-supplied message that describes the error. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified message that describes the error. - The message that describes the exception. The caller of this constructor must make sure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The message that describes the exception. The caller of this constructor must make sure that this string has been localized for the current system culture. - The exception that caused the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a Boolean value indicating whether to set the initial state to signaled. - - to set the initial state signaled; to set the initial state to nonsignaled. - - - Initializes a new instance of the class with an initial state of nonsignaled. - - - Initializes a new instance of the class with a Boolean value indicating whether to set the intial state to signaled. - true to set the initial state signaled; false to set the initial state to nonsignaled. - - - Initializes a new instance of the class with a Boolean value indicating whether to set the intial state to signaled and a specified spin count. - true to set the initial state to signaled; false to set the initial state to nonsignaled. - The number of spin waits that will occur before falling back to a kernel-based wait operation. - - is less than 0 or greater than the maximum allowed value. - - - Releases all resources used by the current instance of the class. - - - Releases the unmanaged resources used by the , and optionally releases the managed resources. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - Sets the state of the event to nonsignaled, which causes threads to block. - The object has already been disposed. - - - Sets the state of the event to signaled, which allows one or more threads waiting on the event to proceed. - - - Blocks the current thread until the current is set. - The maximum number of waiters has been exceeded. - The object has already been disposed. - - - Blocks the current thread until the current is set, using a 32-bit signed integer to measure the time interval. - The number of milliseconds to wait, or (-1) to wait indefinitely. - - if the was set; otherwise, . - - is a negative number other than -1, which represents an infinite time-out. - The maximum number of waiters has been exceeded. - The object has already been disposed. - - - Blocks the current thread until the current is set, using a 32-bit signed integer to measure the time interval, while observing a . - The number of milliseconds to wait, or (-1) to wait indefinitely. - The to observe. - - if the was set; otherwise, . - - was canceled. - - is a negative number other than -1, which represents an infinite time-out. - The maximum number of waiters has been exceeded. - The object has already been disposed or the that created has been disposed. - - - Blocks the current thread until the current receives a signal, while observing a . - The to observe. - The maximum number of waiters has been exceeded. - - was canceled. - The object has already been disposed or the that created has been disposed. - - - Blocks the current thread until the current is set, using a to measure the time interval. - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - - if the was set; otherwise, . - - is a negative number other than -1 milliseconds, which represents an infinite time-out. -or-The number of milliseconds in is greater than . - The maximum number of waiters has been exceeded. - The object has already been disposed. - - - Blocks the current thread until the current is set, using a to measure the time interval, while observing a . - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - The to observe. - - if the was set; otherwise, . - - was canceled. - - is a negative number other than -1 milliseconds, which represents an infinite time-out. -or-The number of milliseconds in is greater than . - The maximum number of waiters has been exceeded. - The object has already been disposed or the that created has been disposed. - - - Acquires an exclusive lock on the specified object. - The object on which to acquire the monitor lock. - The parameter is . - - - Acquires an exclusive lock on the specified object, and atomically sets a value that indicates whether the lock was taken. - The object on which to wait. - The result of the attempt to acquire the lock, passed by reference. The input must be . The output is if the lock is acquired; otherwise, the output is . The output is set even if an exception occurs during the attempt to acquire the lock. Note   If no exception occurs, the output of this method is always . - The input to is . - The parameter is . - - - Releases an exclusive lock on the specified object. - The object on which to release the lock. - The parameter is . - The current thread does not own the lock for the specified object. - - - Determines whether the current thread holds the lock on the specified object. - The object to test. - - if the current thread holds the lock on ; otherwise, . - - is . - - - Notifies a thread in the waiting queue of a change in the locked object's state. - The object a thread is waiting for. - The parameter is . - The calling thread does not own the lock for the specified object. - - - Notifies all waiting threads of a change in the object's state. - The object that sends the pulse. - The parameter is . - The calling thread does not own the lock for the specified object. - - - Attempts to acquire an exclusive lock on the specified object. - The object on which to acquire the lock. - - if the current thread acquires the lock; otherwise, . - The parameter is . - - - Attempts to acquire an exclusive lock on the specified object, and atomically sets a value that indicates whether the lock was taken. - The object on which to acquire the lock. - The result of the attempt to acquire the lock, passed by reference. The input must be . The output is if the lock is acquired; otherwise, the output is . The output is set even if an exception occurs during the attempt to acquire the lock. - The input to is . - The parameter is . - - - Attempts, for the specified number of milliseconds, to acquire an exclusive lock on the specified object. - The object on which to acquire the lock. - The number of milliseconds to wait for the lock. - - if the current thread acquires the lock; otherwise, . - The parameter is . - - is negative, and not equal to . - - - Attempts, for the specified number of milliseconds, to acquire an exclusive lock on the specified object, and atomically sets a value that indicates whether the lock was taken. - The object on which to acquire the lock. - The number of milliseconds to wait for the lock. - The result of the attempt to acquire the lock, passed by reference. The input must be . The output is if the lock is acquired; otherwise, the output is . The output is set even if an exception occurs during the attempt to acquire the lock. - The input to is . - The parameter is . - - is negative, and not equal to . - - - Attempts, for the specified amount of time, to acquire an exclusive lock on the specified object. - The object on which to acquire the lock. - A representing the amount of time to wait for the lock. A value of –1 millisecond specifies an infinite wait. - - if the current thread acquires the lock; otherwise, . - The parameter is . - The value of in milliseconds is negative and is not equal to (–1 millisecond), or is greater than . - - - Attempts, for the specified amount of time, to acquire an exclusive lock on the specified object, and atomically sets a value that indicates whether the lock was taken. - The object on which to acquire the lock. - The amount of time to wait for the lock. A value of –1 millisecond specifies an infinite wait. - The result of the attempt to acquire the lock, passed by reference. The input must be . The output is if the lock is acquired; otherwise, the output is . The output is set even if an exception occurs during the attempt to acquire the lock. - The input to is . - The parameter is . - The value of in milliseconds is negative and is not equal to (–1 millisecond), or is greater than . - - - Releases the lock on an object and blocks the current thread until it reacquires the lock. - The object on which to wait. - - if the call returned because the caller reacquired the lock for the specified object. This method does not return if the lock is not reacquired. - The parameter is . - The calling thread does not own the lock for the specified object. - The thread that invokes is later interrupted from the waiting state. This happens when another thread calls this thread's method. - - - Releases the lock on an object and blocks the current thread until it reacquires the lock. If the specified time-out interval elapses, the thread enters the ready queue. - The object on which to wait. - The number of milliseconds to wait before the thread enters the ready queue. - - if the lock was reacquired before the specified time elapsed; if the lock was reacquired after the specified time elapsed. The method does not return until the lock is reacquired. - The parameter is . - The calling thread does not own the lock for the specified object. - The thread that invokes is later interrupted from the waiting state. This happens when another thread calls this thread's method. - The value of the parameter is negative, and is not equal to . - - - Releases the lock on an object and blocks the current thread until it reacquires the lock. If the specified time-out interval elapses, the thread enters the ready queue. This method also specifies whether the synchronization domain for the context (if in a synchronized context) is exited before the wait and reacquired afterward. - The object on which to wait. - The number of milliseconds to wait before the thread enters the ready queue. - - to exit and reacquire the synchronization domain for the context (if in a synchronized context) before the wait; otherwise, . - - if the lock was reacquired before the specified time elapsed; if the lock was reacquired after the specified time elapsed. The method does not return until the lock is reacquired. - The parameter is . - - is not invoked from within a synchronized block of code. - The thread that invokes is later interrupted from the waiting state. This happens when another thread calls this thread's method. - The value of the parameter is negative, and is not equal to . - - - Releases the lock on an object and blocks the current thread until it reacquires the lock. If the specified time-out interval elapses, the thread enters the ready queue. - The object on which to wait. - A representing the amount of time to wait before the thread enters the ready queue. - - if the lock was reacquired before the specified time elapsed; if the lock was reacquired after the specified time elapsed. The method does not return until the lock is reacquired. - The parameter is . - The calling thread does not own the lock for the specified object. - The thread that invokes is later interrupted from the waiting state. This happens when another thread calls this thread's method. - The value of the parameter in milliseconds is negative and does not represent (–1 millisecond), or is greater than . - - - Releases the lock on an object and blocks the current thread until it reacquires the lock. If the specified time-out interval elapses, the thread enters the ready queue. Optionally exits the synchronization domain for the synchronized context before the wait and reacquires the domain afterward. - The object on which to wait. - A representing the amount of time to wait before the thread enters the ready queue. - - to exit and reacquire the synchronization domain for the context (if in a synchronized context) before the wait; otherwise, . - - if the lock was reacquired before the specified time elapsed; if the lock was reacquired after the specified time elapsed. The method does not return until the lock is reacquired. - The parameter is . - - is not invoked from within a synchronized block of code. - The thread that invokes Wait is later interrupted from the waiting state. This happens when another thread calls this thread's method. - The parameter is negative and does not represent (–1 millisecond), or is greater than . - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with a Boolean value that indicates whether the calling thread should have initial ownership of the mutex. - - to give the calling thread initial ownership of the mutex; otherwise, . - - - Initializes a new instance of the class with a Boolean value that indicates whether the calling thread should have initial ownership of the mutex, and a string that is the name of the mutex. - - to give the calling thread initial ownership of the named system mutex if the named system mutex is created as a result of this call; otherwise, . - The name of the . If the value is , the is unnamed. - The named mutex exists and has access control security, but the user does not have . - A Win32 error occurred. - The named mutex cannot be created, perhaps because a wait handle of a different type has the same name. - - is longer than 260 characters. - - - Initializes a new instance of the class with a Boolean value that indicates whether the calling thread should have initial ownership of the mutex, a string that is the name of the mutex, and a Boolean value that, when the method returns, indicates whether the calling thread was granted initial ownership of the mutex. - - to give the calling thread initial ownership of the named system mutex if the named system mutex is created as a result of this call; otherwise, . - The name of the . If the value is , the is unnamed. - When this method returns, contains a Boolean that is if a local mutex was created (that is, if is or an empty string) or if the specified named system mutex was created; if the specified named system mutex already existed. This parameter is passed uninitialized. - The named mutex exists and has access control security, but the user does not have . - A Win32 error occurred. - The named mutex cannot be created, perhaps because a wait handle of a different type has the same name. - - is longer than 260 characters. - - - Initializes a new instance of the class with a Boolean value that indicates whether the calling thread should have initial ownership of the mutex, a string that is the name of the mutex, a Boolean variable that, when the method returns, indicates whether the calling thread was granted initial ownership of the mutex, and the access control security to be applied to the named mutex. - - to give the calling thread initial ownership of the named system mutex if the named system mutex is created as a result of this call; otherwise, . - The name of the system mutex. If the value is , the is unnamed. - When this method returns, contains a Boolean that is if a local mutex was created (that is, if is or an empty string) or if the specified named system mutex was created; if the specified named system mutex already existed. This parameter is passed uninitialized. - A object that represents the access control security to be applied to the named system mutex. - A Win32 error occurred. - The named mutex exists and has access control security, but the user does not have . - The named mutex cannot be created, perhaps because a wait handle of a different type has the same name. - - is longer than 260 characters. - - - Gets a object that represents the access control security for the named mutex. - A object that represents the access control security for the named mutex. - The current object represents a named system mutex, but the user does not have .-or-The current object represents a named system mutex, and was not opened with . - Not supported for Windows 98 or Windows Millennium Edition. - - - Opens the specified named mutex, if it already exists. - The name of the system mutex to open. - An object that represents the named system mutex. - - is an empty string.-or- - is longer than 260 characters. - - is . - The named mutex does not exist. - A Win32 error occurred. - The named mutex exists, but the user does not have the security access required to use it. - - - Opens the specified named mutex, if it already exists, with the desired security access. - The name of the system mutex to open. - A bitwise combination of the enumeration values that represent the desired security access. - An object that represents the named system mutex. - - is an empty string. -or- - is longer than 260 characters. - - is . - The named mutex does not exist. - A Win32 error occurred. - The named mutex exists, but the user does not have the desired security access. - - - Releases the once. - The calling thread does not own the mutex. - The current instance has already been disposed. - - - Sets the access control security for a named system mutex. - A object that represents the access control security to be applied to the named system mutex. - - is . - The user does not have .-or-The mutex was not opened with . - The current object does not represent a named system mutex. - - - Opens the specified named mutex, if it already exists, with the desired security access, and returns a value that indicates whether the operation succeeded. - The name of the system mutex to open. - A bitwise combination of the enumeration values that represent the desired security access. - When this method returns, contains a object that represents the named mutex if the call succeeded, or if the call failed. This parameter is treated as uninitialized. - - if the named mutex was opened successfully; otherwise, . - - is an empty string.-or- - is longer than 260 characters. - - is . - A Win32 error occurred. - The named mutex exists, but the user does not have the security access required to use it. - - - Opens the specified named mutex, if it already exists, and returns a value that indicates whether the operation succeeded. - The name of the system mutex to open. - When this method returns, contains a object that represents the named mutex if the call succeeded, or if the call failed. This parameter is treated as uninitialized. - - if the named mutex was opened successfully; otherwise, . - - is an empty string.-or- - is longer than 260 characters. - - is . - A Win32 error occurred. - The named mutex exists, but the user does not have the security access required to use it. - - - Initializes a new, empty instance of the class. - - - Initializes a new instance of the class with the specified file position, the 32-bit integer handle to an event that is signaled when the I/O operation is complete, and an interface through which to return the results of the operation. - The low word of the file position at which to start the transfer. - The high word of the file position at which to start the transfer. - The handle to an event that is signaled when the I/O operation is complete. - An object that implements the interface and provides status information on the I/O operation. - - - Initializes a new instance of the class with the specified file position, the handle to an event that is signaled when the I/O operation is complete, and an interface through which to return the results of the operation. - The low word of the file position at which to start the transfer. - The high word of the file position at which to start the transfer. - The handle to an event that is signaled when the I/O operation is complete. - An object that implements the interface and provides status information on the I/O operation. - - - Frees the unmanaged memory associated with a native overlapped structure allocated by the method. - A pointer to the structure to be freed. - - is . - - - Packs the current instance into a structure, specifying the delegate to be invoked when the asynchronous I/O operation is complete. - An delegate that represents the callback method invoked when the asynchronous I/O operation completes. - An unmanaged pointer to a structure. - The current has already been packed. - - - Packs the current instance into a structure, specifying a delegate that is invoked when the asynchronous I/O operation is complete and a managed object that serves as a buffer. - An delegate that represents the callback method invoked when the asynchronous I/O operation completes. - An object or array of objects representing the input or output buffer for the operation. Each object represents a buffer, for example an array of bytes. - An unmanaged pointer to a structure. - The current has already been packed. - - - Unpacks the specified unmanaged structure into a managed object. - An unmanaged pointer to a structure. - An object containing the information unpacked from the native structure. - - is . - - - Packs the current instance into a structure specifying the delegate to invoke when the asynchronous I/O operation is complete. Does not propagate the calling stack. - An delegate that represents the callback method invoked when the asynchronous I/O operation completes. - An unmanaged pointer to a structure. - The current has already been packed. - - - Packs the current instance into a structure, specifying the delegate to invoke when the asynchronous I/O operation is complete and the managed object that serves as a buffer. Does not propagate the calling stack. - An delegate that represents the callback method invoked when the asynchronous I/O operation completes. - An object or array of objects representing the input or output buffer for the operation. Each object represents a buffer, for example an array of bytes. - An unmanaged pointer to a structure. - The caller does not have the required permission. - The current is already packed. - - - Initializes a new instance of the class and specifies a delegate to invoke when each asynchronous I/O operation is complete, a user-provided object that provides context, and managed objects that serve as buffers. - A delegate that represents the callback method to invoke when each asynchronous I/O operation completes. - A user-supplied object that distinguishes the instance produced from this object from other instances. Its value can be . - An object or array of objects that represent the input or output buffer for the operations. Each object represents a buffer, such as an array of bytes. Its value can be . - - is . - This method was called after the was disposed. - - - Frees the resources associated with this instance. - - - Frees unmanaged resources before the current instance is reclaimed by garbage collection. - - - Initializes a new instance of the class. - - - Acquires a reader lock, using an value for the time-out. - The time-out in milliseconds. - - - expires before the lock request is granted. - - - Acquires a reader lock, using a value for the time-out. - A specifying the time-out period. - - expires before the lock request is granted. - - specifies a negative value other than -1 milliseconds. - - - Acquires the writer lock, using an value for the time-out. - The time-out in milliseconds. - - - expires before the lock request is granted. - - - Acquires the writer lock, using a value for the time-out. - The specifying the time-out period. - - expires before the lock request is granted. - - specifies a negative value other than -1 milliseconds. - - - Indicates whether the writer lock has been granted to any thread since the sequence number was obtained. - The sequence number. - - if the writer lock has been granted to any thread since the sequence number was obtained; otherwise, . - - - Restores the lock status of the thread to what it was before was called. - A returned by . - The thread does not have the writer lock. - The address of is a null pointer. - - - Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the object. - - - Releases the lock, regardless of the number of times the thread acquired the lock. - A value representing the released lock. - - - Decrements the lock count. - The thread does not have any reader or writer locks. - - - Decrements the lock count on the writer lock. - The thread does not have the writer lock. - - - Restores the lock status of the thread to what it was before calling . - A returned by . - The address of is a null pointer. - - - Upgrades a reader lock to the writer lock, using an value for the time-out. - The time-out in milliseconds. - A value. - - - expires before the lock request is granted. - - - Upgrades a reader lock to the writer lock, using a value for the time-out. - The specifying the time-out period. - A value. - - expires before the lock request is granted. - - specifies a negative value other than -1 milliseconds. - - - Cancels a registered wait operation issued by the method. - The to be signaled. - - if the function succeeds; otherwise, . - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data about the exception being thrown. - The object that contains contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class, specifying the initial number of requests that can be granted concurrently. - The initial number of requests for the semaphore that can be granted concurrently. - - is less than 0. - - - Initializes a new instance of the class, specifying the initial and maximum number of requests that can be granted concurrently. - The initial number of requests for the semaphore that can be granted concurrently. - The maximum number of requests for the semaphore that can be granted concurrently. - - is less than 0, or is greater than , or is equal to or less than 0. - - - Releases all resources used by the current instance of the class. - - - Releases the unmanaged resources used by the , and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Releases the object once. - The previous count of the . - The current instance has already been disposed. - The has already reached its maximum size. - - - Releases the object a specified number of times. - The number of times to exit the semaphore. - The previous count of the . - The current instance has already been disposed. - - is less than 1. - The has already reached its maximum size. - - - Blocks the current thread until it can enter the . - The current instance has already been disposed. - - - Blocks the current thread until it can enter the , using a 32-bit signed integer that specifies the timeout. - The number of milliseconds to wait, or (-1) to wait indefinitely. - - if the current thread successfully entered the ; otherwise, . - - is a negative number other than -1, which represents an infinite time-out. - - - Blocks the current thread until it can enter the , using a 32-bit signed integer that specifies the timeout, while observing a . - The number of milliseconds to wait, or (-1) to wait indefinitely. - The to observe. - - if the current thread successfully entered the ; otherwise, . - - was canceled. - - is a negative number other than -1, which represents an infinite time-out. - The instance has been disposed, or the that created has been disposed. - - - Blocks the current thread until it can enter the , while observing a . - The token to observe. - - was canceled. - The current instance has already been disposed.-or-The that created has already been disposed. - - - Blocks the current thread until it can enter the , using a to specify the timeout. - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - - if the current thread successfully entered the ; otherwise, . - - is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than . - The semaphoreSlim instance has been disposed - - - Blocks the current thread until it can enter the , using a that specifies the timeout, while observing a . - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - The to observe. - - if the current thread successfully entered the ; otherwise, . - - was canceled. - - is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than . - The semaphoreSlim instance has been disposed - - The that created has already been disposed. - - - Asynchronously waits to enter the . - A task that will complete when the semaphore has been entered. - - - Asynchronously waits to enter the , using a 32-bit signed integer to measure the time interval. - The number of milliseconds to wait, or (-1) to wait indefinitely. - A task that will complete with a result of if the current thread successfully entered the , otherwise with a result of . - The current instance has already been disposed. - - is a negative number other than -1, which represents an infinite time-out. - - - Asynchronously waits to enter the , using a 32-bit signed integer to measure the time interval, while observing a . - The number of milliseconds to wait, or (-1) to wait indefinitely. - The to observe. - A task that will complete with a result of if the current thread successfully entered the , otherwise with a result of . - - is a negative number other than -1, which represents an infinite time-out. - The current instance has already been disposed. - - was canceled. - - - Asynchronously waits to enter the , while observing a . - The token to observe. - A task that will complete when the semaphore has been entered. - The current instance has already been disposed. - - was canceled. - - - Asynchronously waits to enter the , using a to measure the time interval. - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - A task that will complete with a result of if the current thread successfully entered the , otherwise with a result of . - The current instance has already been disposed. - - is a negative number other than -1, which represents an infinite time-out -or- timeout is greater than . - - - Asynchronously waits to enter the , using a to measure the time interval, while observing a . - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - The token to observe. - A task that will complete with a result of if the current thread successfully entered the , otherwise with a result of . - - is a negative number other than -1, which represents an infinite time-out-or-timeout is greater than . - - was canceled. - - - Initializes a new instance of the structure with the option to track thread IDs to improve debugging. - Whether to capture and use thread IDs for debugging purposes. - - - Acquires the lock in a reliable manner, such that even if an exception occurs within the method call, can be examined reliably to determine whether the lock was acquired. - True if the lock is acquired; otherwise, false. must be initialized to false prior to calling this method. - The argument must be initialized to false prior to calling Enter. - Thread ownership tracking is enabled, and the current thread has already acquired this lock. - - - Releases the lock. - Thread ownership tracking is enabled, and the current thread is not the owner of this lock. - - - Releases the lock. - A Boolean value that indicates whether a memory fence should be issued in order to immediately publish the exit operation to other threads. - Thread ownership tracking is enabled, and the current thread is not the owner of this lock. - - - Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, can be examined reliably to determine whether the lock was acquired. - True if the lock is acquired; otherwise, false. must be initialized to false prior to calling this method. - The argument must be initialized to false prior to calling TryEnter. - Thread ownership tracking is enabled, and the current thread has already acquired this lock. - - - Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, can be examined reliably to determine whether the lock was acquired. - The number of milliseconds to wait, or (-1) to wait indefinitely. - True if the lock is acquired; otherwise, false. must be initialized to false prior to calling this method. - - is a negative number other than -1, which represents an infinite time-out. - The argument must be initialized to false prior to calling TryEnter. - Thread ownership tracking is enabled, and the current thread has already acquired this lock. - - - Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, can be examined reliably to determine whether the lock was acquired. - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - True if the lock is acquired; otherwise, false. must be initialized to false prior to calling this method. - - is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than milliseconds. - The argument must be initialized to false prior to calling TryEnter. - Thread ownership tracking is enabled, and the current thread has already acquired this lock. - - - Resets the spin counter. - - - Performs a single spin. - - - Spins until the specified condition is satisfied. - A delegate to be executed over and over until it returns true. - The argument is null. - - - Spins until the specified condition is satisfied or until the specified timeout is expired. - A delegate to be executed over and over until it returns true. - The number of milliseconds to wait, or (-1) to wait indefinitely. - True if the condition is satisfied within the timeout; otherwise, false - The argument is null. - - is a negative number other than -1, which represents an infinite time-out. - - - Spins until the specified condition is satisfied or until the specified timeout is expired. - A delegate to be executed over and over until it returns true. - A that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely. - True if the condition is satisfied within the timeout; otherwise, false - The argument is null. - - is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than . - - - Creates a new instance of the class. - - - When overridden in a derived class, creates a copy of the synchronization context. - A new object. - - - Determines if wait notification is required. - - if wait notification is required; otherwise, . - - - When overridden in a derived class, responds to the notification that an operation has completed. - - - When overridden in a derived class, responds to the notification that an operation has started. - - - When overridden in a derived class, dispatches an asynchronous message to a synchronization context. - The delegate to call. - The object passed to the delegate. - - - When overridden in a derived class, dispatches a synchronous message to a synchronization context. - The delegate to call. - The object passed to the delegate. - The method was called in a Windows Store app. The implementation of for Windows Store apps does not support the method. - - - Sets the current synchronization context. - The object to be set. - - - Sets notification that wait notification is required and prepares the callback method so it can be called more reliably when a wait occurs. - - - Waits for any or all the elements in the specified array to receive a signal. - An array of type that contains the native operating system handles. - - to wait for all handles; to wait for any handle. - The number of milliseconds to wait, or (-1) to wait indefinitely. - The array index of the object that satisfied the wait. - - is null. - - - Helper function that waits for any or all the elements in the specified array to receive a signal. - An array of type that contains the native operating system handles. - - to wait for all handles; to wait for any handle. - The number of milliseconds to wait, or (-1) to wait indefinitely. - The array index of the object that satisfied the wait. - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class that targets the specified scheduler. - The target scheduler on which this pair should execute. - - - Initializes a new instance of the class that targets the specified scheduler with a maximum concurrency level. - The target scheduler on which this pair should execute. - The maximum number of tasks to run concurrently. - - - Initializes a new instance of the class that targets the specified scheduler with a maximum concurrency level and a maximum number of scheduled tasks that may be processed as a unit. - The target scheduler on which this pair should execute. - The maximum number of tasks to run concurrently. - The maximum number of tasks to process for each underlying scheduled task used by the pair. - - - Informs the scheduler pair that it should not accept any more tasks. - - - Executes a ( in Visual Basic) loop in which iterations may run in parallel and the state of the loop can be monitored and manipulated. - The start index, inclusive. - The end index, exclusive. - The delegate that is invoked once per iteration. - A structure that contains information about which portion of the loop completed. - The argument is . - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) loop in which iterations may run in parallel. - The start index, inclusive. - The end index, exclusive. - The delegate that is invoked once per iteration. - A structure that contains information about which portion of the loop completed. - The argument is . - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) loop in which iterations may run in parallel, loop options can be configured, and the state of the loop can be monitored and manipulated. - The start index, inclusive. - The end index, exclusive. - An object that configures the behavior of this operation. - The delegate that is invoked once per iteration. - A structure that contains information about which portion of the loop completed. - The in the argument is canceled. - The argument is .-or-The argument is . - The exception that contains all the individual exceptions thrown on all threads. - The associated with the in the has been disposed. - - - Executes a ( in Visual Basic) loop in which iterations may run in parallel and loop options can be configured. - The start index, inclusive. - The end index, exclusive. - An object that configures the behavior of this operation. - The delegate that is invoked once per iteration. - A structure that contains information about which portion of the loop completed. - The in the argument is canceled. - The argument is .-or-The argument is . - The exception that contains all the individual exceptions thrown on all threads. - The associated with the in the has been disposed. - - - Executes a ( in Visual Basic) loop with 64-bit indexes in which iterations may run in parallel and the state of the loop can be monitored and manipulated. - The start index, inclusive. - The end index, exclusive. - The delegate that is invoked once per iteration. - A structure that contains information on what portion of the loop completed. - The argument is . - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) loop with 64-bit indexes in which iterations may run in parallel. - The start index, inclusive. - The end index, exclusive. - The delegate that is invoked once per iteration. - A structure that contains information about which portion of the loop completed. - The argument is . - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) loop with 64-bit indexes in which iterations may run in parallel, loop options can be configured, and the state of the loop can be monitored and manipulated. - The start index, inclusive. - The end index, exclusive. - An object that configures the behavior of this operation. - The delegate that is invoked once per iteration. - A structure that contains information about which portion of the loop completed. - The in the argument is canceled. - The argument is .-or-The argument is . - The exception that contains all the individual exceptions thrown on all threads. - The associated with the in the has been disposed. - - - Executes a ( in Visual Basic) loop with 64-bit indexes in which iterations may run in parallel and loop options can be configured. - The start index, inclusive. - The end index, exclusive. - An object that configures the behavior of this operation. - The delegate that is invoked once per iteration. - A structure that contains information about which portion of the loop completed. - The in the argument is canceled. - The argument is .-or-The argument is . - The exception that contains all the individual exceptions thrown on all threads. - The associated with the in the has been disposed. - - - Executes a ( in Visual Basic) loop with thread-local data in which iterations may run in parallel, and the state of the loop can be monitored and manipulated. - The start index, inclusive. - The end index, exclusive. - The function delegate that returns the initial state of the local data for each task. - The delegate that is invoked once per iteration. - The delegate that performs a final action on the local state of each task. - The type of the thread-local data. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is .-or-The argument is . - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) loop with thread-local data in which iterations may run in parallel, loop options can be configured, and the state of the loop can be monitored and manipulated. - The start index, inclusive. - The end index, exclusive. - An object that configures the behavior of this operation. - The function delegate that returns the initial state of the local data for each task. - The delegate that is invoked once per iteration. - The delegate that performs a final action on the local state of each task. - The type of the thread-local data. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is .-or-The argument is .-or-The argument is . - The in the argument is canceled. - The associated with the in the has been disposed. - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) loop with 64-bit indexes and thread-local data in which iterations may run in parallel, and the state of the loop can be monitored and manipulated. - The start index, inclusive. - The end index, exclusive. - The function delegate that returns the initial state of the local data for each task. - The delegate that is invoked once per iteration. - The delegate that performs a final action on the local state of each task. - The type of the thread-local data. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is .-or-The argument is . - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) loop with 64-bit indexes and thread-local data in which iterations may run in parallel, loop options can be configured, and the state of the loop can be monitored and manipulated. - The start index, inclusive. - The end index, exclusive. - An object that configures the behavior of this operation. - The function delegate that returns the initial state of the local data for each thread. - The delegate that is invoked once per iteration. - The delegate that performs a final action on the local state of each thread. - The type of the thread-local data. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is .-or-The argument is .-or-The argument is . - The in the argument is canceled. - The associated with the in the has been disposed. - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) operation on a in which iterations may run in parallel and the state of the loop can be monitored and manipulated. - The orderable partitioner that contains the original data source. - The delegate that is invoked once per iteration. - The type of the elements in . - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is . - The property in the orderable partitioner returns .-or-The property in the source orderable partitioner returns .-or-Any methods in the source orderable partitioner return . - - - Executes a ( in Visual Basic) operation on a in which iterations may run in parallel, loop options can be configured, and the state of the loop can be monitored and manipulated. - The orderable partitioner that contains the original data source. - An object that configures the behavior of this operation. - The delegate that is invoked once per iteration. - The type of the elements in . - A structure that contains information about which portion of the loop completed. - The in the argument is canceled - The argument is .-or-The argument is .-or-The argument is . - The associated with the in the has been disposed. - The property in the orderable partitioner returns .-or-The property in the orderable partitioner returns .-or-The exception that is thrown when any methods in the orderable partitioner return . - - - Executes a ( in Visual Basic) operation on a in which iterations may run in parallel, and the state of the loop can be monitored and manipulated. - The partitioner that contains the original data source. - The delegate that is invoked once per iteration. - The type of the elements in . - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is . - The property in the partitioner returns .-or-A method in the partitioner returns .-or-The method in the partitioner does not return the correct number of partitions. - - - Executes a ( in Visual Basic) operation on a in which iterations may run in parallel. - The partitioner that contains the original data source. - The delegate that is invoked once per iteration. - The type of the elements in . - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is . - The property in the partitioner returns .-or-The exception that is thrown when any methods in the partitioner return .-or-The method in the partitioner does not return the correct number of partitions. - - - Executes a ( in Visual Basic) operation on a in which iterations may run in parallel, loop options can be configured, and the state of the loop can be monitored and manipulated. - The partitioner that contains the original data source. - An object that configures the behavior of this operation. - The delegate that is invoked once per iteration. - The type of the elements in . - A structure that contains information about which portion of the loop completed. - The in the argument is canceled. - The associated with the in the has been disposed. - The argument is .-or-The argument is .-or-The argument is . - The property in the partitioner returns .-or-The exception that is thrown when any methods in the partitioner return . - - - Executes a ( in Visual Basic) operation on a in which iterations may run in parallel and loop options can be configured. - The partitioner that contains the original data source. - An object that configures the behavior of this operation. - The delegate that is invoked once per iteration. - The type of the elements in . - A structure that contains information about which portion of the loop completed. - The in the argument is canceled. - The associated with the in the has been disposed. - The argument is .-or-The argument is .-or-The argument is . - The property in the partitioner returns .-or-The exception that is thrown when any methods in the partitioner return . - - - Executes a ( in Visual Basic) operation with 64-bit indexes on an in which iterations may run in parallel, and the state of the loop can be monitored and manipulated. - An enumerable data source. - The delegate that is invoked once per iteration. - The type of the data in the source. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is . - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) operation on an in which iterations may run in parallel, and the state of the loop can be monitored and manipulated. - An enumerable data source. - The delegate that is invoked once per iteration. - The type of the data in the source. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is . - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) operation on an in which iterations may run in parallel. - An enumerable data source. - The delegate that is invoked once per iteration. - The type of the data in the source. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is . - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) operation with 64-bit indexes on an in which iterations may run in parallel, loop options can be configured, and the state of the loop can be monitored and manipulated. - An enumerable data source. - An object that configures the behavior of this operation. - The delegate that is invoked once per iteration. - The type of the data in the source. - A structure that contains information about which portion of the loop completed. - The in the argument is canceled - The argument is .-or-The argument is .-or-The argument is . - The exception that contains all the individual exceptions thrown on all threads. - The associated with the in the has been disposed. - - - Executes a ( in Visual Basic) operation on an in which iterations may run in parallel, loop options can be configured, and the state of the loop can be monitored and manipulated. - An enumerable data source. - An object that configures the behavior of this operation. - The delegate that is invoked once per iteration. - The type of the data in the source. - A structure that contains information about which portion of the loop completed. - The in the argument is canceled - The argument is .-or-The argument is .-or-The argument is . - The exception that contains all the individual exceptions thrown on all threads. - The associated with the in the has been disposed. - - - Executes a ( in Visual Basic) operation on an in which iterations may run in parallel and loop options can be configured. - An enumerable data source. - An object that configures the behavior of this operation. - The delegate that is invoked once per iteration. - The type of the data in the source. - A structure that contains information about which portion of the loop completed. - The in the argument is canceled - The argument is .-or-The argument is .-or-The argument is . - The exception that contains all the individual exceptions thrown on all threads. - The associated with the in the has been disposed. - - - Executes a ( in Visual Basic) operation with thread-local data on a in which iterations may run in parallel, loop options can be configured, and the state of the loop can be monitored and manipulated. - The orderable partitioner that contains the original data source. - The function delegate that returns the initial state of the local data for each task. - The delegate that is invoked once per iteration. - The delegate that performs a final action on the local state of each task. - The type of the elements in . - The type of the thread-local data. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is .-or-The argument is .-or-The argument is . - The property in the returns or the partitioner returns partitions. - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) operation with 64-bit indexes and with thread-local data on a in which iterations may run in parallel , loop options can be configured, and the state of the loop can be monitored and manipulated. - The orderable partitioner that contains the original data source. - An object that configures the behavior of this operation. - The function delegate that returns the initial state of the local data for each task. - The delegate that is invoked once per iteration. - The delegate that performs a final action on the local state of each task. - The type of the elements in . - The type of the thread-local data. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is .-or-The argument is .-or-The or argument is . - The property in the returns or the partitioner returns partitions. - The exception that contains all the individual exceptions thrown on all threads. - The in the argument is canceled. - The associated with the in the has been disposed. - - - Executes a ( in Visual Basic) operation with thread-local data on a in which iterations may run in parallel and the state of the loop can be monitored and manipulated. - The partitioner that contains the original data source. - The function delegate that returns the initial state of the local data for each task. - The delegate that is invoked once per iteration. - The delegate that performs a final action on the local state of each task. - The type of the elements in . - The type of the thread-local data. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is .-or-The argument is .-or-The argument is . - The property in the returns or the partitioner returns partitions. - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) operation with thread-local data on a in which iterations may run in parallel, loop options can be configured, and the state of the loop can be monitored and manipulated. - The partitioner that contains the original data source. - An object that configures the behavior of this operation. - The function delegate that returns the initial state of the local data for each task. - The delegate that is invoked once per iteration. - The delegate that performs a final action on the local state of each task. - The type of the elements in . - The type of the thread-local data. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is .-or-The argument is .-or-The argument is .-or-The argument is . - The property in the returns or the partitioner returns partitions. - The exception that contains all the individual exceptions thrown on all threads. - The in the argument is canceled. - The associated with the in the has been disposed. - - - Executes a ( in Visual Basic) operation with thread-local data on an in which iterations may run in parallel, and the state of the loop can be monitored and manipulated. - An enumerable data source. - The function delegate that returns the initial state of the local data for each task. - The delegate that is invoked once per iteration. - The delegate that performs a final action on the local state of each task. - The type of the data in the source. - The type of the thread-local data. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is .-or-The argument is .-or-The argument is . - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) operation with thread-local data on an in which iterations may run in parallel and the state of the loop can be monitored and manipulated. - An enumerable data source. - The function delegate that returns the initial state of the local data for each task. - The delegate that is invoked once per iteration. - The delegate that performs a final action on the local state of each task. - The type of the data in the source. - The type of the thread-local data. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is .-or-The argument is .-or-The argument is . - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) operation with thread-local data on an in which iterations may run in parallel, loop options can be configured, and the state of the loop can be monitored and manipulated.. - An enumerable data source. - An object that configures the behavior of this operation. - The function delegate that returns the initial state of the local data for each task. - The delegate that is invoked once per iteration. - The delegate that performs a final action on the local state of each task. - The type of the data in the source. - The type of the thread-local data. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is .-or-The argument is .-or-The argument is .-or-The argument is . - The in the argument is canceled. - The associated with the in the has been disposed. - The exception that contains all the individual exceptions thrown on all threads. - - - Executes a ( in Visual Basic) operation with thread-local data and 64-bit indexes on an in which iterations may run in parallel, loop options can be configured, and the state of the loop can be monitored and manipulated. - An enumerable data source. - An object that configures the behavior of this operation. - The function delegate that returns the initial state of the local data for each task. - The delegate that is invoked once per iteration. - The delegate that performs a final action on the local state of each task. - The type of the data in the source. - The type of the thread-local data. - A structure that contains information about which portion of the loop completed. - The argument is .-or-The argument is .-or-The argument is .-or-The argument is .-or-The argument is . - The in the argument is canceled. - The associated with the in the has been disposed. - The exception that contains all the individual exceptions thrown on all threads. - - - Executes each of the provided actions, possibly in parallel. - An array of to execute. - The argument is . - The exception that is thrown when any action in the array throws an exception. - The array contains a element. - - - Executes each of the provided actions, possibly in parallel, unless the operation is cancelled by the user. - An object that configures the behavior of this operation. - An array of actions to execute. - The in the is set. - The argument is .-or-The argument is . - The exception that is thrown when any action in the array throws an exception. - The array contains a element. - The associated with the in the has been disposed. - - - Communicates that the loop should cease execution of iterations beyond the current iteration at the system's earliest convenience. - The method was previously called. and may not be used in combination by iterations of the same loop. - - - Communicates that the loop should cease execution at the system's earliest convenience. - The method was called previously. and may not be used in combination by iterations of the same loop. - - - Initializes a new instance of the class. - - - Initializes a new with the specified action. - The delegate that represents the code to execute in the task. - The argument is . - - - Initializes a new with the specified action and . - The delegate that represents the code to execute in the task. - The that the new task will observe. - The provided has already been disposed. - The argument is null. - - - Initializes a new with the specified action and creation options. - The delegate that represents the code to execute in the task. - The that the new task will observe. - The used to customize the task's behavior. - The that created has already been disposed. - The argument is null. - The argument specifies an invalid value for . - - - Initializes a new with the specified action and creation options. - The delegate that represents the code to execute in the task. - The used to customize the task's behavior. - The argument is null. - The argument specifies an invalid value for . - - - Initializes a new with the specified action and state. - The delegate that represents the code to execute in the task. - An object representing data to be used by the action. - The argument is null. - - - Initializes a new with the specified action, state, and options. - The delegate that represents the code to execute in the task. - An object representing data to be used by the action. - The that that the new task will observe. - The that created has already been disposed. - The argument is null. - - - Initializes a new with the specified action, state, and options. - The delegate that represents the code to execute in the task. - An object representing data to be used by the action. - The that that the new task will observe.. - The used to customize the task's behavior. - The that created has already been disposed. - The argument is null. - The argument specifies an invalid value for . - - - Initializes a new with the specified action, state, and options. - The delegate that represents the code to execute in the task. - An object representing data to be used by the action. - The used to customize the task's behavior. - The argument is null. - The argument specifies an invalid value for . - - - Configures an awaiter used to await this . - - to attempt to marshal the continuation back to the original context captured; otherwise, . - An object used to await this task. - - - Creates a continuation that receives caller-supplied state information and executes when the target completes. - An action to run when the task completes. When run, the delegate is passed the completed task and a caller-supplied state object as arguments. - An object representing data to be used by the continuation action. - A new continuation task. - The argument is . - - - Creates a continuation that receives caller-supplied state information and a cancellation token and that executes asynchronously when the target completes. - An action to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation action. - The that will be assigned to the new continuation task. - A new continuation . - The argument is . - The provided has already been disposed. - - - Creates a continuation that receives caller-supplied state information and a cancellation token and that executes when the target completes. The continuation executes based on a set of specified conditions and uses a specified scheduler. - An action to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation action. - The that will be assigned to the new continuation task. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - The to associate with the continuation task and to use for its execution. - A new continuation . - The argument is . - The argument specifies an invalid value for . - The argument is . - The provided has already been disposed. - - - Creates a continuation that receives caller-supplied state information and executes when the target completes. The continuation executes based on a set of specified conditions. - An action to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation action. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - A new continuation . - The argument is . - The argument specifies an invalid value for . - - - Creates a continuation that receives caller-supplied state information and executes asynchronously when the target completes. The continuation uses a specified scheduler. - An action to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation action. - The to associate with the continuation task and to use for its execution. - A new continuation . - The argument is . - The argument is . - - - Creates a continuation that executes asynchronously when the target completes. - An action to run when the completes. When run, the delegate will be passed the completed task as an argument. - A new continuation . - The argument is . - - - Creates a continuation that receives a cancellation token and executes asynchronously when the target completes. - An action to run when the completes. When run, the delegate will be passed the completed task as an argument. - The that will be assigned to the new continuation task. - A new continuation . - The that created the token has already been disposed. - The argument is null. - - - Creates a continuation that executes when the target task competes according to the specified . The continuation receives a cancellation token and uses a specified scheduler. - An action to run according to the specified . When run, the delegate will be passed the completed task as an argument. - The that will be assigned to the new continuation task. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - The to associate with the continuation task and to use for its execution. - A new continuation . - The that created the token has already been disposed. - The argument is null.-or-The argument is null. - The argument specifies an invalid value for . - - - Creates a continuation that executes when the target task completes according to the specified . - An action to run according to the specified . When run, the delegate will be passed the completed task as an argument. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - A new continuation . - The argument is null. - The argument specifies an invalid value for . - - - Creates a continuation that executes asynchronously when the target completes. The continuation uses a specified scheduler. - An action to run when the completes. When run, the delegate will be passed the completed task as an argument. - The to associate with the continuation task and to use for its execution. - A new continuation . - The has been disposed. - The argument is . -or-The argument is null. - - - Creates a continuation that executes asynchronously when the target completes and returns a value. - A function to run when the completes. When run, the delegate will be passed the completed task as an argument. - The type of the result produced by the continuation. - A new continuation task. - The has been disposed. - The argument is null. - - - Creates a continuation that executes asynchronously when the target completes and returns a value. The continuation receives a cancellation token. - A function to run when the completes. When run, the delegate will be passed the completed task as an argument. - The that will be assigned to the new continuation task. - The type of the result produced by the continuation. - A new continuation . - The has been disposed.-or-The that created the token has already been disposed. - The argument is null. - - - Creates a continuation that executes according to the specified continuation options and returns a value. The continuation is passed a cancellation token and uses a specified scheduler. - A function to run according to the specified When run, the delegate will be passed the completed task as an argument. - The that will be assigned to the new continuation task. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - The to associate with the continuation task and to use for its execution. - The type of the result produced by the continuation. - A new continuation . - The has been disposed.-or-The that created the token has already been disposed. - The argument is null.-or-The argument is null. - The argument specifies an invalid value for . - - - Creates a continuation that executes according to the specified continuation options and returns a value. - A function to run according to the condition specified in . When run, the delegate will be passed the completed task as an argument. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - The type of the result produced by the continuation. - A new continuation . - The has been disposed. - The argument is null. - The argument specifies an invalid value for . - - - Creates a continuation that executes asynchronously when the target completes and returns a value. The continuation uses a specified scheduler. - A function to run when the completes. When run, the delegate will be passed the completed task as an argument. - The to associate with the continuation task and to use for its execution. - The type of the result produced by the continuation. - A new continuation . - The has been disposed. - The argument is null.-or-The argument is null. - - - Creates a continuation that receives caller-supplied state information and executes asynchronously when the target completes and returns a value. - A function to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation function. - The type of the result produced by the continuation. - A new continuation . - The argument is . - - - Creates a continuation that executes asynchronously when the target completes and returns a value. The continuation receives caller-supplied state information and a cancellation token. - A function to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation function. - The that will be assigned to the new continuation task. - The type of the result produced by the continuation. - A new continuation . - The argument is . - The provided has already been disposed. - - - Creates a continuation that executes based on the specified task continuation options when the target completes and returns a value. The continuation receives caller-supplied state information and a cancellation token and uses the specified scheduler. - A function to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation function. - The that will be assigned to the new continuation task. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - The to associate with the continuation task and to use for its execution. - The type of the result produced by the continuation. - A new continuation . - The argument is . - The argument specifies an invalid value for . - The argument is . - The provided has already been disposed. - - - Creates a continuation that executes based on the specified task continuation options when the target completes. The continuation receives caller-supplied state information. - A function to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation function. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - The type of the result produced by the continuation. - A new continuation . - The argument is . - The argument specifies an invalid value for . - - - Creates a continuation that executes asynchronously when the target completes. The continuation receives caller-supplied state information and uses a specified scheduler. - A function to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation function. - The to associate with the continuation task and to use for its execution. - The type of the result produced by the continuation. - A new continuation . - The argument is . - The argument is . - - - Creates a task that completes after a time delay. - The number of milliseconds to wait before completing the returned task, or -1 to wait indefinitely. - A task that represents the time delay. - The argument is less than -1. - - - Creates a cancellable task that completes after a time delay. - The number of milliseconds to wait before completing the returned task, or -1 to wait indefinitely. - The cancellation token that will be checked prior to completing the returned task. - A task that represents the time delay. - The argument is less than -1. - The task has been canceled. - The provided has already been disposed. - - - Creates a task that completes after a specified time interval. - The time span to wait before completing the returned task, or to wait indefinitely. - A task that represents the time delay. - - represents a negative time interval other than . -or-The argument's property is greater than . - - - Creates a cancellable task that completes after a specified time interval. - The time span to wait before completing the returned task, or to wait indefinitely. - The cancellation token that will be checked prior to completing the returned task. - A task that represents the time delay. - - represents a negative time interval other than . -or-The argument's property is greater than . - The task has been canceled. - The provided has already been disposed. - - - Releases all resources used by the current instance of the class. - The task is not in one of the final states: , , or . - - - Disposes the , releasing all of its unmanaged resources. - A Boolean value that indicates whether this method is being called due to a call to . - The task is not in one of the final states: , , or . - - - Creates a that's completed due to cancellation with a specified cancellation token. - The cancellation token with which to complete the task. - The canceled task. - Cancellation has not been requested for ; its property is . - - - Creates a that's completed due to cancellation with a specified cancellation token. - The cancellation token with which to complete the task. - The type of the result returned by the task. - The canceled task. - Cancellation has not been requested for ; its property is . - - - Creates a that has completed with a specified exception. - The exception with which to complete the task. - The faulted task. - - - Creates a that's completed with a specified exception. - The exception with which to complete the task. - The type of the result returned by the task. - The faulted task. - - - Creates a that's completed successfully with the specified result. - The result to store into the completed task. - The type of the result returned by the task. - The successfully completed task. - - - Gets an awaiter used to await this . - An awaiter instance. - - - Queues the specified work to run on the thread pool and returns a object that represents that work. - The work to execute asynchronously - A task that represents the work queued to execute in the ThreadPool. - The parameter was . - - - Queues the specified work to run on the thread pool and returns a object that represents that work. A cancellation token allows the work to be cancelled. - The work to execute asynchronously - A cancellation token that can be used to cancel the work - A task that represents the work queued to execute in the thread pool. - The parameter was . - The task has been canceled. - The associated with was disposed. - - - Queues the specified work to run on the thread pool and returns a proxy for the task returned by . - The work to execute asynchronously - A task that represents a proxy for the task returned by . - The parameter was . - - - Queues the specified work to run on the thread pool and returns a proxy for the task returned by . - The work to execute asynchronously. - A cancellation token that should be used to cancel the work. - A task that represents a proxy for the task returned by . - The parameter was . - The task has been canceled. - The associated with was disposed. - - - Queues the specified work to run on the thread pool and returns a object that represents that work. - The work to execute asynchronously. - The return type of the task. - A task object that represents the work queued to execute in the thread pool. - The parameter is . - - - Queues the specified work to run on the thread pool and returns a object that represents that work. A cancellation token allows the work to be cancelled. - The work to execute asynchronously - A cancellation token that should be used to cancel the work - The result type of the task. - A that represents the work queued to execute in the thread pool. - The parameter is . - The task has been canceled. - The associated with was disposed. - - - Queues the specified work to run on the thread pool and returns a proxy for the returned by . - The work to execute asynchronously - The type of the result returned by the proxy task. - A that represents a proxy for the returned by . - The parameter was . - - - Queues the specified work to run on the thread pool and returns a proxy for the returned by . - The work to execute asynchronously - A cancellation token that should be used to cancel the work - The type of the result returned by the proxy task. - A that represents a proxy for the returned by . - The parameter was . - The task has been canceled. - The associated with was disposed. - - - Runs the synchronously on the current . - The instance has been disposed. - The is not in a valid state to be started. It may have already been started, executed, or canceled, or it may have been created in a manner that doesn't support direct scheduling. - - - Runs the synchronously on the provided. - The scheduler on which to attempt to run this task inline. - The instance has been disposed. - The argument is . - The is not in a valid state to be started. It may have already been started, executed, or canceled, or it may have been created in a manner that doesn't support direct scheduling. - - - Starts the , scheduling it for execution to the current . - The instance has been disposed. - The is not in a valid state to be started. It may have already been started, executed, or canceled, or it may have been created in a manner that doesn't support direct scheduling. - - - Starts the , scheduling it for execution to the specified . - The with which to associate and execute this task. - The argument is . - The is not in a valid state to be started. It may have already been started, executed, or canceled, or it may have been created in a manner that doesn't support direct scheduling. - The instance has been disposed. - The scheduler was unable to queue this task. - - - Waits for the to complete execution. - The has been disposed. - The task was canceled. The collection contains a object. -or-An exception was thrown during the execution of the task. The collection contains information about the exception or exceptions. - - - Waits for the to complete execution within a specified number of milliseconds. - The number of milliseconds to wait, or (-1) to wait indefinitely. - - if the completed execution within the allotted time; otherwise, . - The has been disposed. - - is a negative number other than -1, which represents an infinite time-out. - The task was canceled. The collection contains a object. -or-An exception was thrown during the execution of the task. The collection contains information about the exception or exceptions. - - - Waits for the to complete execution. The wait terminates if a timeout interval elapses or a cancellation token is canceled before the task completes. - The number of milliseconds to wait, or (-1) to wait indefinitely. - A cancellation token to observe while waiting for the task to complete. - - if the completed execution within the allotted time; otherwise, . - The was canceled. - The has been disposed. - - is a negative number other than -1, which represents an infinite time-out. - The task was canceled. The collection contains a object. -or-An exception was thrown during the execution of the task. The collection contains information about the exception or exceptions. - - - Waits for the to complete execution. The wait terminates if a cancellation token is canceled before the task completes. - A cancellation token to observe while waiting for the task to complete. - The was canceled. - The task has been disposed. - The task was canceled. The collection contains a object. -or-An exception was thrown during the execution of the task. The collection contains information about the exception or exceptions. - - - Waits for the to complete execution within a specified time interval. - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - - if the completed execution within the allotted time; otherwise, . - The has been disposed. - - is a negative number other than -1 milliseconds, which represents an infinite time-out. -or- - is greater than . - The task was canceled. The collection contains a object. -or-An exception was thrown during the execution of the task. The collection contains information about the exception or exceptions. - - - Waits for all of the provided objects to complete execution. - An array of instances on which to wait. - One or more of the objects in has been disposed. - The argument is . - The argument contains a null element.-or-The argument is an empty array. - At least one of the instances was canceled. If a task was canceled, the exception contains an exception in its collection.-or-An exception was thrown during the execution of at least one of the instances. - - - Waits for all of the provided objects to complete execution within a specified number of milliseconds. - An array of instances on which to wait. - The number of milliseconds to wait, or (-1) to wait indefinitely. - - if all of the instances completed execution within the allotted time; otherwise, . - One or more of the objects in has been disposed. - The argument is . - At least one of the instances was canceled. If a task was canceled, the contains an in its collection. -or-An exception was thrown during the execution of at least one of the instances. - - is a negative number other than -1, which represents an infinite time-out. - The argument contains a null element.-or-The argument is an empty array. - - - Waits for all of the provided objects to complete execution within a specified number of milliseconds or until the wait is cancelled. - An array of instances on which to wait. - The number of milliseconds to wait, or (-1) to wait indefinitely. - A to observe while waiting for the tasks to complete. - - if all of the instances completed execution within the allotted time; otherwise, . - One or more of the objects in has been disposed. - The argument is . - At least one of the instances was canceled. If a task was canceled, the contains an in its collection.-or-An exception was thrown during the execution of at least one of the instances. - - is a negative number other than -1, which represents an infinite time-out. - The argument contains a null element.-or-The argument is an empty array. - The was canceled. - - - Waits for all of the provided objects to complete execution unless the wait is cancelled. - An array of instances on which to wait. - A to observe while waiting for the tasks to complete. - The was canceled. - The argument is . - At least one of the instances was canceled. If a task was canceled, the contains an in its collection.-or-An exception was thrown during the execution of at least one of the instances. - The argument contains a null element.-or-The argument is an empty array. - One or more of the objects in has been disposed. - - - Waits for all of the provided cancellable objects to complete execution within a specified time interval. - An array of instances on which to wait. - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - - if all of the instances completed execution within the allotted time; otherwise, . - One or more of the objects in has been disposed. - The argument is . - At least one of the instances was canceled. If a task was canceled, the contains an in its collection.-or-An exception was thrown during the execution of at least one of the instances. - - is a negative number other than -1 milliseconds, which represents an infinite time-out. -or- - is greater than . - The argument contains a null element.-or-The argument is an empty array. - - - Waits for any of the provided objects to complete execution. - An array of instances on which to wait. - The index of the completed object in the array. - The has been disposed. - The argument is . - The argument contains a null element. - - - Waits for any of the provided objects to complete execution within a specified number of milliseconds. - An array of instances on which to wait. - The number of milliseconds to wait, or (-1) to wait indefinitely. - The index of the completed task in the array argument, or -1 if the timeout occurred. - The has been disposed. - The argument is . - - is a negative number other than -1, which represents an infinite time-out. - The argument contains a null element. - - - Waits for any of the provided objects to complete execution within a specified number of milliseconds or until a cancellation token is cancelled. - An array of instances on which to wait. - The number of milliseconds to wait, or (-1) to wait indefinitely. - A to observe while waiting for a task to complete. - The index of the completed task in the array argument, or -1 if the timeout occurred. - The has been disposed. - The argument is . - - is a negative number other than -1, which represents an infinite time-out. - The argument contains a null element. - The was canceled. - - - Waits for any of the provided objects to complete execution unless the wait is cancelled. - An array of instances on which to wait. - A to observe while waiting for a task to complete. - The index of the completed task in the array argument. - The has been disposed. - The argument is . - The argument contains a null element. - The was canceled. - - - Waits for any of the provided objects to complete execution within a specified time interval. - An array of instances on which to wait. - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - The index of the completed task in the array argument, or -1 if the timeout occurred. - The has been disposed. - The argument is . - - is a negative number other than -1 milliseconds, which represents an infinite time-out. -or- - is greater than . - The argument contains a null element. - - - Creates a task that will complete when all of the objects in an enumerable collection have completed. - The tasks to wait on for completion. - A task that represents the completion of all of the supplied tasks. - The argument was . - The collection contained a task. - - - Creates a task that will complete when all of the objects in an array have completed. - The tasks to wait on for completion. - A task that represents the completion of all of the supplied tasks. - The argument was . - The array contained a task. - - - Creates a task that will complete when all of the objects in an enumerable collection have completed. - The tasks to wait on for completion. - The type of the completed task. - A task that represents the completion of all of the supplied tasks. - The argument was . - The collection contained a task. - - - Creates a task that will complete when all of the objects in an array have completed. - The tasks to wait on for completion. - The type of the completed task. - A task that represents the completion of all of the supplied tasks. - The argument was . - The array contained a task. - - - Creates a task that will complete when any of the supplied tasks have completed. - The tasks to wait on for completion. - A task that represents the completion of one of the supplied tasks. The return task's Result is the task that completed. - The argument was . - The array contained a null task, or was empty. - - - Creates a task that will complete when any of the supplied tasks have completed. - The tasks to wait on for completion. - A task that represents the completion of one of the supplied tasks. The return task's Result is the task that completed. - The argument was null. - The array contained a null task, or was empty. - - - Creates a task that will complete when any of the supplied tasks have completed. - The tasks to wait on for completion. - The type of the completed task. - A task that represents the completion of one of the supplied tasks. The return task's Result is the task that completed. - The argument was . - The array contained a null task, or was empty. - - - Creates a task that will complete when any of the supplied tasks have completed. - The tasks to wait on for completion. - The type of the completed task. - A task that represents the completion of one of the supplied tasks. The return task's Result is the task that completed. - The argument was null. - The array contained a null task, or was empty. - - - Creates an awaitable task that asynchronously yields back to the current context when awaited. - A context that, when awaited, will asynchronously transition back into the current context at the time of the await. If the current is non-null, it is treated as the current context. Otherwise, the task scheduler that is associated with the currently executing task is treated as the current context. - - - Initializes a new with the specified function. - The delegate that represents the code to execute in the task. When the function has completed, the task's property will be set to return the result value of the function. - The argument is null. - - - Initializes a new with the specified function. - The delegate that represents the code to execute in the task. When the function has completed, the task's property will be set to return the result value of the function. - The to be assigned to this task. - The that created has already been disposed. - The argument is null. - - - Initializes a new with the specified function and creation options. - The delegate that represents the code to execute in the task. When the function has completed, the task's property will be set to return the result value of the function. - The that will be assigned to the new task. - The used to customize the task's behavior. - The that created has already been disposed. - The argument specifies an invalid value for . - The argument is null. - - - Initializes a new with the specified function and creation options. - The delegate that represents the code to execute in the task. When the function has completed, the task's property will be set to return the result value of the function. - The used to customize the task's behavior. - The argument specifies an invalid value for . - The argument is null. - - - Initializes a new with the specified function and state. - The delegate that represents the code to execute in the task. When the function has completed, the task's property will be set to return the result value of the function. - An object representing data to be used by the action. - The argument is null. - - - Initializes a new with the specified action, state, and options. - The delegate that represents the code to execute in the task. When the function has completed, the task's property will be set to return the result value of the function. - An object representing data to be used by the function. - The to be assigned to the new task. - The that created has already been disposed. - The argument is null. - - - Initializes a new with the specified action, state, and options. - The delegate that represents the code to execute in the task. When the function has completed, the task's property will be set to return the result value of the function. - An object representing data to be used by the function. - The to be assigned to the new task. - The used to customize the task's behavior. - The that created has already been disposed. - The argument specifies an invalid value for . - The argument is null. - - - Initializes a new with the specified action, state, and options. - The delegate that represents the code to execute in the task. When the function has completed, the task's property will be set to return the result value of the function. - An object representing data to be used by the function. - The used to customize the task's behavior. - The argument specifies an invalid value for . - The argument is null. - - - Configures an awaiter used to await this . - true to attempt to marshal the continuation back to the original context captured; otherwise, false. - An object used to await this task. - - - Creates a continuation that that is passed state information and that executes when the target completes. - An action to run when the completes. When run, the delegate is passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation action. - A new continuation . - The argument is null. - - - Creates a continuation that executes when the target completes. - An action to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation action. - The that will be assigned to the new continuation task. - A new continuation . - The argument is null. - The provided has already been disposed. - - - Creates a continuation that executes when the target completes. - An action to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation action. - The that will be assigned to the new continuation task. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - The to associate with the continuation task and to use for its execution. - A new continuation . - The argument is null. - The argument specifies an invalid value for . - The argument is null. - The provided has already been disposed. - - - Creates a continuation that executes when the target completes. - An action to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation action. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - A new continuation . - The argument is null. - The argument specifies an invalid value for . - - - Creates a continuation that executes when the target completes. - An action to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation action. - The to associate with the continuation task and to use for its execution. - A new continuation . - The argument is . - The argument is . - - - Creates a continuation that executes asynchronously when the target task completes. - An action to run when the antecedent completes. When run, the delegate will be passed the completed task as an argument. - A new continuation task. - The has been disposed. - The argument is . - - - Creates a cancelable continuation that executes asynchronously when the target completes. - An action to run when the completes. When run, the delegate is passed the completed task as an argument. - The cancellation token that is passed to the new continuation task. - A new continuation task. - The has been disposed.-or-The that created has been disposed. - The argument is . - - - Creates a continuation that executes according the condition specified in . - An action to run according the condition specified in . When run, the delegate will be passed the completed task as an argument. - The that will be assigned to the new continuation task. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - The to associate with the continuation task and to use for its execution. - A new continuation . - The has been disposed.-or-The that created has already been disposed. - The argument is null.-or-The argument is null. - The argument specifies an invalid value for . - - - Creates a continuation that executes according the condition specified in . - An action to according the condition specified in . When run, the delegate will be passed the completed task as an argument. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - A new continuation . - The has been disposed. - The argument is null. - The argument specifies an invalid value for . - - - Creates a continuation that executes asynchronously when the target completes. - An action to run when the completes. When run, the delegate will be passed the completed task as an argument. - The to associate with the continuation task and to use for its execution. - A new continuation . - The has been disposed. - The argument is null.-or-The argument is null. - - - Creates a continuation that executes asynchronously when the target completes. - A function to run when the completes. When run, the delegate will be passed the completed task as an argument. - The type of the result produced by the continuation. - A new continuation . - The has been disposed. - The argument is null. - - - Creates a continuation that executes asynchronously when the target completes. - A function to run when the completes. When run, the delegate will be passed the completed task as an argument. - The that will be assigned to the new task. - The type of the result produced by the continuation. - A new continuation . - The has been disposed.-or-The that created has already been disposed. - The argument is null. - - - Creates a continuation that executes according the condition specified in . - A function to run according the condition specified in .When run, the delegate will be passed as an argument this completed task. - The that will be assigned to the new task. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - The to associate with the continuation task and to use for its execution. - The type of the result produced by the continuation. - A new continuation . - The has been disposed.-or-The that created has already been disposed. - The argument is null.-or-The argument is null. - The argument specifies an invalid value for . - - - Creates a continuation that executes according the condition specified in . - A function to run according the condition specified in .When run, the delegate will be passed the completed task as an argument. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - The type of the result produced by the continuation. - A new continuation . - The has been disposed. - The argument is null. - The argument specifies an invalid value for . - - - Creates a continuation that executes asynchronously when the target completes. - A function to run when the completes. When run, the delegate will be passed the completed task as an argument. - The to associate with the continuation task and to use for its execution. - The type of the result produced by the continuation. - A new continuation . - The has been disposed. - The argument is null.-or-The argument is null. - - - Creates a continuation that executes when the target completes. - A function to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation function. - The type of the result produced by the continuation. - A new continuation . - The argument is null. - - - Creates a continuation that executes when the target completes. - A function to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation function. - The that will be assigned to the new task. - The type of the result produced by the continuation. - A new continuation . - The argument is null. - The provided has already been disposed. - - - Creates a continuation that executes when the target completes. - A function to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation function. - The that will be assigned to the new task. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - The to associate with the continuation task and to use for its execution. - The type of the result produced by the continuation. - A new continuation . - The argument is null. - The argument specifies an invalid value for . - The argument is null. - The provided has already been disposed. - - - Creates a continuation that executes when the target completes. - A function to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation function. - Options for when the continuation is scheduled and how it behaves. This includes criteria, such as , as well as execution options, such as . - The type of the result produced by the continuation. - A new continuation . - The argument is null. - The argument specifies an invalid value for . - - - Creates a continuation that executes when the target completes. - A function to run when the completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments. - An object representing data to be used by the continuation function. - The to associate with the continuation task and to use for its execution. - The type of the result produced by the continuation. - A new continuation . - The argument is null. - The argument is null. - - - Gets an awaiter used to await this . - An awaiter instance. - - - Initializes a new instance of the class with a system-supplied message that describes the error. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified message that describes the error. - The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with a reference to the that has been canceled. - A task that has been canceled. - - - Creates a . - - - Creates a with the specified state. - The state to use as the underlying 's AsyncState. - - - Creates a with the specified state and options. - The state to use as the underlying 's AsyncState. - The options to use when creating the underlying . - The represent options invalid for use with a . - - - Creates a with the specified options. - The options to use when creating the underlying . - The represent options invalid for use with a . - - - Transitions the underlying into the state. - The underlying is already in one of the three final states: , , or , or if the underlying has already been disposed. - - - Transitions the underlying into the state and binds a collection of exception objects to it. - The collection of exceptions to bind to this . - The was disposed. - The argument is null. - There are one or more null elements in . - The underlying is already in one of the three final states: , , or . - - - Transitions the underlying into the state and binds it to a specified exception. - The exception to bind to this . - The was disposed. - The argument is null. - The underlying is already in one of the three final states: , , or . - - - Transitions the underlying into the state. - The result value to bind to this . - The was disposed. - The underlying is already in one of the three final states: , , or . - - - Attempts to transition the underlying into the state. - True if the operation was successful; false if the operation was unsuccessful or the object has already been disposed. - - - Attempts to transition the underlying into the state and enables a cancellation token to be stored in the canceled task. - A cancellation token. - - if the operation is successful; otherwise, . - - - Attempts to transition the underlying into the state and binds a collection of exception objects to it. - The collection of exceptions to bind to this . - True if the operation was successful; otherwise, false. - The was disposed. - The argument is null. - There are one or more null elements in .-or-The collection is empty. - - - Attempts to transition the underlying into the state and binds it to a specified exception. - The exception to bind to this . - True if the operation was successful; otherwise, false. - The was disposed. - The argument is null. - - - Attempts to transition the underlying into the state. - The result value to bind to this . - True if the operation was successful; otherwise, false. - - - Initializes a instance with the default configuration. - - - Initializes a instance with the specified configuration. - The that will be assigned to tasks created by this unless another CancellationToken is explicitly specified while calling the factory methods. - - - Initializes a instance with the specified configuration. - The default that will be assigned to tasks created by this unless another CancellationToken is explicitly specified while calling the factory methods. - The default to use when creating tasks with this TaskFactory. - The default to use when creating continuation tasks with this TaskFactory. - The default to use to schedule any Tasks created with this TaskFactory. A null value indicates that TaskScheduler.Current should be used. - The argument specifies an invalid value. For more information, see the Remarks for . -or-The argument specifies an invalid value. - - - Initializes a instance with the specified configuration. - The default to use when creating tasks with this TaskFactory. - The default to use when creating continuation tasks with this TaskFactory. - The argument specifies an invalid value. For more information, see the Remarks for . -or-The argument specifies an invalid value. - - - Initializes a instance with the specified configuration. - The to use to schedule any tasks created with this TaskFactory. A null value indicates that the current TaskScheduler should be used. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The action delegate to execute when all tasks in the array have completed. - The new continuation task. - An element in the array has been disposed. - The array is .-or-The argument is . - The array is empty or contains a null value. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The action delegate to execute when all tasks in the array have completed. - The cancellation token to assign to the new continuation task. - The new continuation task. - An element in the array has been disposed.-or-The that created has already been disposed. - The array is .-or-The argument is . - The array is empty or contains a null value. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The action delegate to execute when all tasks in the array have completed. - The cancellation token to assign to the new continuation task. - A bitwise combination of the enumeration values that control the behavior of the new continuation task. - The object that is used to schedule the new continuation task. - The new continuation task. - The array is .-or-The argument is .-or-The argument is . - The array is empty or contains a null value. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The action delegate to execute when all tasks in the array have completed. - A bitwise combination of the enumeration values that control the behavior of the new continuation task. The NotOn* and OnlyOn* members are not supported. - The new continuation task. - An element in the array has been disposed. - The array is .-or-The argument is . - The argument specifies an invalid value. - The array is empty or contains a null value. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - The type of the result that is returned by the delegate and associated with the created task. - The new continuation task. - An element in the array has been disposed. - The array is .-or-The argument is . - The array is empty or contains a null value. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - The cancellation token to assign to the new continuation task. - The type of the result that is returned by the delegate and associated with the created task. - The new continuation task. - An element in the array has been disposed.-or-The that created has already been disposed. - The array is .-or-The argument is . - The array is empty or contains a null value. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - The cancellation token to assign to the new continuation task. - A bitwise combination of the enumeration values that control the behavior of the new continuation task. The NotOn* and OnlyOn* members are not supported. - The object that is used to schedule the new continuation task. - The type of the result that is returned by the delegate and associated with the created task. - The new continuation task. - The array is .-or-The argument is .-or-The argument is . - The array is empty or contains a null value. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - A bitwise combination of the enumeration values that control the behavior of the new continuation task. The NotOn* and OnlyOn* members are not supported. - The type of the result that is returned by the delegate and associated with the created task. - The new continuation task. - An element in the array has been disposed. - The array is .-or-The argument is . - The argument specifies an invalid value. - The array is empty or contains a null value. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The action delegate to execute when all tasks in the array have completed. - The type of the result of the antecedent . - The new continuation task. - An element in the array has been disposed. - The array is .-or-The argument is . - The array is empty or contains a null value. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The action delegate to execute when all tasks in the array have completed. - The cancellation token to assign to the new continuation task. - The type of the result of the antecedent . - The new continuation task. - An element in the array has been disposed.-or-The that created has already been disposed. - The array is .-or-The argument is . - The array is empty or contains a null value. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The action delegate to execute when all tasks in the array have completed. - The cancellation token to assign to the new continuation task. - A bitwise combination of the enumeration values that control the behavior of the new continuation task. The NotOn* and OnlyOn* members are not supported. - The object that is used to schedule the new continuation task. - The type of the result of the antecedent . - The new continuation task. - The array is .-or-The argument is .-or-The argument is . - The array is empty or contains a null value. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The action delegate to execute when all tasks in the array have completed. - A bitwise combination of the enumeration values that control the behavior of the new continuation task. The NotOn* and OnlyOn* members are not supported. - The type of the result of the antecedent . - The new continuation task. - An element in the array has been disposed. - The array is .-or-The argument is . - The argument specifies an invalid value. - The array is empty or contains a null value. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - The type of the result of the antecedent . - The type of the result that is returned by the delegate and associated with the created task. - The new continuation task. - An element in the array has been disposed. - The array is .-or-The argument is . - The array is empty or contains a null value. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - The cancellation token to assign to the new continuation task. - The type of the result of the antecedent . - The type of the result that is returned by the delegate and associated with the created task. - The new continuation task. - An element in the array has been disposed.-or-The that created has already been disposed. - The array is .-or-The argument is . - The array is empty or contains a null value. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - The cancellation token to assign to the new continuation task. - A bitwise combination of the enumeration values that control the behavior of the new continuation task. The NotOn* and OnlyOn* members are not supported. - The object that is used to schedule the new continuation task. - The type of the result of the antecedent . - The type of the result that is returned by the delegate and associated with the created task. - The new continuation task. - The array is .-or-The argument is .-or-The argument is . - The array is empty or contains a null value. - The argument specifies an invalid value. - An element in the array has been disposed.-or-The that created has already been disposed. - - - Creates a continuation task that starts when a set of specified tasks has completed. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - A bitwise combination of the enumeration values that control the behavior of the new continuation task. The NotOn* and OnlyOn* members are not supported. - The type of the result of the antecedent . - The type of the result that is returned by the delegate and associated with the created task. - The new continuation task. - An element in the array has been disposed. - The array is .-or-The argument is . - The argument specifies an invalid value. - The array is empty or contains a null value. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The action delegate to execute when one task in the array completes. - The new continuation . - One of the elements in the array has been disposed. - The array is . -or-The argument is . - The array contains a value. -or-The array is empty. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The action delegate to execute when one task in the array completes. - The that will be assigned to the new continuation task. - The new continuation . - One of the elements in the array has been disposed. -or- - has already been disposed. - The array is . -or-The argument is . - The array contains a value. -or-The array is empty . - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The action delegate to execute when one task in the array completes. - The that will be assigned to the new continuation task. - The value that controls the behavior of the created continuation . - The that is used to schedule the created continuation . - The new continuation . - The exception that is thrown when the array is null.-or-The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the array contains a null value.-or-The exception that is thrown when the array is empty. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The action delegate to execute when one task in the array completes. - The value that controls the behavior of the created continuation . - The new continuation . - The exception that is thrown when one of the elements in the array has been disposed. - The exception that is thrown when the array is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskContinuationOptions value. - The exception that is thrown when the array contains a null value.-or-The exception that is thrown when the array is empty. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - The type of the result that is returned by the delegate and associated with the created . - The new continuation . - The exception that is thrown when one of the elements in the array has been disposed. - The exception that is thrown when the array is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the array contains a null value.-or-The exception that is thrown when the array is empty. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - The that will be assigned to the new continuation task. - The type of the result that is returned by the delegate and associated with the created . - The new continuation . - The exception that is thrown when one of the elements in the array has been disposed.-or-The provided has already been disposed. - The exception that is thrown when the array is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the array contains a null value.-or-The exception that is thrown when the array is empty. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - The that will be assigned to the new continuation task. - The value that controls the behavior of the created continuation . - The that is used to schedule the created continuation . - The type of the result that is returned by the delegate and associated with the created . - The new continuation . - The exception that is thrown when the array is null.-or-The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the array contains a null value.-or-The exception that is thrown when the array is empty. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - The value that controls the behavior of the created continuation . - The type of the result that is returned by the delegate and associated with the created . - The new continuation . - The exception that is thrown when one of the elements in the array has been disposed. - The exception that is thrown when the array is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskContinuationOptions value. - The exception that is thrown when the array contains a null value.-or-The exception that is thrown when the array is empty. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The action delegate to execute when one task in the array completes. - The type of the result of the antecedent . - The new continuation . - The exception that is thrown when one of the elements in the array has been disposed. - The exception that is thrown when the array is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the array contains a null value.-or-The exception that is thrown when the array is empty. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The action delegate to execute when one task in the array completes. - The that will be assigned to the new continuation task. - The type of the result of the antecedent . - The new continuation . - The exception that is thrown when one of the elements in the array has been disposed.-or-The provided has already been disposed. - The exception that is thrown when the array is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the array contains a null value.-or-The exception that is thrown when the array is empty. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The action delegate to execute when one task in the array completes. - The that will be assigned to the new continuation task. - The value that controls the behavior of the created continuation . - The that is used to schedule the created continuation . - The type of the result of the antecedent . - The new continuation . - The exception that is thrown when the array is null.-or-The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the array contains a null value.-or-The exception that is thrown when the array is empty. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The action delegate to execute when one task in the array completes. - The value that controls the behavior of the created continuation . - The type of the result of the antecedent . - The new continuation . - The exception that is thrown when one of the elements in the array has been disposed. - The exception that is thrown when the array is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskContinuationOptions value. - The exception that is thrown when the array contains a null value.-or-The exception that is thrown when the array is empty. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - The type of the result of the antecedent . - The type of the result that is returned by the delegate and associated with the created . - The new continuation . - The exception that is thrown when one of the elements in the array has been disposed. - The exception that is thrown when the array is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the array contains a null value.-or-The exception that is thrown when the array is empty. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - The that will be assigned to the new continuation task. - The type of the result of the antecedent . - The type of the result that is returned by the delegate and associated with the created . - The new continuation . - The exception that is thrown when one of the elements in the array has been disposed.-or-The provided has already been disposed. - The exception that is thrown when the array is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the array contains a null value.-or-The exception that is thrown when the array is empty. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - The that will be assigned to the new continuation task. - The value that controls the behavior of the created continuation . - The that is used to schedule the created continuation . - The type of the result of the antecedent . - The type of the result that is returned by the delegate and associated with the created . - The new continuation . - The exception that is thrown when the array is null.-or-The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the array contains a null value.-or-The exception that is thrown when the array is empty. - - - Creates a continuation that will be started upon the completion of any Task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - The value that controls the behavior of the created continuation . - The type of the result of the antecedent . - The type of the result that is returned by the delegate and associated with the created . - The new continuation . - The exception that is thrown when one of the elements in the array has been disposed. - The exception that is thrown when the array is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskContinuationOptions value. - The exception that is thrown when the array contains a null value.-or-The exception that is thrown when the array is empty. - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - An object containing data to be used by the delegate. - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - An object containing data to be used by the delegate. - The TaskCreationOptions value that controls the behavior of the created . - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. - - - Creates a that executes an end method action when a specified completes. - The IAsyncResult whose completion should trigger the processing of the . - The action delegate that processes the completed . - A that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - - - Creates a that executes an end method action when a specified completes. - The IAsyncResult whose completion should trigger the processing of the . - The action delegate that processes the completed . - The TaskCreationOptions value that controls the behavior of the created . - A that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates a that executes an end method action when a specified completes. - The IAsyncResult whose completion should trigger the processing of the . - The action delegate that processes the completed . - The TaskCreationOptions value that controls the behavior of the created . - The that is used to schedule the task that executes the end method. - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - An object containing data to be used by the delegate. - The type of the first argument passed to the delegate. - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - An object containing data to be used by the delegate. - The TaskCreationOptions value that controls the behavior of the created . - The type of the first argument passed to the delegate. - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - An object containing data to be used by the delegate. - The type of the result available through the . - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - An object containing data to be used by the delegate. - The TaskCreationOptions value that controls the behavior of the created . - The type of the result available through the . - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates a that executes an end method function when a specified completes. - The IAsyncResult whose completion should trigger the processing of the . - The function delegate that processes the completed . - The type of the result available through the . - A that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - - - Creates a that executes an end method function when a specified completes. - The IAsyncResult whose completion should trigger the processing of the . - The function delegate that processes the completed . - The TaskCreationOptions value that controls the behavior of the created . - The type of the result available through the . - A that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates a that executes an end method function when a specified completes. - The IAsyncResult whose completion should trigger the processing of the . - The function delegate that processes the completed . - The TaskCreationOptions value that controls the behavior of the created . - The that is used to schedule the task that executes the end method. - The type of the result available through the . - A that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - The second argument passed to the delegate. - An object containing data to be used by the delegate. - The type of the second argument passed to delegate. - The type of the first argument passed to the delegate. - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - The second argument passed to the delegate. - An object containing data to be used by the delegate. - The TaskCreationOptions value that controls the behavior of the created . - The type of the second argument passed to delegate. - The type of the first argument passed to the delegate. - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - An object containing data to be used by the delegate. - The type of the first argument passed to the delegate. - The type of the result available through the . - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - An object containing data to be used by the delegate. - The TaskCreationOptions value that controls the behavior of the created . - The type of the first argument passed to the delegate. - The type of the result available through the . - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - The second argument passed to the delegate. - The third argument passed to the delegate. - An object containing data to be used by the delegate. - The type of the second argument passed to delegate. - The type of the third argument passed to delegate. - The type of the first argument passed to the delegate. - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - The second argument passed to the delegate. - The third argument passed to the delegate. - An object containing data to be used by the delegate. - The TaskCreationOptions value that controls the behavior of the created . - The type of the second argument passed to delegate. - The type of the third argument passed to delegate. - The type of the first argument passed to the delegate. - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - The second argument passed to the delegate. - An object containing data to be used by the delegate. - The type of the second argument passed to delegate. - The type of the first argument passed to the delegate. - The type of the result available through the . - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - The second argument passed to the delegate. - An object containing data to be used by the delegate. - The TaskCreationOptions value that controls the behavior of the created . - The type of the second argument passed to delegate. - The type of the first argument passed to the delegate. - The type of the result available through the . - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - The second argument passed to the delegate. - The third argument passed to the delegate. - An object containing data to be used by the delegate. - The type of the second argument passed to delegate. - The type of the third argument passed to delegate. - The type of the first argument passed to the delegate. - The type of the result available through the . - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - - - Creates a that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - The second argument passed to the delegate. - The third argument passed to the delegate. - An object containing data to be used by the delegate. - The TaskCreationOptions value that controls the behavior of the created . - The type of the second argument passed to delegate. - The type of the third argument passed to delegate. - The type of the first argument passed to the delegate. - The type of the result available through the . - The created that represents the asynchronous operation. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates and starts a task. - The action delegate to execute asynchronously. - The started task. - The argument is null. - - - Creates and starts a . - The action delegate to execute asynchronously. - The that will be assigned to the new task. - The started . - The provided has already been disposed. - The exception that is thrown when the argument is null. - - - Creates and starts a . - The action delegate to execute asynchronously. - The that will be assigned to the new - A TaskCreationOptions value that controls the behavior of the created - The that is used to schedule the created . - The started . - The provided has already been disposed. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates and starts a . - The action delegate to execute asynchronously. - A TaskCreationOptions value that controls the behavior of the created - The started . - The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. - - - Creates and starts a . - The action delegate to execute asynchronously. - An object containing data to be used by the delegate. - The started . - The argument is . - - - Creates and starts a . - The action delegate to execute asynchronously. - An object containing data to be used by the delegate. - The that will be assigned to the new - The started . - The provided has already been disposed. - The exception that is thrown when the argument is null. - - - Creates and starts a . - The action delegate to execute asynchronously. - An object containing data to be used by the delegate. - The that will be assigned to the new task. - A TaskCreationOptions value that controls the behavior of the created - The that is used to schedule the created . - The started . - The provided has already been disposed. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates and starts a . - The action delegate to execute asynchronously. - An object containing data to be used by the delegate. - A TaskCreationOptions value that controls the behavior of the created - The started . - The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. - - - Creates and starts a . - A function delegate that returns the future result to be available through the . - The type of the result available through the . - The started . - The argument is . - - - Creates and starts a . - A function delegate that returns the future result to be available through the . - The that will be assigned to the new - The type of the result available through the . - The started . - The provided has already been disposed. - The exception that is thrown when the argument is null. - - - Creates and starts a . - A function delegate that returns the future result to be available through the . - The that will be assigned to the new task. - A TaskCreationOptions value that controls the behavior of the created . - The that is used to schedule the created . - The type of the result available through the . - The started . - The provided has already been disposed. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates and starts a . - A function delegate that returns the future result to be available through the . - A TaskCreationOptions value that controls the behavior of the created . - The type of the result available through the . - The started . - The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates and starts a . - A function delegate that returns the future result to be available through the . - An object containing data to be used by the delegate. - The type of the result available through the . - The started . - The exception that is thrown when the argument is null. - - - Creates and starts a . - A function delegate that returns the future result to be available through the . - An object containing data to be used by the delegate. - The that will be assigned to the new - The type of the result available through the . - The started . - The provided has already been disposed. - The exception that is thrown when the argument is null. - - - Creates and starts a . - A function delegate that returns the future result to be available through the . - An object containing data to be used by the delegate. - The that will be assigned to the new task. - A TaskCreationOptions value that controls the behavior of the created . - The that is used to schedule the created . - The type of the result available through the . - The started . - The provided has already been disposed. - The exception that is thrown when the argument is null.-or-The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Creates and starts a . - A function delegate that returns the future result to be available through the . - An object containing data to be used by the delegate. - A TaskCreationOptions value that controls the behavior of the created . - The type of the result available through the . - The started . - The exception that is thrown when the argument is null. - The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for - - - Initializes a instance with the default configuration. - - - Initializes a instance with the default configuration. - The default cancellation token that will be assigned to tasks created by this unless another cancellation token is explicitly specified when calling the factory methods. - - - Initializes a instance with the specified configuration. - The default cancellation token that will be assigned to tasks created by this unless another cancellation token is explicitly specified when calling the factory methods. - The default options to use when creating tasks with this . - The default options to use when creating continuation tasks with this . - The default scheduler to use to schedule any tasks created with this . A null value indicates that should be used. - - or specifies an invalid value. - - - Initializes a instance with the specified configuration. - The default options to use when creating tasks with this . - The default options to use when creating continuation tasks with this . - - or specifies an invalid value. - - - Initializes a instance with the specified configuration. - The scheduler to use to schedule any tasks created with this . A null value indicates that the current should be used. - - - Creates a continuation task that will be started upon the completion of a set of provided tasks. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - The new continuation task. - One of the elements in the array has been disposed. - - array is .-or-The is . - The array contains a null value or is empty. - - - Creates a continuation task that will be started upon the completion of a set of provided tasks. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - The cancellation token that will be assigned to the new continuation task. - The new continuation task. - One of the elements in the array has been disposed.-or-The that created has already been disposed. - The array is .-or- - is . - The array contains a null value or is empty. - - - Creates a continuation task that will be started upon the completion of a set of provided Tasks. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - The cancellation token that will be assigned to the new continuation task. - One of the enumeration values that controls the behavior of the created continuation task. The NotOn* or OnlyOn* values are not valid. - The scheduler that is used to schedule the created continuation task. - The new continuation task. - The array is .-or-The argument is .-or-The argument is . - The array contains a null value or is empty. - - specifies an invalid value. - One of the elements in the array has been disposed.-or-The that created has already been disposed. - - - Creates a continuation task that will be started upon the completion of a set of provided Tasks. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - One of the enumeration values that controls the behavior of the created continuation task. The NotOn* or OnlyOn* values are not valid. - The new continuation task. - One of the elements in the array has been disposed. - The array is .-or-The argument is . - The argument specifies an invalid value. - The array contains a null value or is empty. - - - Creates a continuation task that will be started upon the completion of a set of provided tasks. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - The type of the result of the antecedent . - The new continuation task. - One of the elements in the array has been disposed. - The array is .-or-The argument is . - The array contains a null value or is empty. - - - Creates a continuation task that will be started upon the completion of a set of provided tasks. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - The cancellation token that will be assigned to the new continuation task. - The type of the result of the antecedent . - The new continuation task. - One of the elements in the array has been disposed.-or-The that created has already been disposed. - The array is .-or-The argument is . - The array contains a null value or is empty. - - - Creates a continuation task that will be started upon the completion of a set of provided tasks. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - The cancellation token that will be assigned to the new continuation task. - One of the enumeration values that controls the behavior of the created continuation task. The NotOn* or OnlyOn* values are not valid. - The scheduler that is used to schedule the created continuation task. - The type of the result of the antecedent . - The new continuation task. - The array is .-or-The argument is .-or-The argument is . - The array contains a null value or is empty. - The argument specifies an invalid value. - One of the elements in the array has been disposed.-or-The that created has already been disposed. - - - Creates a continuation task that will be started upon the completion of a set of provided tasks. - The array of tasks from which to continue. - The function delegate to execute asynchronously when all tasks in the array have completed. - One of the enumeration values that controls the behavior of the created continuation task. The NotOn* or OnlyOn* values are not valid. - The type of the result of the antecedent . - The new continuation task. - One of the elements in the array has been disposed. - The array is .-or-The argument is . - The argument specifies an invalid value. - The array contains a null value or is empty. - - - Creates a continuation task that will be started upon the completion of any task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - The new continuation task. - One of the elements in the array has been disposed. - The array is .-or-The argument is . - The array contains a null value or is empty. - - - Creates a continuation task that will be started upon the completion of any task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - The cancellation token that will be assigned to the new continuation task. - The new continuation task. - One of the elements in the array has been disposed.-or-The that created has already been disposed. - The array is null.-or-The argument is null. - The array contains a null value.-or-The array is empty. - - - Creates a continuation task that will be started upon the completion of any task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - The cancellation token that will be assigned to the new continuation task. - One of the enumeration values that controls the behavior of the created continuation task. The or values are not valid. - The task scheduler that is used to schedule the created continuation task. - The new continuation task. - The array is .-or-The argument is .-or-The argument is . - The array contains a null value.-or-The array is empty. - The argument specifies an invalid value. - One of the elements in the array has been disposed.-or-The that created has already been disposed. - - - Creates a continuation task that will be started upon the completion of any task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - One of the enumeration values that controls the behavior of the created continuation task. The or values are not valid. - The new continuation task. - One of the elements in the array has been disposed. - The array is .-or-The argument is . - The argument specifies an invalid enumeration value. - The array contains a null value.-or-The array is empty. - - - Creates a continuation task that will be started upon the completion of any task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - The type of the result of the antecedent . - The new continuation . - One of the elements in the array has been disposed. - The array is .-or-The argument is . - The array contains a null value.-or-The array is empty. - - - Creates a continuation task that will be started upon the completion of any task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - The cancellation token that will be assigned to the new continuation task. - The type of the result of the antecedent . - The new continuation task. - One of the elements in the array has been disposed.-or-The that created has already been disposed. - The array is .-or-The argument is . - The array contains a null value.-or-The array is empty. - - - Creates a continuation task that will be started upon the completion of any task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - The cancellation token that will be assigned to the new continuation task. - One of the enumeration values that controls the behavior of the created continuation task. The or values are not valid. - The that is used to schedule the created continuation . - The type of the result of the antecedent . - The new continuation . - The array is .-or-The argument is .-or-The argument is null. - The array contains a null value.-or-The array is empty. - The argument specifies an invalid TaskContinuationOptions value. - One of the elements in the array has been disposed.-or-The that created has already been disposed. - - - Creates a continuation task that will be started upon the completion of any task in the provided set. - The array of tasks from which to continue when one task completes. - The function delegate to execute asynchronously when one task in the array completes. - One of the enumeration values that controls the behavior of the created continuation task. The or values are not valid. - The type of the result of the antecedent . - The new continuation . - One of the elements in the array has been disposed. - The array is .-or-The argument is . - The argument specifies an invalid enumeration value. - The array contains a null value.-or-The array is empty. - - - Creates a task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - An object containing data to be used by the delegate. - The created task that represents the asynchronous operation. - The argument is .-or-The argument is . - - - Creates a task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - An object containing data to be used by the delegate. - One of the enumeration values that controls the behavior of the created task. - The created that represents the asynchronous operation. - The argument is .-or-The argument is . - The argument specifies an invalid value. - - - Creates a task that executes an end method function when a specified completes. - The whose completion should trigger the processing of the . - The function delegate that processes the completed . - A that represents the asynchronous operation. - The argument is .-or-The argument is . - - - Creates a task that executes an end method function when a specified completes. - The whose completion should trigger the processing of the . - The function delegate that processes the completed . - One of the enumeration values that controls the behavior of the created task. - A task that represents the asynchronous operation. - The argument is .-or-The argument is . - The argument specifies an invalid value. - - - Creates a task that executes an end method function when a specified completes. - The whose completion should trigger the processing of the . - The function delegate that processes the completed . - One of the enumeration values that controls the behavior of the created task. - The task scheduler that is used to schedule the task that executes the end method. - The created task that represents the asynchronous operation. - The argument is .-or-The argument is .-or-The argument is . - The parameter specifies an invalid value. - - - Creates a task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - An object containing data to be used by the delegate. - The type of the first argument passed to the delegate. - The created task that represents the asynchronous operation. - The argument is .-or-The argument is . - - - Creates a task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - An object containing data to be used by the delegate. - One of the enumeration values that controls the behavior of the created task. - The type of the first argument passed to the delegate. - The created task that represents the asynchronous operation. - The argument is .-or-The argument is . - The parameter specifies an invalid value. - - - Creates a task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - The second argument passed to the delegate. - An object containing data to be used by the delegate. - The type of the second argument passed to delegate. - The type of the first argument passed to the delegate. - The created task that represents the asynchronous operation. - The argument is .-or-The argument is . - - - Creates a task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - The second argument passed to the delegate. - An object containing data to be used by the delegate. - An object that controls the behavior of the created . - The type of the second argument passed to delegate. - The type of the first argument passed to the delegate. - The created task that represents the asynchronous operation. - The argument is .-or-The argument is . - The parameter specifies an invalid value. - - - Creates a task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - The second argument passed to the delegate. - The third argument passed to the delegate. - An object containing data to be used by the delegate. - The type of the second argument passed to delegate. - The type of the third argument passed to delegate. - The type of the first argument passed to the delegate. - The created task that represents the asynchronous operation. - The argument is .-or-The argument is . - - - Creates a task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern. - The delegate that begins the asynchronous operation. - The delegate that ends the asynchronous operation. - The first argument passed to the delegate. - The second argument passed to the delegate. - The third argument passed to the delegate. - An object containing data to be used by the delegate. - An object that controls the behavior of the created task. - The type of the second argument passed to delegate. - The type of the third argument passed to delegate. - The type of the first argument passed to the delegate. - The created task that represents the asynchronous operation. - The argument is .-or-The argument is . - The parameter specifies an invalid value. - - - Creates and starts a task. - A function delegate that returns the future result to be available through the task. - The started task. - The argument is . - - - Creates and starts a task. - A function delegate that returns the future result to be available through the task. - The cancellation token that will be assigned to the new task. - The started task. - The cancellation token source that created has already been disposed. - The argument is . - - - Creates and starts a task. - A function delegate that returns the future result to be available through the task. - The cancellation token that will be assigned to the new task. - One of the enumeration values that controls the behavior of the created task. - The task scheduler that is used to schedule the created task. - The started task. - The cancellation token source that created has already been disposed. - The argument is .-or-The argument is . - The parameter specifies an invalid value. - - - Creates and starts a task. - A function delegate that returns the future result to be available through the task. - One of the enumeration values that controls the behavior of the created task. - The started . - The argument is . - The parameter specifies an invalid value. - - - Creates and starts a task. - A function delegate that returns the future result to be available through the task. - An object that contains data to be used by the delegate. - The started task. - The argument is . - - - Creates and starts a task. - A function delegate that returns the future result to be available through the task. - An object that contains data to be used by the delegate. - The cancellation token that will be assigned to the new task. - The started task. - The cancellation token source that created has already been disposed. - The argument is . - - - Creates and starts a task. - A function delegate that returns the future result to be available through the task. - An object that contains data to be used by the delegate. - The cancellation token that will be assigned to the new task. - One of the enumeration values that controls the behavior of the created task. - The task scheduler that is used to schedule the created task. - The started task. - The cancellation token source that created has already been disposed. - The argument is .-or-The argument is . - The parameter specifies an invalid value. - - - Creates and starts a task. - A function delegate that returns the future result to be available through the task. - An object that contains data to be used by the delegate. - One of the enumeration values that controls the behavior of the created task. - The started task. - The argument is . - The parameter specifies an invalid value. - - - Initializes the . - - - Creates a associated with the current . - A associated with the current , as determined by . - The current SynchronizationContext may not be used as a TaskScheduler. - - - For debugger support only, generates an enumerable of instances currently queued to the scheduler waiting to be executed. - An enumerable that allows a debugger to traverse the tasks currently queued to this scheduler. - This scheduler is unable to generate a list of queued tasks at this time. - - - Queues a to the scheduler. - The to be queued. - The argument is null. - - - Attempts to dequeue a that was previously queued to this scheduler. - The to be dequeued. - A Boolean denoting whether the argument was successfully dequeued. - The argument is null. - - - Attempts to execute the provided on this scheduler. - A object to be executed. - A Boolean that is true if was successfully executed, false if it was not. A common reason for execution failure is that the task had previously been executed or is in the process of being executed by another thread. - The is not associated with this scheduler. - - - Determines whether the provided can be executed synchronously in this call, and if it can, executes it. - The to be executed. - A Boolean denoting whether or not task has previously been queued. If this parameter is True, then the task may have been previously queued (scheduled); if False, then the task is known not to have been queued, and this call is being made in order to execute the task inline without queuing it. - A Boolean value indicating whether the task was executed inline. - The argument is null. - The was already executed. - - - Initializes a new instance of the class with a system-supplied message that describes the error. - - - Initializes a new instance of the class using the default error message and a reference to the inner exception that is the cause of this exception. - The exception that is the cause of the current exception. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified message that describes the error. - The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with the unobserved exception. - The Exception that has gone unobserved. - - - Marks the as "observed," thus preventing it from triggering exception escalation policy which, by default, terminates the process. - - - Initializes a new instance of the class, specifying a delegate that allows an object to be passed to the thread when the thread is started. - A delegate that represents the methods to be invoked when this thread begins executing. - - is . - - - Initializes a new instance of the class, specifying a delegate that allows an object to be passed to the thread when the thread is started and specifying the maximum stack size for the thread. - A delegate that represents the methods to be invoked when this thread begins executing. - The maximum stack size, in bytes, to be used by the thread, or 0 to use the default maximum stack size specified in the header for the executable.Important   For partially trusted code, is ignored if it is greater than the default stack size. No exception is thrown. - - is . - - is less than zero. - - - Initializes a new instance of the class. - A delegate that represents the methods to be invoked when this thread begins executing. - The parameter is . - - - Initializes a new instance of the class, specifying the maximum stack size for the thread. - A delegate that represents the methods to be invoked when this thread begins executing. - The maximum stack size, in bytes, to be used by the thread, or 0 to use the default maximum stack size specified in the header for the executable.Important   For partially trusted code, is ignored if it is greater than the default stack size. No exception is thrown. - - is . - - is less than zero. - - - Raises a in the thread on which it is invoked, to begin the process of terminating the thread. Calling this method usually terminates the thread. - The caller does not have the required permission. - The thread that is being aborted is currently suspended. - - - Raises a in the thread on which it is invoked, to begin the process of terminating the thread while also providing exception information about the thread termination. Calling this method usually terminates the thread. - An object that contains application-specific information, such as state, which can be used by the thread being aborted. - The caller does not have the required permission. - The thread that is being aborted is currently suspended. - - - Allocates an unnamed data slot on all the threads. For better performance, use fields that are marked with the attribute instead. - The allocated named data slot on all threads. - - - Allocates a named data slot on all threads. For better performance, use fields that are marked with the attribute instead. - The name of the data slot to be allocated. - The allocated named data slot on all threads. - A named data slot with the specified name already exists. - - - Notifies a host that execution is about to enter a region of code in which the effects of a thread abort or unhandled exception might jeopardize other tasks in the application domain. - - - Notifies a host that managed code is about to execute instructions that depend on the identity of the current physical operating system thread. - The caller does not have the required permission. - - - Turns off automatic cleanup of runtime callable wrappers (RCW) for the current thread. - - - Notifies a host that execution is about to enter a region of code in which the effects of a thread abort or unhandled exception are limited to the current task. - - - Notifies a host that managed code has finished executing instructions that depend on the identity of the current physical operating system thread. - The caller does not have the required permission. - - - Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the object. - - - Eliminates the association between a name and a slot, for all threads in the process. For better performance, use fields that are marked with the attribute instead. - The name of the data slot to be freed. - - - Returns an value indicating the apartment state. - One of the values indicating the apartment state of the managed thread. The default is . - - - Returns a object that can be used to capture the stack for the current thread. - None. - - In all cases. - - - Retrieves the value from the specified slot on the current thread, within the current thread's current domain. For better performance, use fields that are marked with the attribute instead. - The from which to get the value. - The retrieved value. - - - Returns the current domain in which the current thread is running. - An representing the current application domain of the running thread. - - - Returns a unique application domain identifier. - A 32-bit signed integer uniquely identifying the application domain. - - - Returns a hash code for the current thread. - An integer hash code value. - - - Looks up a named data slot. For better performance, use fields that are marked with the attribute instead. - The name of the local data slot. - A allocated for this thread. - - - Interrupts a thread that is in the thread state. - The caller does not have the appropriate . - - - Blocks the calling thread until the thread represented by this instance terminates, while continuing to perform standard COM and pumping. - The caller attempted to join a thread that is in the state. - The thread is interrupted while waiting. - - - Blocks the calling thread until the thread represented by this instance terminates or the specified time elapses, while continuing to perform standard COM and SendMessage pumping. - The number of milliseconds to wait for the thread to terminate. - - if the thread has terminated; if the thread has not terminated after the amount of time specified by the parameter has elapsed. - The value of is negative and is not equal to in milliseconds. - The thread has not been started. - - - Blocks the calling thread until the thread represented by this instance terminates or the specified time elapses, while continuing to perform standard COM and SendMessage pumping. - A set to the amount of time to wait for the thread to terminate. - - if the thread terminated; if the thread has not terminated after the amount of time specified by the parameter has elapsed. - The value of is negative and is not equal to in milliseconds, or is greater than milliseconds. - The caller attempted to join a thread that is in the state. - - - Synchronizes memory access as follows: The processor executing the current thread cannot reorder instructions in such a way that memory accesses prior to the call to execute after memory accesses that follow the call to . - - - Cancels an requested for the current thread. - - was not invoked on the current thread. - The caller does not have the required security permission for the current thread. - - - Resumes a thread that has been suspended. - The thread has not been started, is dead, or is not in the suspended state. - The caller does not have the appropriate . - - - Sets the apartment state of a thread before it is started. - The new apartment state. - - is not a valid apartment state. - The thread has already been started. - The apartment state has already been initialized. - - - Applies a captured to the current thread. - The object to be applied to the current thread. - In all cases. - - - Sets the data in the specified slot on the currently running thread, for that thread's current domain. For better performance, use fields marked with the attribute instead. - The in which to set the value. - The value to be set. - - - Suspends the current thread for the specified number of milliseconds. - The number of milliseconds for which the thread is suspended. If the value of the argument is zero, the thread relinquishes the remainder of its time slice to any thread of equal priority that is ready to run. If there are no other threads of equal priority that are ready to run, execution of the current thread is not suspended. - The time-out value is negative and is not equal to . - - - Suspends the current thread for the specified amount of time. - The amount of time for which the thread is suspended. If the value of the argument is , the thread relinquishes the remainder of its time slice to any thread of equal priority that is ready to run. If there are no other threads of equal priority that are ready to run, execution of the current thread is not suspended. - The value of is negative and is not equal to in milliseconds, or is greater than milliseconds. - - - Causes a thread to wait the number of times defined by the parameter. - A 32-bit signed integer that defines how long a thread is to wait. - - - Causes the operating system to change the state of the current instance to . - The thread has already been started. - There is not enough memory available to start this thread. - - - Causes the operating system to change the state of the current instance to , and optionally supplies an object containing data to be used by the method the thread executes. - An object that contains data to be used by the method the thread executes. - The thread has already been started. - There is not enough memory available to start this thread. - This thread was created using a delegate instead of a delegate. - - - Either suspends the thread, or if the thread is already suspended, has no effect. - The thread has not been started or is dead. - The caller does not have the appropriate . - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - Receives a pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Sets the apartment state of a thread before it is started. - The new apartment state. - - if the apartment state is set; otherwise, . - - is not a valid apartment state. - The thread has already been started. - - - Reads the value of a field. The value is the latest written by any processor in a computer, regardless of the number of processors or the state of processor cache. - The field to be read. - The latest value written to the field by any processor. - - - Reads the value of a field. The value is the latest written by any processor in a computer, regardless of the number of processors or the state of processor cache. - The field to be read. - The latest value written to the field by any processor. - - - Reads the value of a field. The value is the latest written by any processor in a computer, regardless of the number of processors or the state of processor cache. - The field to be read. - The latest value written to the field by any processor. - - - Reads the value of a field. The value is the latest written by any processor in a computer, regardless of the number of processors or the state of processor cache. - The field to be read. - The latest value written to the field by any processor. - - - Reads the value of a field. The value is the latest written by any processor in a computer, regardless of the number of processors or the state of processor cache. - The field to be read. - The latest value written to the field by any processor. - - - Reads the value of a field. The value is the latest written by any processor in a computer, regardless of the number of processors or the state of processor cache. - The field to be read. - The latest value written to the field by any processor. - - - Reads the value of a field. The value is the latest written by any processor in a computer, regardless of the number of processors or the state of processor cache. - The field to be read. - The latest value written to the field by any processor. - - - Reads the value of a field. The value is the latest written by any processor in a computer, regardless of the number of processors or the state of processor cache. - The field to be read. - The latest value written to the field by any processor. - - - Reads the value of a field. The value is the latest written by any processor in a computer, regardless of the number of processors or the state of processor cache. - The field to be read. - The latest value written to the field by any processor. - - - Reads the value of a field. The value is the latest written by any processor in a computer, regardless of the number of processors or the state of processor cache. - The field to be read. - The latest value written to the field by any processor. - - - Reads the value of a field. The value is the latest written by any processor in a computer, regardless of the number of processors or the state of processor cache. - The field to be read. - The latest value written to the field by any processor. - - - Reads the value of a field. The value is the latest written by any processor in a computer, regardless of the number of processors or the state of processor cache. - The field to be read. - The latest value written to the field by any processor. - - - Reads the value of a field. The value is the latest written by any processor in a computer, regardless of the number of processors or the state of processor cache. - The field to be read. - The latest value written to the field by any processor. - - - Writes a value to a field immediately, so that the value is visible to all processors in the computer. - The field to which the value is to be written. - The value to be written. - - - Writes a value to a field immediately, so that the value is visible to all processors in the computer. - The field to which the value is to be written. - The value to be written. - - - Writes a value to a field immediately, so that the value is visible to all processors in the computer. - The field to which the value is to be written. - The value to be written. - - - Writes a value to a field immediately, so that the value is visible to all processors in the computer. - The field to which the value is to be written. - The value to be written. - - - Writes a value to a field immediately, so that the value is visible to all processors in the computer. - The field to which the value is to be written. - The value to be written. - - - Writes a value to a field immediately, so that the value is visible to all processors in the computer. - The field to which the value is to be written. - The value to be written. - - - Writes a value to a field immediately, so that the value is visible to all processors in the computer. - The field to which the value is to be written. - The value to be written. - - - Writes a value to a field immediately, so that the value is visible to all processors in the computer. - The field to which the value is to be written. - The value to be written. - - - Writes a value to a field immediately, so that the value is visible to all processors in the computer. - The field to which the value is to be written. - The value to be written. - - - Writes a value to a field immediately, so that the value is visible to all processors in the computer. - The field to which the value is to be written. - The value to be written. - - - Writes a value to a field immediately, so that the value is visible to all processors in the computer. - The field to which the value is to be written. - The value to be written. - - - Writes a value to a field immediately, so that the value is visible to all processors in the computer. - The field to which the value is to be written. - The value to be written. - - - Writes a value to a field immediately, so that the value is visible to all processors in the computer. - The field to which the value is to be written. - The value to be written. - - - Causes the calling thread to yield execution to another thread that is ready to run on the current processor. The operating system selects the thread to yield to. - - if the operating system switched execution to another thread; otherwise, . - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes the instance. - - - Initializes the instance and specifies whether all values are accessible from any thread. - - to track all values set on the instance and expose them through the property; otherwise. - - - Initializes the instance with the specified function. - The invoked to produce a lazily-initialized value when an attempt is made to retrieve without it having been previously initialized. - - is a null reference (Nothing in Visual Basic). - - - Initializes the instance with the specified function and a flag that indicates whether all values are accessible from any thread. - The invoked to produce a lazily-initialized value when an attempt is made to retrieve without it having been previously initialized. - - to track all values set on the instance and expose them through the property; otherwise. - - is a reference ( in Visual Basic). - - - Releases all resources used by the current instance of the class. - - - Releases the resources used by this instance. - A Boolean value that indicates whether this method is being called due to a call to . - - - Releases the resources used by this instance. - - - Creates and returns a string representation of this instance for the current thread. - The result of calling on the . - The instance has been disposed. - The for the current thread is a null reference (Nothing in Visual Basic). - The initialization function attempted to reference recursively. - No default constructor is provided and no value factory is supplied. - - - Binds an operating system handle to the . - An that holds the handle. The handle must have been opened for overlapped I/O on the unmanaged side. - - if the handle is bound; otherwise, . - The caller does not have the required permission. - - - Binds an operating system handle to the . - A that holds the operating system handle. The handle must have been opened for overlapped I/O on the unmanaged side. - - if the handle is bound; otherwise, . - - is . - - - Retrieves the difference between the maximum number of thread pool threads returned by the method, and the number currently active. - The number of available worker threads. - The number of available asynchronous I/O threads. - - - Retrieves the number of requests to the thread pool that can be active concurrently. All requests above that number remain queued until thread pool threads become available. - The maximum number of worker threads in the thread pool. - The maximum number of asynchronous I/O threads in the thread pool. - - - - Retrieves the minimum number of threads the thread pool creates on demand, as new requests are made, before switching to an algorithm for managing thread creation and destruction. - - When this method returns, contains the minimum number of worker threads that the thread pool creates on demand. - When this method returns, contains the minimum number of asynchronous I/O threads that the thread pool creates on demand. - - - Queues a method for execution. The method executes when a thread pool thread becomes available. - A that represents the method to be executed. - - if the method is successfully queued; is thrown if the work item could not be queued. - - is . - The common language runtime (CLR) is hosted, and the host does not support this action. - - - Queues a method for execution, and specifies an object containing data to be used by the method. The method executes when a thread pool thread becomes available. - A representing the method to execute. - An object containing data to be used by the method. - - if the method is successfully queued; is thrown if the work item could not be queued. - The common language runtime (CLR) is hosted, and the host does not support this action. - - is . - - - Registers a delegate to wait for a , specifying a 32-bit signed integer for the time-out in milliseconds. - The to register. Use a other than . - The delegate to call when the parameter is signaled. - The object that is passed to the delegate. - The time-out in milliseconds. If the parameter is 0 (zero), the function tests the object's state and returns immediately. If is -1, the function's time-out interval never elapses. - - to indicate that the thread will no longer wait on the parameter after the delegate has been called; to indicate that the timer is reset every time the wait operation completes until the wait is unregistered. - The that encapsulates the native handle. - The parameter is less than -1. - - - Registers a delegate to wait for a , specifying a 64-bit signed integer for the time-out in milliseconds. - The to register. Use a other than . - The delegate to call when the parameter is signaled. - The object passed to the delegate. - The time-out in milliseconds. If the parameter is 0 (zero), the function tests the object's state and returns immediately. If is -1, the function's time-out interval never elapses. - - to indicate that the thread will no longer wait on the parameter after the delegate has been called; to indicate that the timer is reset every time the wait operation completes until the wait is unregistered. - The that encapsulates the native handle. - The parameter is less than -1. - - - Registers a delegate to wait for a , specifying a value for the time-out. - The to register. Use a other than . - The delegate to call when the parameter is signaled. - The object passed to the delegate. - The time-out represented by a . If is 0 (zero), the function tests the object's state and returns immediately. If is -1, the function's time-out interval never elapses. - - to indicate that the thread will no longer wait on the parameter after the delegate has been called; to indicate that the timer is reset every time the wait operation completes until the wait is unregistered. - The that encapsulates the native handle. - The parameter is less than -1. - The parameter is greater than . - - - Registers a delegate to wait for a , specifying a 32-bit unsigned integer for the time-out in milliseconds. - The to register. Use a other than . - The delegate to call when the parameter is signaled. - The object passed to the delegate. - The time-out in milliseconds. If the parameter is 0 (zero), the function tests the object's state and returns immediately. If is -1, the function's time-out interval never elapses. - - to indicate that the thread will no longer wait on the parameter after the delegate has been called; to indicate that the timer is reset every time the wait operation completes until the wait is unregistered. - The that can be used to cancel the registered wait operation. - The parameter is less than -1. - - - Sets the number of requests to the thread pool that can be active concurrently. All requests above that number remain queued until thread pool threads become available. - The maximum number of worker threads in the thread pool. - The maximum number of asynchronous I/O threads in the thread pool. - - if the change is successful; otherwise, . - - - - Sets the minimum number of threads the thread pool creates on demand, as new requests are made, before switching to an algorithm for managing thread creation and destruction. - The minimum number of worker threads that the thread pool creates on demand. - The minimum number of asynchronous I/O threads that the thread pool creates on demand. - - if the change is successful; otherwise, . - - - Queues an overlapped I/O operation for execution. - The structure to queue. - - if the operation was successfully queued to an I/O completion port; otherwise, . - - - Queues the specified delegate to the thread pool, but does not propagate the calling stack to the worker thread. - A that represents the delegate to invoke when a thread in the thread pool picks up the work item. - The object that is passed to the delegate when serviced from the thread pool. - - if the method succeeds; is thrown if the work item could not be queued. - The caller does not have the required permission. - An out-of-memory condition was encountered. - The work item could not be queued. - - is . - - - Registers a delegate to wait for a , using a 32-bit signed integer for the time-out in milliseconds. This method does not propagate the calling stack to the worker thread. - The to register. Use a other than . - The delegate to call when the parameter is signaled. - The object that is passed to the delegate. - The time-out in milliseconds. If the parameter is 0 (zero), the function tests the object's state and returns immediately. If is -1, the function's time-out interval never elapses. - - to indicate that the thread will no longer wait on the parameter after the delegate has been called; to indicate that the timer is reset every time the wait operation completes until the wait is unregistered. - The object that can be used to cancel the registered wait operation. - The parameter is less than -1. - The caller does not have the required permission. - - - Registers a delegate to wait for a , specifying a 64-bit signed integer for the time-out in milliseconds. This method does not propagate the calling stack to the worker thread. - The to register. Use a other than . - The delegate to call when the parameter is signaled. - The object that is passed to the delegate. - The time-out in milliseconds. If the parameter is 0 (zero), the function tests the object's state and returns immediately. If is -1, the function's time-out interval never elapses. - - to indicate that the thread will no longer wait on the parameter after the delegate has been called; to indicate that the timer is reset every time the wait operation completes until the wait is unregistered. - The object that can be used to cancel the registered wait operation. - The parameter is less than -1. - The caller does not have the required permission. - - - Registers a delegate to wait for a , specifying a value for the time-out. This method does not propagate the calling stack to the worker thread. - The to register. Use a other than . - The delegate to call when the parameter is signaled. - The object that is passed to the delegate. - The time-out represented by a . If is 0 (zero), the function tests the object's state and returns immediately. If is -1, the function's time-out interval never elapses. - - to indicate that the thread will no longer wait on the parameter after the delegate has been called; to indicate that the timer is reset every time the wait operation completes until the wait is unregistered. - The object that can be used to cancel the registered wait operation. - The parameter is less than -1. - The parameter is greater than . - The caller does not have the required permission. - - - Registers a delegate to wait for a , specifying a 32-bit unsigned integer for the time-out in milliseconds. This method does not propagate the calling stack to the worker thread. - The to register. Use a other than . - The delegate to call when the parameter is signaled. - The object that is passed to the delegate. - The time-out in milliseconds. If the parameter is 0 (zero), the function tests the object's state and returns immediately. If is -1, the function's time-out interval never elapses. - - to indicate that the thread will no longer wait on the parameter after the delegate has been called; to indicate that the timer is reset every time the wait operation completes until the wait is unregistered. - The object that can be used to cancel the registered wait operation. - The caller does not have the required permission. - - - Returns an unmanaged pointer to a structure, specifying a delegate that is invoked when the asynchronous I/O operation is complete, a user-provided object that supplies context, and managed objects that serve as buffers. - A delegate that represents the callback method to invoke when the asynchronous I/O operation completes. - A user-provided object that distinguishes this instance from other instances. - An object or array of objects that represent the input or output buffer for the operation, or . Each object represents a buffer, such an array of bytes. - An unmanaged pointer to a structure. - - is . - This method was called after the object was disposed. - - - Returns an unmanaged pointer to a structure using the callback state and buffers associated with the specified object. - An object from which to create the pointer. - An unmanaged pointer to a structure. - - is . - - is currently in use for another I/O operation. - This method was called after the was disposed.-or-This method was called after was disposed. - - - Returns a for the specified handle, which is bound to the system thread pool. - An object that holds the operating system handle. The handle must have been opened for overlapped I/O in unmanaged code. - A for , which is bound to the system thread pool. - - is . - - has been disposed. -or- does not refer to a valid I/O handle. -or- refers to a handle that has not been opened for overlapped I/O. -or- refers to a handle that has already been bound. - - - Releases all unmanaged resources used by the instance. - - - Frees the memory associated with a structure allocated by the method. - An unmanaged pointer to the structure structure to be freed. - - is . - This method was called after the object was disposed. - - - Returns the user-provided object that was specified when the instance was allocated by calling the method. - An unmanaged pointer to the structure from which to return the associated user-provided object. - A user-provided object that distinguishes this instance from other instances, or if one was not specified when the intstance was allocated by calling the method. - - is . - - - Initializes a new instance of the class with default properties. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with an infinite period and an infinite due time, using the newly created object as the state object. - A delegate representing a method to be executed. - - - Initializes a new instance of the class, using a 32-bit signed integer to specify the time interval. - A delegate representing a method to be executed. - An object containing information to be used by the callback method, or . - The amount of time to delay before is invoked, in milliseconds. Specify to prevent the timer from starting. Specify zero (0) to start the timer immediately. - The time interval between invocations of , in milliseconds. Specify to disable periodic signaling. - The or parameter is negative and is not equal to . - The parameter is . - - - Initializes a new instance of the class, using 64-bit signed integers to measure time intervals. - A delegate representing a method to be executed. - An object containing information to be used by the callback method, or . - The amount of time to delay before is invoked, in milliseconds. Specify to prevent the timer from starting. Specify zero (0) to start the timer immediately. - The time interval between invocations of , in milliseconds. Specify to disable periodic signaling. - The or parameter is negative and is not equal to . - The or parameter is greater than 4294967294. - - - Initializes a new instance of the class, using values to measure time intervals. - A delegate representing a method to be executed. - An object containing information to be used by the callback method, or . - The amount of time to delay before the parameter invokes its methods. Specify negative one (-1) milliseconds to prevent the timer from starting. Specify zero (0) to start the timer immediately. - The time interval between invocations of the methods referenced by . Specify negative one (-1) milliseconds to disable periodic signaling. - The number of milliseconds in the value of or is negative and not equal to , or is greater than . - The parameter is . - - - Initializes a new instance of the class, using 32-bit unsigned integers to measure time intervals. - A delegate representing a method to be executed. - An object containing information to be used by the callback method, or . - The amount of time to delay before is invoked, in milliseconds. Specify to prevent the timer from starting. Specify zero (0) to start the timer immediately. - The time interval between invocations of , in milliseconds. Specify to disable periodic signaling. - The or parameter is negative and is not equal to . - The parameter is . - - - Changes the start time and the interval between method invocations for a timer, using 32-bit signed integers to measure time intervals. - The amount of time to delay before the invoking the callback method specified when the was constructed, in milliseconds. Specify to prevent the timer from restarting. Specify zero (0) to restart the timer immediately. - The time interval between invocations of the callback method specified when the was constructed, in milliseconds. Specify to disable periodic signaling. - - if the timer was successfully updated; otherwise, . - The has already been disposed. - The or parameter is negative and is not equal to . - - - Changes the start time and the interval between method invocations for a timer, using 64-bit signed integers to measure time intervals. - The amount of time to delay before the invoking the callback method specified when the was constructed, in milliseconds. Specify to prevent the timer from restarting. Specify zero (0) to restart the timer immediately. - The time interval between invocations of the callback method specified when the was constructed, in milliseconds. Specify to disable periodic signaling. - - if the timer was successfully updated; otherwise, . - The has already been disposed. - The or parameter is less than -1. - The or parameter is greater than 4294967294. - - - Changes the start time and the interval between method invocations for a timer, using values to measure time intervals. - A representing the amount of time to delay before invoking the callback method specified when the was constructed. Specify negative one (-1) milliseconds to prevent the timer from restarting. Specify zero (0) to restart the timer immediately. - The time interval between invocations of the callback method specified when the was constructed. Specify negative one (-1) milliseconds to disable periodic signaling. - - if the timer was successfully updated; otherwise, . - The has already been disposed. - The or parameter, in milliseconds, is less than -1. - The or parameter, in milliseconds, is greater than 4294967294. - - - Changes the start time and the interval between method invocations for a timer, using 32-bit unsigned integers to measure time intervals. - The amount of time to delay before the invoking the callback method specified when the was constructed, in milliseconds. Specify to prevent the timer from restarting. Specify zero (0) to restart the timer immediately. - The time interval between invocations of the callback method specified when the was constructed, in milliseconds. Specify to disable periodic signaling. - - if the timer was successfully updated; otherwise, . - The has already been disposed. - - - Releases all resources used by the current instance of . - - - Releases all resources used by the current instance of and signals when the timer has been disposed of. - The to be signaled when the has been disposed of. - - if the function succeeds; otherwise, . - The parameter is . - - - Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. - The field to read. - The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. - - - Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. - The field to read. - The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. - - - Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. - The field to read. - The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. - - - Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. - The field to read. - The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. - - - Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. - The field to read. - The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. - - - Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. - The field to read. - The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. - - - Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. - The field to read. - The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. - - - Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. - The field to read. - The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. - - - Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. - The field to read. - The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. - - - Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. - The field to read. - The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. - - - Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. - The field to read. - The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. - - - Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. - The field to read. - The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. - - - Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. - The field to read. - The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. - - - Reads the object reference from the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. - The field to read. - The type of field to read. This must be a reference type, not a value type. - The reference to that was read. This reference is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. - - - Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. - The field where the value is written. - The value to write. The value is written immediately so that it is visible to all processors in the computer. - - - Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. - The field where the value is written. - The value to write. The value is written immediately so that it is visible to all processors in the computer. - - - Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. - The field where the value is written. - The value to write. The value is written immediately so that it is visible to all processors in the computer. - - - Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. - The field where the value is written. - The value to write. The value is written immediately so that it is visible to all processors in the computer. - - - Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. - The field where the value is written. - The value to write. The value is written immediately so that it is visible to all processors in the computer. - - - Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a memory operation appears before this method in the code, the processor cannot move it after this method. - The field where the value is written. - The value to write. The value is written immediately so that it is visible to all processors in the computer. - - - Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. - The field where the value is written. - The value to write. The value is written immediately so that it is visible to all processors in the computer. - - - Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. - The field where the value is written. - The value to write. The value is written immediately so that it is visible to all processors in the computer. - - - Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. - The field where the value is written. - The value to write. The value is written immediately so that it is visible to all processors in the computer. - - - Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. - The field where the value is written. - The value to write. The value is written immediately so that it is visible to all processors in the computer. - - - Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. - The field where the value is written. - The value to write. The value is written immediately so that it is visible to all processors in the computer. - - - Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. - The field where the value is written. - The value to write. The value is written immediately so that it is visible to all processors in the computer. - - - Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. - The field where the value is written. - The value to write. The value is written immediately so that it is visible to all processors in the computer. - - - Writes the specified object reference to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. - The field where the object reference is written. - The object reference to write. The reference is written immediately so that it is visible to all processors in the computer. - The type of field to write. This must be a reference type, not a value type. - - - Initializes a new instance of the class. - - - Releases all resources held by the current . - - - Releases all resources used by the current instance of the class. - - - When overridden in a derived class, releases the unmanaged resources used by the , and optionally releases the managed resources. - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - Signals one and waits on another. - The to signal. - The to wait on. - - if both the signal and the wait complete successfully; if the wait does not complete, the method does not return. - - is .-or- - is . - The method was called on a thread that has . - This method is not supported on Windows 98 or Windows Millennium Edition. - - is a semaphore, and it already has a full count. - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - - - Signals one and waits on another, specifying a time-out interval as a 32-bit signed integer and specifying whether to exit the synchronization domain for the context before entering the wait. - The to signal. - The to wait on. - An integer that represents the interval to wait. If the value is , that is, -1, the wait is infinite. - - to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it afterward; otherwise, . - - if both the signal and the wait completed successfully, or if the signal completed but the wait timed out. - - is .-or- - is . - The method is called on a thread that has . - This method is not supported on Windows 98 or Windows Millennium Edition. - - is a semaphore, and it already has a full count. - - is a negative number other than -1, which represents an infinite time-out. - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - The cannot be signaled because it would exceed its maximum count. - - - Signals one and waits on another, specifying the time-out interval as a and specifying whether to exit the synchronization domain for the context before entering the wait. - The to signal. - The to wait on. - A that represents the interval to wait. If the value is -1, the wait is infinite. - - to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it afterward; otherwise, . - - if both the signal and the wait completed successfully, or if the signal completed but the wait timed out. - - is .-or- - is . - The method was called on a thread that has . - This method is not supported on Windows 98 or Windows Millennium Edition. - - is a semaphore, and it already has a full count. - - evaluates to a negative number of milliseconds other than -1. -or- - - is greater than . - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - - - Waits for all the elements in the specified array to receive a signal. - A array containing the objects for which the current instance will wait. This array cannot contain multiple references to the same object. - - when every element in has received a signal; otherwise the method never returns. - The parameter is . -or- One or more of the objects in the array are . -or- - is an array with no elements and the .NET Framework version is 2.0 or later. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The array contains elements that are duplicates. - The number of objects in is greater than the system permits.-or- The attribute is applied to the thread procedure for the current thread, and contains more than one element. - - is an array with no elements and the .NET Framework version is 1.0 or 1.1. - The wait terminated because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - The array contains a transparent proxy for a in another application domain. - - - Waits for all the elements in the specified array to receive a signal, using an value to specify the time interval. - A array containing the objects for which the current instance will wait. This array cannot contain multiple references to the same object (duplicates). - The number of milliseconds to wait, or (-1) to wait indefinitely. - - when every element in has received a signal; otherwise, . - The parameter is .-or- One or more of the objects in the array is . -or- - is an array with no elements. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The array contains elements that are duplicates. - The number of objects in is greater than the system permits.-or- The attribute is applied to the thread procedure for the current thread, and contains more than one element. - - is a negative number other than -1, which represents an infinite time-out. - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - The array contains a transparent proxy for a in another application domain. - - - Waits for all the elements in the specified array to receive a signal, using an value to specify the time interval and specifying whether to exit the synchronization domain before the wait. - A array containing the objects for which the current instance will wait. This array cannot contain multiple references to the same object (duplicates). - The number of milliseconds to wait, or (-1) to wait indefinitely. - - to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it afterward; otherwise, . - - when every element in has received a signal; otherwise, . - The parameter is .-or- One or more of the objects in the array is . -or- - is an array with no elements and the .NET Framework version is 2.0 or later. - The array contains elements that are duplicates. - The number of objects in is greater than the system permits.-or- The attribute is applied to the thread procedure for the current thread, and contains more than one element. - - is an array with no elements and the .NET Framework version is 1.0 or 1.1. - - is a negative number other than -1, which represents an infinite time-out. - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - The array contains a transparent proxy for a in another application domain. - - - Waits for all the elements in the specified array to receive a signal, using a value to specify the time interval. - A array containing the objects for which the current instance will wait. This array cannot contain multiple references to the same object. - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds, to wait indefinitely. - - when every element in has received a signal; otherwise, . - The parameter is . -or- One or more of the objects in the array is . -or- - is an array with no elements. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The array contains elements that are duplicates. - The number of objects in is greater than the system permits.-or- The attribute is applied to the thread procedure for the current thread, and contains more than one element. - - is a negative number other than -1 milliseconds, which represents an infinite time-out. -or- - is greater than . - The wait terminated because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - The array contains a transparent proxy for a in another application domain. - - - Waits for all the elements in the specified array to receive a signal, using a value to specify the time interval, and specifying whether to exit the synchronization domain before the wait. - A array containing the objects for which the current instance will wait. This array cannot contain multiple references to the same object. - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds, to wait indefinitely. - - to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it afterward; otherwise, . - - when every element in has received a signal; otherwise . - The parameter is . -or- One or more of the objects in the array is . -or- - is an array with no elements and the .NET Framework version is 2.0 or later. - The array contains elements that are duplicates. - The number of objects in is greater than the system permits.-or- The attribute is applied to the thread procedure for the current thread, and contains more than one element. - - is an array with no elements and the .NET Framework version is 1.0 or 1.1. - - is a negative number other than -1 milliseconds, which represents an infinite time-out. -or- - - is greater than . - The wait terminated because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - The array contains a transparent proxy for a in another application domain. - - - Waits for any of the elements in the specified array to receive a signal. - A array containing the objects for which the current instance will wait. - The array index of the object that satisfied the wait. - The parameter is .-or-One or more of the objects in the array is . - The number of objects in is greater than the system permits. - - is an array with no elements, and the .NET Framework version is 1.0 or 1.1. - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - - is an array with no elements, and the .NET Framework version is 2.0 or later. - The array contains a transparent proxy for a in another application domain. - - - Waits for any of the elements in the specified array to receive a signal, using a 32-bit signed integer to specify the time interval. - A array containing the objects for which the current instance will wait. - The number of milliseconds to wait, or (-1) to wait indefinitely. - The array index of the object that satisfied the wait, or if no object satisfied the wait and a time interval equivalent to has passed. - The parameter is .-or-One or more of the objects in the array is . - The number of objects in is greater than the system permits. - - is a negative number other than -1, which represents an infinite time-out. - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - - is an array with no elements. - The array contains a transparent proxy for a in another application domain. - - - Waits for any of the elements in the specified array to receive a signal, using a 32-bit signed integer to specify the time interval, and specifying whether to exit the synchronization domain before the wait. - A array containing the objects for which the current instance will wait. - The number of milliseconds to wait, or (-1) to wait indefinitely. - - to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it afterward; otherwise, . - The array index of the object that satisfied the wait, or if no object satisfied the wait and a time interval equivalent to has passed. - The parameter is .-or-One or more of the objects in the array is . - The number of objects in is greater than the system permits. - - is an array with no elements, and the .NET Framework version is 1.0 or 1.1. - - is a negative number other than -1, which represents an infinite time-out. - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - - is an array with no elements, and the .NET Framework version is 2.0 or later. - The array contains a transparent proxy for a in another application domain. - - - Waits for any of the elements in the specified array to receive a signal, using a to specify the time interval. - A array containing the objects for which the current instance will wait. - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - The array index of the object that satisfied the wait, or if no object satisfied the wait and a time interval equivalent to has passed. - The parameter is .-or-One or more of the objects in the array is . - The number of objects in is greater than the system permits. - - is a negative number other than -1 milliseconds, which represents an infinite time-out. -or- - is greater than . - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - - is an array with no elements. - The array contains a transparent proxy for a in another application domain. - - - Waits for any of the elements in the specified array to receive a signal, using a to specify the time interval and specifying whether to exit the synchronization domain before the wait. - A array containing the objects for which the current instance will wait. - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - - to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it afterward; otherwise, . - The array index of the object that satisfied the wait, or if no object satisfied the wait and a time interval equivalent to has passed. - The parameter is .-or-One or more of the objects in the array is . - The number of objects in is greater than the system permits. - - is an array with no elements, and the .NET Framework version is 1.0 or 1.1. - - is a negative number other than -1 milliseconds, which represents an infinite time-out. -or- - - is greater than . - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - - is an array with no elements, and the .NET Framework version is 2.0 or later. - The array contains a transparent proxy for a in another application domain. - - - Blocks the current thread until the current receives a signal. - - if the current instance receives a signal. If the current instance is never signaled, never returns. - The current instance has already been disposed. - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - The current instance is a transparent proxy for a in another application domain. - - - Blocks the current thread until the current receives a signal, using a 32-bit signed integer to specify the time interval in milliseconds. - The number of milliseconds to wait, or (-1) to wait indefinitely. - - if the current instance receives a signal; otherwise, . - The current instance has already been disposed. - - is a negative number other than -1, which represents an infinite time-out. - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - The current instance is a transparent proxy for a in another application domain. - - - Blocks the current thread until the current receives a signal, using a 32-bit signed integer to specify the time interval and specifying whether to exit the synchronization domain before the wait. - The number of milliseconds to wait, or (-1) to wait indefinitely. - - to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it afterward; otherwise, . - - if the current instance receives a signal; otherwise, . - The current instance has already been disposed. - - is a negative number other than -1, which represents an infinite time-out. - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - The current instance is a transparent proxy for a in another application domain. - - - Blocks the current thread until the current instance receives a signal, using a to specify the time interval. - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - - if the current instance receives a signal; otherwise, . - The current instance has already been disposed. - - is a negative number other than -1 milliseconds, which represents an infinite time-out.-or- - is greater than . - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - The current instance is a transparent proxy for a in another application domain. - - - Blocks the current thread until the current instance receives a signal, using a to specify the time interval and specifying whether to exit the synchronization domain before the wait. - A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. - - to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it afterward; otherwise, . - - if the current instance receives a signal; otherwise, . - The current instance has already been disposed. - - is a negative number other than -1 milliseconds, which represents an infinite time-out.-or- - - is greater than . - The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition. - The current instance is a transparent proxy for a in another application domain. - - - Initializes a new instance of the class with default values. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data about the exception being thrown. - The object that contains contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The error message that explains the reason for the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Gets the safe handle for a native operating system wait handle. - A native operating system handle. - The safe wait handle that wraps the native operating system wait handle. - - is . - - - Sets a safe handle for a native operating system wait handle. - A wait handle that encapsulates an operating system-specific object that waits for exclusive access to a shared resource. - The safe handle to wrap the operating system handle. - - is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that contains serialized object data about the exception being thrown. - The object that contains contextual information about the source or destination. The parameter is reserved for future use, and can be specified as . - The parameter is . - The class name is , or is zero (0). - - - Initializes a new instance of the class with the specified error message. - The message that describes the error. - - - Initializes a new instance of the class with the specified error message and inner exception. - The message that describes the error. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the structure to a specified number of hours, minutes, and seconds. - Number of hours. - Number of minutes. - Number of seconds. - The parameters specify a value less than or greater than . - - - Initializes a new instance of the structure to a specified number of days, hours, minutes, and seconds. - Number of days. - Number of hours. - Number of minutes. - Number of seconds. - The parameters specify a value less than or greater than . - - - Initializes a new instance of the structure to a specified number of days, hours, minutes, seconds, and milliseconds. - Number of days. - Number of hours. - Number of minutes. - Number of seconds. - Number of milliseconds. - The parameters specify a value less than or greater than . - - - Initializes a new instance of the structure to the specified number of ticks. - A time period expressed in 100-nanosecond units. - - - - Returns a new object whose value is the sum of the specified object and this instance. - The time interval to add. - A new object that represents the value of this instance plus the value of . - The resulting is less than or greater than . - - - Compares two values and returns an integer that indicates whether the first value is shorter than, equal to, or longer than the second value. - The first time interval to compare. - The second time interval to compare. - One of the following values.Value Description -1 - is shorter than . 0 - is equal to . 1 - is longer than . - - - Compares this instance to a specified object and returns an integer that indicates whether this instance is shorter than, equal to, or longer than the specified object. - An object to compare, or . - One of the following values.Value Description -1 This instance is shorter than . 0 This instance is equal to . 1 This instance is longer than .-or- - is . - - is not a . - - - Compares this instance to a specified object and returns an integer that indicates whether this instance is shorter than, equal to, or longer than the object. - An object to compare to this instance. - A signed number indicating the relative values of this instance and .Value Description A negative integer This instance is shorter than . Zero This instance is equal to . A positive integer This instance is longer than . - - - Returns a new object whose value is the absolute value of the current object. - A new object whose value is the absolute value of the current object. - The value of this instance is . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare with this instance. - - if is a object that represents the same time interval as the current structure; otherwise, . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare with this instance. - - if represents the same time interval as this instance; otherwise, . - - - Returns a value that indicates whether two specified instances of are equal. - The first time interval to compare. - The second time interval to compare. - - if the values of and are equal; otherwise, . - - - Returns a that represents a specified number of days, where the specification is accurate to the nearest millisecond. - A number of days, accurate to the nearest millisecond. - An object that represents . - - is less than or greater than . -or- - is .-or- - is . - - is equal to . - - - Returns a that represents a specified number of hours, where the specification is accurate to the nearest millisecond. - A number of hours accurate to the nearest millisecond. - An object that represents . - - is less than or greater than . -or- - is .-or- - is . - - is equal to . - - - Returns a that represents a specified number of milliseconds. - A number of milliseconds. - An object that represents . - - is less than or greater than .-or- - is .-or- - is . - - is equal to . - - - Returns a that represents a specified number of minutes, where the specification is accurate to the nearest millisecond. - A number of minutes, accurate to the nearest millisecond. - An object that represents . - - is less than or greater than .-or- - is .-or- - is . - - is equal to . - - - Returns a that represents a specified number of seconds, where the specification is accurate to the nearest millisecond. - A number of seconds, accurate to the nearest millisecond. - An object that represents . - - is less than or greater than .-or- - is .-or- - is . - - is equal to . - - - Returns a that represents a specified time, where the specification is in units of ticks. - A number of ticks that represent a time. - An object that represents . - - - Returns a hash code for this instance. - A 32-bit signed integer hash code. - - - Returns a new object whose value is the negated value of this instance. - A new object with the same numeric value as this instance, but with the opposite sign. - The negated value of this instance cannot be represented by a ; that is, the value of this instance is . - - - Adds two specified instances. - The first time interval to add. - The second time interval to add. - An object whose value is the sum of the values of and . - The resulting is less than or greater than . - - - Indicates whether two instances are equal. - The first time interval to compare. - The second time interval to compare. - - if the values of and are equal; otherwise, . - - - Indicates whether a specified is greater than another specified . - The first time interval to compare. - The second time interval to compare. - - if the value of is greater than the value of ; otherwise, . - - - Indicates whether a specified is greater than or equal to another specified . - The first time interval to compare. - The second time interval to compare. - - if the value of is greater than or equal to the value of ; otherwise, . - - - Indicates whether two instances are not equal. - The first time interval to compare. - The second time interval to compare. - - if the values of and are not equal; otherwise, . - - - Indicates whether a specified is less than another specified . - The first time interval to compare. - The second time interval to compare. - - if the value of is less than the value of ; otherwise, . - - - Indicates whether a specified is less than or equal to another specified . - The first time interval to compare. - The second time interval to compare. - - if the value of is less than or equal to the value of ; otherwise, . - - - Subtracts a specified from another specified . - The minuend. - The subtrahend. - An object whose value is the result of the value of minus the value of . - The return value is less than or greater than . - - - Returns a whose value is the negated value of the specified instance. - The time interval to be negated. - An object that has the same numeric value as this instance, but the opposite sign. - The negated value of this instance cannot be represented by a ; that is, the value of this instance is . - - - Returns the specified instance of . - The time interval to return. - The time interval specified by . - - - Converts the string representation of a time interval to its equivalent. - A string that specifies the time interval to convert. - A time interval that corresponds to . - - is . - - has an invalid format. - - represents a number that is less than or greater than .-or- At least one of the days, hours, minutes, or seconds components is outside its valid range. - - - Converts the string representation of a time interval to its equivalent by using the specified culture-specific format information. - A string that specifies the time interval to convert. - An object that supplies culture-specific formatting information. - A time interval that corresponds to , as specified by . - - is . - - has an invalid format. - - represents a number that is less than or greater than .-or- At least one of the days, hours, minutes, or seconds components in is outside its valid range. - - - Converts the string representation of a time interval to its equivalent by using the specified format and culture-specific format information. The format of the string representation must match the specified format exactly. - A string that specifies the time interval to convert. - A standard or custom format string that defines the required format of . - An object that provides culture-specific formatting information. - A time interval that corresponds to , as specified by and . - - is . - - has an invalid format. - - represents a number that is less than or greater than .-or- At least one of the days, hours, minutes, or seconds components in is outside its valid range. - - - Converts the string representation of a time interval to its equivalent by using the specified format, culture-specific format information, and styles. The format of the string representation must match the specified format exactly. - A string that specifies the time interval to convert. - A standard or custom format string that defines the required format of . - An object that provides culture-specific formatting information. - A bitwise combination of enumeration values that defines the style elements that may be present in . - A time interval that corresponds to , as specified by , , and . - - is an invalid value. - - is . - - has an invalid format. - - represents a number that is less than or greater than .-or- At least one of the days, hours, minutes, or seconds components in is outside its valid range. - - - Converts the string representation of a time interval to its equivalent by using the specified array of format strings and culture-specific format information. The format of the string representation must match one of the specified formats exactly. - A string that specifies the time interval to convert. - A array of standard or custom format strings that defines the required format of . - An object that provides culture-specific formatting information. - A time interval that corresponds to , as specified by and . - - is . - - has an invalid format. - - represents a number that is less than or greater than .-or- At least one of the days, hours, minutes, or seconds components in is outside its valid range. - - - Converts the string representation of a time interval to its equivalent by using the specified formats, culture-specific format information, and styles. The format of the string representation must match one of the specified formats exactly. - A string that specifies the time interval to convert. - A array of standard or custom format strings that define the required format of . - An object that provides culture-specific formatting information. - A bitwise combination of enumeration values that defines the style elements that may be present in input. - A time interval that corresponds to , as specified by , , and . - - is an invalid value. - - is . - - has an invalid format. - - represents a number that is less than or greater than .-or- At least one of the days, hours, minutes, or seconds components in is outside its valid range. - - - - Returns a new object whose value is the difference between the specified object and this instance. - The time interval to be subtracted. - A new time interval whose value is the result of the value of this instance minus the value of . - The return value is less than or greater than . - - - Converts the value of the current object to its equivalent string representation. - The string representation of the current value. - - - Converts the value of the current object to its equivalent string representation by using the specified format. - A standard or custom format string. - The string representation of the current value in the format specified by the parameter. - The parameter is not recognized or is not supported. - - - Converts the value of the current object to its equivalent string representation by using the specified format and culture-specific formatting information. - A standard or custom format string. - An object that supplies culture-specific formatting information. - The string representation of the current value, as specified by and . - The parameter is not recognized or is not supported. - - - Converts the string representation of a time interval to its equivalent by using the specified culture-specific formatting information, and returns a value that indicates whether the conversion succeeded. - A string that specifies the time interval to convert. - An object that supplies culture-specific formatting information. - When this method returns, contains an object that represents the time interval specified by , or if the conversion failed. This parameter is passed uninitialized. - - if was converted successfully; otherwise, . This operation returns if the parameter is or , has an invalid format, represents a time interval that is less than or greater than , or has at least one days, hours, minutes, or seconds component outside its valid range. - - - Converts the string representation of a time interval to its equivalent and returns a value that indicates whether the conversion succeeded. - A string that specifies the time interval to convert. - When this method returns, contains an object that represents the time interval specified by , or if the conversion failed. This parameter is passed uninitialized. - - if was converted successfully; otherwise, . This operation returns if the parameter is or , has an invalid format, represents a time interval that is less than or greater than , or has at least one days, hours, minutes, or seconds component outside its valid range. - - - Converts the string representation of a time interval to its equivalent by using the specified format, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. The format of the string representation must match the specified format exactly. - A string that specifies the time interval to convert. - A standard or custom format string that defines the required format of . - An object that provides culture-specific formatting information. - One or more enumeration values that indicate the style of . - When this method returns, contains an object that represents the time interval specified by , or if the conversion failed. This parameter is passed uninitialized. - - if was converted successfully; otherwise, . - - - Converts the string representation of a time interval to its equivalent by using the specified format and culture-specific format information, and returns a value that indicates whether the conversion succeeded. The format of the string representation must match the specified format exactly. - A string that specifies the time interval to convert. - A standard or custom format string that defines the required format of . - An object that supplies culture-specific formatting information. - When this method returns, contains an object that represents the time interval specified by , or if the conversion failed. This parameter is passed uninitialized. - - if was converted successfully; otherwise, . - - - Converts the specified string representation of a time interval to its equivalent by using the specified formats, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. The format of the string representation must match one of the specified formats exactly. - A string that specifies the time interval to convert. - A array of standard or custom format strings that define the acceptable formats of . - An object that supplies culture-specific formatting information. - One or more enumeration values that indicate the style of . - When this method returns, contains an object that represents the time interval specified by , or if the conversion failed. This parameter is passed uninitialized. - - if was converted successfully; otherwise, . - - - Converts the specified string representation of a time interval to its equivalent by using the specified formats and culture-specific format information, and returns a value that indicates whether the conversion succeeded. The format of the string representation must match one of the specified formats exactly. - A string that specifies the time interval to convert. - A array of standard or custom format strings that define the acceptable formats of . - An object that provides culture-specific formatting information. - When this method returns, contains an object that represents the time interval specified by , or if the conversion failed. This parameter is passed uninitialized. - - if was converted successfully; otherwise, . - - - Initializes a new instance of the class. - - - Returns the daylight saving time period for a particular year. - The year that the daylight saving time period applies to. - A object that contains the start and end date for daylight saving time in . - - is less than 1 or greater than 9999. - - - Returns the Coordinated Universal Time (UTC) offset for the specified local time. - A date and time value. - The Coordinated Universal Time (UTC) offset from . - - - Returns a value indicating whether the specified date and time is within a daylight saving time period. - A date and time. - - if is in a daylight saving time period; otherwise, . - - - Returns a value indicating whether the specified date and time is within the specified daylight saving time period. - A date and time. - A daylight saving time period. - - if is in ; otherwise, . - - is . - - - Returns the local time that corresponds to a specified date and time value. - A Coordinated Universal Time (UTC) time. - A object whose value is the local time that corresponds to . - - - Returns the Coordinated Universal Time (UTC) that corresponds to a specified time. - A date and time. - A object whose value is the Coordinated Universal Time (UTC) that corresponds to . - - - Creates a new adjustment rule for a particular time zone. - The effective date of the adjustment rule. If the value of the parameter is , this is the first adjustment rule in effect for a time zone. - The last date that the adjustment rule is in force. If the value of the parameter is , the adjustment rule has no end date. - The time change that results from the adjustment. This value is added to the time zone's property to obtain the correct daylight offset from Coordinated Universal Time (UTC). This value can range from -14 to 14. - An object that defines the start of daylight saving time. - An object that defines the end of daylight saving time. - An object that represents the new adjustment rule. - The property of the or parameter does not equal .-or-The parameter is equal to the parameter.-or-The or parameter includes a time of day value. - - is earlier than .-or- - is less than -14 or greater than 14.-or-The property of the parameter is not equal to 0.-or-The property of the parameter does not equal a whole number of seconds. - - - Determines whether the current object is equal to a second object. - The object to compare with the current object. - - if both objects have equal values; otherwise, . - - - Serves as a hash function for hashing algorithms and data structures such as hash tables. - A 32-bit signed integer that serves as the hash code for the current object. - - - Runs when the deserialization of a object is completed. - The object that initiated the callback. The functionality for this parameter is not currently implemented. - - - Populates a object with the data that is required to serialize this object. - The object to populate with data. - The destination for this serialization (see ). - - - Clears cached time zone data. - - - Converts a time to the time in a particular time zone. - The date and time to convert. - The time zone to convert to. - The date and time in the destination time zone. - The value of the parameter represents an invalid time. - The value of the parameter is . - - - Converts a time from one time zone to another. - The date and time to convert. - The time zone of . - The time zone to convert to. - The date and time in the destination time zone that corresponds to the parameter in the source time zone. - The property of the parameter is , but the parameter does not equal . For more information, see the Remarks section. -or-The property of the parameter is , but the parameter does not equal .-or-The parameter is an invalid time (that is, it represents a time that does not exist because of a time zone's adjustment rules). - The parameter is .-or-The parameter is . - - - Converts a time to the time in a particular time zone. - The date and time to convert. - The time zone to convert to. - The date and time in the destination time zone. - The value of the parameter is . - - - Converts a time to the time in another time zone based on the time zone's identifier. - The date and time to convert. - The identifier of the destination time zone. - The date and time in the destination time zone. - - is . - The time zone identifier was found, but the registry data is corrupted. - The process does not have the permissions required to read from the registry key that contains the time zone information. - The identifier was not found on the local system. - - - Converts a time from one time zone to another based on time zone identifiers. - The date and time to convert. - The identifier of the source time zone. - The identifier of the destination time zone. - The date and time in the destination time zone that corresponds to the parameter in the source time zone. - The property of the parameter does not correspond to the source time zone.-or- - is an invalid time in the source time zone. - - is .-or- - is . - The time zone identifiers were found, but the registry data is corrupted. - The process does not have the permissions required to read from the registry key that contains the time zone information. - The identifier was not found on the local system.-or-The identifier was not found on the local system. - The user does not have the permissions required to read from the registry keys that hold time zone data. - - - Converts a time to the time in another time zone based on the time zone's identifier. - The date and time to convert. - The identifier of the destination time zone. - The date and time in the destination time zone. - - is . - The time zone identifier was found but the registry data is corrupted. - The process does not have the permissions required to read from the registry key that contains the time zone information. - The identifier was not found on the local system. - - - Converts a Coordinated Universal Time (UTC) to the time in a specified time zone. - The Coordinated Universal Time (UTC). - The time zone to convert to. - The date and time in the destination time zone. Its property is if is ; otherwise, its property is . - The property of is . - - is . - - - Converts the specified date and time to Coordinated Universal Time (UTC). - The date and time to convert. - The Coordinated Universal Time (UTC) that corresponds to the parameter. The value's property is always set to . - - - - returns . - - - Converts the time in a specified time zone to Coordinated Universal Time (UTC). - The date and time to convert. - The time zone of . - The Coordinated Universal Time (UTC) that corresponds to the parameter. The object's property is always set to . - - - is and does not equal .-or- - - is and does not equal .-or- - - - - returns . - - is . - - - Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, and a standard time display name. - The time zone's identifier. - An object that represents the time difference between this time zone and Coordinated Universal Time (UTC). - The display name of the new time zone. - The name of the new time zone's standard time. - The new time zone. - The parameter is . - The parameter is an empty string ("").-or-The parameter does not represent a whole number of minutes. - The parameter is greater than 14 hours or less than -14 hours. - - - Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, a standard time name, a daylight saving time name, and daylight saving time rules. - The time zone's identifier. - An object that represents the time difference between this time zone and Coordinated Universal Time (UTC). - The display name of the new time zone. - The new time zone's standard time name. - The daylight saving time name of the new time zone. - An array that augments the base UTC offset for a particular period. - A object that represents the new time zone. - The parameter is . - The parameter is an empty string ("").-or-The parameter does not represent a whole number of minutes. - The parameter is greater than 14 hours or less than -14 hours. - The adjustment rules specified in the parameter overlap.-or-The adjustment rules specified in the parameter are not in chronological order.-or-One or more elements in are .-or-A date can have multiple adjustment rules applied to it.-or-The sum of the parameter and the value of one or more objects in the array is greater than 14 hours or less than -14 hours. - - - Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, a standard time name, a daylight saving time name, daylight saving time rules, and a value that indicates whether the returned object reflects daylight saving time information. - The time zone's identifier. - A object that represents the time difference between this time zone and Coordinated Universal Time (UTC). - The display name of the new time zone. - The standard time name of the new time zone. - The daylight saving time name of the new time zone. - An array of objects that augment the base UTC offset for a particular period. - - to discard any daylight saving time-related information present in with the new object; otherwise, . - The new time zone. If the parameter is , the returned object has no daylight saving time data. - The parameter is . - The parameter is an empty string ("").-or-The parameter does not represent a whole number of minutes. - The parameter is greater than 14 hours or less than -14 hours. - The adjustment rules specified in the parameter overlap.-or-The adjustment rules specified in the parameter are not in chronological order.-or-One or more elements in are .-or-A date can have multiple adjustment rules applied to it.-or-The sum of the parameter and the value of one or more objects in the array is greater than 14 hours or less than -14 hours. - - - Determines whether the current object and another object are equal. - A second object to compare with the current object. - - if is a object that is equal to the current instance; otherwise, . - - - Determines whether the current object and another object are equal. - A second object to compare with the current object. - - if the two objects are equal; otherwise, . - - - Retrieves a object from the registry based on its identifier. - The time zone identifier, which corresponds to the property. - An object whose identifier is the value of the parameter. - The system does not have enough memory to hold information about the time zone. - The parameter is . - The time zone identifier specified by was not found. This means that a registry key whose name matches does not exist, or that the key exists but does not contain any time zone data. - The process does not have the permissions required to read from the registry key that contains the time zone information. - The time zone identifier was found, but the registry data is corrupted. - - - Deserializes a string to re-create an original serialized object. - The string representation of the serialized object. - The original serialized object. - The parameter is . - The parameter is a null string. - The source parameter cannot be deserialized back into a object. - - - Retrieves an array of objects that apply to the current object. - An array of objects for this time zone. - The system does not have enough memory to make an in-memory copy of the adjustment rules. - - - Returns information about the possible dates and times that an ambiguous date and time can be mapped to. - A date and time. - An array of objects that represents possible Coordinated Universal Time (UTC) offsets that a particular date and time can be mapped to. - - is not an ambiguous time. - - - Returns information about the possible dates and times that an ambiguous date and time can be mapped to. - A date and time. - An array of objects that represents possible Coordinated Universal Time (UTC) offsets that a particular date and time can be mapped to. - - is not an ambiguous time. - - - Serves as a hash function for hashing algorithms and data structures such as hash tables. - A 32-bit signed integer that serves as the hash code for this object. - - - Returns a sorted collection of all the time zones about which information is available on the local system. - A read-only collection of objects. - There is insufficient memory to store all time zone information. - The user does not have permission to read from the registry keys that contain time zone information. - - - Calculates the offset or difference between the time in this time zone and Coordinated Universal Time (UTC) for a particular date and time. - The date and time to determine the offset for. - An object that indicates the time difference between the two time zones. - - - Calculates the offset or difference between the time in this time zone and Coordinated Universal Time (UTC) for a particular date and time. - The date and time to determine the offset for. - An object that indicates the time difference between Coordinated Universal Time (UTC) and the current time zone. - - - Indicates whether the current object and another object have the same adjustment rules. - A second object to compare with the current object. - - if the two time zones have identical adjustment rules and an identical base offset; otherwise, . - The parameter is . - - - Determines whether a particular date and time in a particular time zone is ambiguous and can be mapped to two or more Coordinated Universal Time (UTC) times. - A date and time value. - - if the parameter is ambiguous; otherwise, . - The property of the value is and is an invalid time. - - - Determines whether a particular date and time in a particular time zone is ambiguous and can be mapped to two or more Coordinated Universal Time (UTC) times. - A date and time. - - if the parameter is ambiguous in the current time zone; otherwise, . - - - Indicates whether a specified date and time falls in the range of daylight saving time for the time zone of the current object. - A date and time value. - - if the parameter is a daylight saving time; otherwise, . - The property of the value is and is an invalid time. - - - Indicates whether a specified date and time falls in the range of daylight saving time for the time zone of the current object. - A date and time value. - - if the parameter is a daylight saving time; otherwise, . - - - Indicates whether a particular date and time is invalid. - A date and time value. - - if is invalid; otherwise, . - - - Runs when the deserialization of an object has been completed. - The object that initiated the callback. The functionality for this parameter is not currently implemented. - The object contains invalid or corrupted data. - - - Populates a object with the data needed to serialize the current object. - The object to populate with data. - The destination for this serialization (see ). - The parameter is . - - - Converts the current object to a serialized string. - A string that represents the current object. - - - Returns the current object's display name. - The value of the property of the current object. - - - Defines a time change that uses a fixed-date rule (that is, a time change that occurs on a specific day of a specific month). - The time at which the time change occurs. This parameter corresponds to the property. For details, see Remarks. - The month in which the time change occurs. This parameter corresponds to the property. - The day of the month on which the time change occurs. This parameter corresponds to the property. - Data about the time change. - The parameter has a non-default date component.-or-The parameter's property is not .-or-The parameter does not represent a whole number of milliseconds. - The parameter is less than 1 or greater than 12.-or-The parameter is less than 1 or greater than 31. - - - Defines a time change that uses a floating-date rule (that is, a time change that occurs on a specific day of a specific week of a specific month). - The time at which the time change occurs. This parameter corresponds to the property. For details, see Remarks. - The month in which the time change occurs. This parameter corresponds to the property. - The week of the month in which the time change occurs. Its value can range from 1 to 5, with 5 representing the last week of the month. This parameter corresponds to the property. - The day of the week on which the time change occurs. This parameter corresponds to the property. - Data about the time change. - The parameter has a non-default date component.-or-The parameter does not represent a whole number of milliseconds.-or-The parameter's property is not . - - is less than 1 or greater than 12.-or- - is less than 1 or greater than 5.-or-The parameter is not a member of the enumeration. - - - Determines whether an object has identical values to the current object. - An object to compare with the current object. - - if the two objects are equal; otherwise, . - - - Determines whether the current object has identical values to a second object. - An object to compare to the current instance. - - if the two objects have identical property values; otherwise, . - - - Serves as a hash function for hashing algorithms and data structures such as hash tables. - A 32-bit signed integer that serves as the hash code for this object. - - - Determines whether two specified objects are equal. - The first object to compare. - The second object to compare. - - if and have identical values; otherwise, . - - - Determines whether two specified objects are not equal. - The first object to compare. - The second object to compare. - - if and have any different member values; otherwise, . - - - Runs when the deserialization of an object has been completed. - The object that initiated the callback. The functionality for this parameter is not currently implemented. - - - Populates a object with the data that is required to serialize this object. - The object to populate with data. - The destination for this serialization (see ). - - - Initializes a new instance of the class with a system-supplied message. - - - Initializes a new instance of the class from serialized data. - The object that contains the serialized data. - The stream that contains the serialized data. - The parameter is .-or-The parameter is . - - - Initializes a new instance of the class with the specified message string. - A string that describes the exception. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - A string that describes the exception. - The exception that is the cause of the current exception. - - - Creates a new 1-tuple, or singleton. - The value of the only component of the tuple. - The type of the only component of the tuple. - A tuple whose value is (). - - - Creates a new 2-tuple, or pair. - The value of the first component of the tuple. - The value of the second component of the tuple. - The type of the first component of the tuple. - The type of the second component of the tuple. - A 2-tuple whose value is (, ). - - - Creates a new 3-tuple, or triple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - A 3-tuple whose value is (, , ). - - - Creates a new 4-tuple, or quadruple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - A 4-tuple whose value is (, , , ). - - - Creates a new 5-tuple, or quintuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - The value of the fifth component of the tuple. - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - The type of the fifth component of the tuple. - A 5-tuple whose value is (, , , , ). - - - Creates a new 6-tuple, or sextuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - The value of the fifth component of the tuple. - The value of the sixth component of the tuple. - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - The type of the fifth component of the tuple. - The type of the sixth component of the tuple. - A 6-tuple whose value is (, , , , , ). - - - Creates a new 7-tuple, or septuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - The value of the fifth component of the tuple. - The value of the sixth component of the tuple. - The value of the seventh component of the tuple. - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - The type of the fifth component of the tuple. - The type of the sixth component of the tuple. - The type of the seventh component of the tuple. - A 7-tuple whose value is (, , , , , , ). - - - Creates a new 8-tuple, or octuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - The value of the fifth component of the tuple. - The value of the sixth component of the tuple. - The value of the seventh component of the tuple. - The value of the eighth component of the tuple. - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - The type of the fifth component of the tuple. - The type of the sixth component of the tuple. - The type of the seventh component of the tuple. - The type of the eighth component of the tuple. - An 8-tuple (octuple) whose value is (, , , , , , , ). - - - Initializes a new instance of the class. - The value of the tuple's only component. - - - Returns a value that indicates whether the current object is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns the hash code for the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object by using a specified comparer, and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a value that indicates whether the current object is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified object; otherwise, . - - - Calculates the hash code for the current object by using a specified computation method. - An object whose method calculates the hash code of the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object, and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a string that represents the value of this instance. - The string representation of this object. - - - Initializes a new instance of the class. - The value of the tuple's first component. - The value of the tuple's second component. - - - Returns a value that indicates whether the current object is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns the hash code for the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object by using a specified comparer, and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a value that indicates whether the current object is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified object; otherwise, . - - - Calculates the hash code for the current object by using a specified computation method. - An object whose method calculates the hash code of the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a string that represents the value of this instance. - The string representation of this object. - - - Initializes a new instance of the class. - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - - - Returns a value that indicates whether the current object is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns the hash code for the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object by using a specified comparer, and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a value that indicates whether the current object is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified object; otherwise, . - - - Calculates the hash code for the current object by using a specified computation method. - An object whose method calculates the hash code of the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a string that represents the value of this instance. - The string representation of this object. - - - Initializes a new instance of the class. - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component - - - Returns a value that indicates whether the current object is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns the hash code for the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a value that indicates whether the current object is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified object; otherwise, . - - - Calculates the hash code for the current object by using a specified computation method. - An object whose method calculates the hash code of the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a string that represents the value of this instance. - The string representation of this object. - - - Initializes a new instance of the class. - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component - The value of the tuple's fifth component. - - - Returns a value that indicates whether the current object is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns the hash code for the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a value that indicates whether the current object is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified object; otherwise, . - - - Calculates the hash code for the current object by using a specified computation method. - An object whose method calculates the hash code of the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a string that represents the value of this instance. - The string representation of this object. - - - Initializes a new instance of the class. - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component - The value of the tuple's fifth component. - The value of the tuple's sixth component. - - - Returns a value that indicates whether the current object is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns the hash code for the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a value that indicates whether the current object is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified object; otherwise, . - - - Calculates the hash code for the current object by using a specified computation method. - An object whose method calculates the hash code of the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a string that represents the value of this instance. - The string representation of this object. - - - Initializes a new instance of the class. - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component - The value of the tuple's fifth component. - The value of the tuple's sixth component. - The value of the tuple's seventh component. - - - Returns a value that indicates whether the current object is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns the hash code for the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object by using a specified comparer, and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a value that indicates whether the current object is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified object; otherwise, . - - - Calculates the hash code for the current object by using a specified computation method. - An object whose method calculates the hash code of the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a string that represents the value of this instance. - The string representation of this object. - - - Initializes a new instance of the class. - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component - The value of the tuple's fifth component. - The value of the tuple's sixth component. - The value of the tuple's seventh component. - Any generic object that contains the values of the tuple's remaining components. - - is not a generic object. - - - Returns a value that indicates whether the current object is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Calculates the hash code for the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a value that indicates whether the current object is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified object; otherwise, . - - - Calculates the hash code for the current object by using a specified computation method. - An object whose method calculates the hash code of the current object. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a string that represents the value of this instance. - The string representation of this object. - - - Deconstructs a tuple with 1 element into a separate variable. - The 1-element tuple to deconstruct into a separate variable. - The value of the single element. - The type of the single element. - - - Deconstructs a tuple with 10 elements into separate variables. - The 10-element tuple to deconstruct into 10 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The value of the eighth element, or . - The value of the ninth element, or . - The value of the tenth element, or . - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element. - The type of the ninth element. - The type of the tenth element. - - - Deconstructs a tuple with 11 elements into separate variables. - The 11-element tuple to deconstruct into 11 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The value of the eighth element, or . - The value of the ninth element, or . - The value of the tenth element, or . - The value of the eleventh element, or . - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element. - The type of the ninth element. - The type of the tenth element. - The type of the eleventh element. - - - Deconstructs a tuple with 12 elements into separate variables. - The 12-element tuple to deconstruct into 12 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The value of the eighth element, or . - The value of the ninth element, or . - The value of the tenth element, or . - The value of the eleventh element, or . - The value of the twelfth element, or . - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element. - The type of the ninth element. - The type of the tenth element. - The type of the eleventh element. - The type of the twelfth element. - - - Deconstructs a tuple with 13 elements into separate variables. - The 13-element tuple to deconstruct into 13 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The value of the eighth element, or . - The value of the ninth element, or . - The value of the tenth element, or . - The value of the eleventh element, or . - The value of the twelfth element, or . - The value of the thirteenth element, or . - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element. - The type of the ninth element. - The type of the tenth element. - The type of the eleventh element. - The type of the twelfth element. - The type of the thirteenth element. - - - Deconstructs a tuple with 14 elements into separate variables. - The 14-element tuple to deconstruct into 14 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The value of the eighth element, or . - The value of the ninth element, or . - The value of the tenth element, or . - The value of the eleventh element, or . - The value of the twelfth element, or . - The value of the thirteenth element, or . - The value of the fourteenth element, or . - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element. - The type of the ninth element. - The type of the tenth element. - The type of the eleventh element. - The type of the twelfth element. - The type of the thirteenth element. - The type of the fourteenth element. - - - Deconstructs a tuple with 15 elements into separate variables. - The 15-element tuple to deconstruct into 15 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The value of the eighth element, or . - The value of the ninth element, or . - The value of the tenth element, or . - The value of the eleventh element, or . - The value of the twelfth element, or . - The value of the thirteenth element, or . - The value of the fourteenth element, or . - The value of the fifteenth element, or . - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element. - The type of the ninth element. - The type of the tenth element. - The type of the eleventh element. - The type of the twelfth element. - The type of the thirteenth element. - The type of the fourteenth element. - The type of the fifteenth element. - - - Deconstructs a tuple with 16 elements into separate variables. - The 16-element tuple to deconstruct into 16 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The value of the eighth element, or . - The value of the ninth element, or . - The value of the tenth element, or . - The value of the eleventh element, or . - The value of the twelfth element, or . - The value of the thirteenth element, or . - The value of the fourteenth element, or . - The value of the fifteenth element, or . - The value of the sixteenth element, or . - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element. - The type of the ninth element. - The type of the tenth element. - The type of the eleventh element. - The type of the twelfth element. - The type of the thirteenth element. - The type of the fourteenth element. - The type of the fifteenth element. - The type of the sixteenth element. - - - Deconstructs a tuple with 17 elements into separate variables. - The 17-element tuple to deconstruct into 17 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The value of the eighth element, or . - The value of the ninth element, or . - The value of the tenth element, or . - The value of the eleventh element, or . - The value of the twelfth element, or . - The value of the thirteenth element, or . - The value of the fourteenth element, or . - The value of the fifteenth element, or . - The value of the sixteenth element, or . - The value of the seventeenth element, or . - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element. - The type of the ninth element. - The type of the tenth element. - The type of the eleventh element. - The type of the twelfth element. - The type of the thirteenth element. - The type of the fourteenth element. - The type of the fifteenth element. - The type of the sixteenth element. - The type of the seventeenth element. - - - Deconstructs a tuple with 18 elements into separate variables. - The 18-element tuple to deconstruct into 18 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The value of the eighth element, or . - The value of the ninth element, or . - The value of the tenth element, or . - The value of the eleventh element, or . - The value of the twelfth element, or . - The value of the thirteenth element, or . - The value of the fourteenth element, or . - The value of the fifteenth element, or . - The value of the sixteenth element, or . - The value of the seventeenth element, or . - The value of the eighteenth element, or . - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element. - The type of the ninth element. - The type of the tenth element. - The type of the eleventh element. - The type of the twelfth element. - The type of the thirteenth element. - The type of the fourteenth element. - The type of the fifteenth element. - The type of the sixteenth element. - The type of the seventeenth element. - The type of the eighteenth element. - - - Deconstructs a tuple with 19 elements into separate variables. - The 19-element tuple to deconstruct into 19 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The value of the eighth element, or . - The value of the ninth element, or . - The value of the tenth element, or . - The value of the eleventh element, or . - The value of the twelfth element, or . - The value of the thirteenth element, or . - The value of the fourteenth element, or . - The value of the fifteenth element, or . - The value of the sixteenth element, or . - The value of the seventeenth element, or . - The value of the eighteenth element, or . - The value of the nineteenth element, or . - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element. - The type of the ninth element. - The type of the tenth element. - The type of the eleventh element. - The type of the twelfth element. - The type of the thirteenth element. - The type of the fourteenth element. - The type of the fifteenth element. - The type of the sixteenth element. - The type of the seventeenth element. - The type of the eighteenth element. - The type of the nineteenth element. - - - Deconstructs a tuple with 2 elements into separate variables. - The 2-element tuple to deconstruct into 2 separate variables. - The value of the first element. - The value of the second element. - The type of the first element. - The type of the second element. - - - Deconstructs a tuple with 20 elements into separate variables. - The 20-element tuple to deconstruct into 20 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The value of the eighth element, or . - The value of the ninth element, or . - The value of the tenth element, or . - The value of the eleventh element, or . - The value of the twelfth element, or . - The value of the thirteenth element, or . - The value of the fourteenth element, or . - The value of the fifteenth element, or . - The value of the sixteenth element, or . - The value of the seventeenth element, or . - The value of the eighteenth element, or . - The value of the nineteenth element, or . - The value of the twentieth element, or . - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element. - The type of the ninth element. - The type of the tenth element. - The type of the eleventh element. - The type of the twelfth element. - The type of the thirteenth element. - The type of the fourteenth element. - The type of the fifteenth element. - The type of the sixteenth element. - The type of the seventeenth element. - The type of the eighteenth element. - The type of the nineteenth element. - The type of the twentieth element. - - - Deconstructs a tuple with 21 elements into separate variables. - The 21-element tuple to deconstruct into 21 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The value of the eighth element, or . - The value of the ninth element, or . - The value of the tenth element, or . - The value of the eleventh element, or . - The value of the twelfth element, or . - The value of the thirteenth element, or . - The value of the fourteenth element, or . - The value of the fifteenth element, or . - The value of the sixteenth element, or . - The value of the seventeenth element, or . - The value of the eighteenth element, or . - The value of the nineteenth element, or . - The value of the twentieth element, or . - The value of the twenty-first element, or . - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element. - The type of the ninth element. - The type of the tenth element. - The type of the eleventh element. - The type of the twelfth element. - The type of the thirteenth element. - The type of the fourteenth element. - The type of the fifteenth element. - The type of the sixteenth element. - The type of the seventeenth element. - The type of the eighteenth element. - The type of the nineteenth element. - The type of the twentieth element. - The type of the twenty-first element. - - - Deconstructs a tuple with 3 elements into separate variables. - - The 3-element tuple to deconstruct into 3 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The type of the first element. - The type of the second element. - The type of the third element. - - - Deconstructs a tuple with 4 elements into separate variables. - The 4-element tuple to deconstruct into 4 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - - - Deconstructs a tuple with 5 elements into separate variables. - The 5-element tuple to deconstruct into 5 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - - - Deconstructs a tuple with 6 elements into separate variables. - The 6-element tuple to deconstruct into 6 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - - - Deconstructs a tuple with 7 elements into separate variables. - The 7-element tuple to deconstruct into 7 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - - - Deconstructs a tuple with 8 elements into separate variables. - The 8-element tuple to deconstruct into 8 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The value of the eighth element, or . - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element. - - - Deconstructs a tuple with 9 elements into separate variables. - The 9-element tuple to deconstruct into 9 separate variables. - The value of the first element. - The value of the second element. - The value of the third element. - The value of the fourth element. - The value of the fifth element. - The value of the sixth element. - The value of the seventh element. - The value of the eighth element, or . - The value of the ninth element, or . - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element. - The type of the ninth element. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The type of the fifteenth element., or . - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The type of the fifteenth element., or . - The type of the sixteenth element, ., or . - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The type of the fifteenth element., or . - The type of the sixteenth element, ., or . - The type of the seventeenth element., or . - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The type of the fifteenth element., or . - The type of the sixteenth element, ., or . - The type of the seventeenth element., or . - The type of the eighteenth element., or . - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The type of the fifteenth element., or . - The type of the sixteenth element, ., or . - The type of the seventeenth element., or . - The type of the eighteenth element., or . - The type of the nineteenth element., or . - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The type of the fifteenth element., or . - The type of the sixteenth element, ., or . - The type of the seventeenth element., or . - The type of the eighteenth element., or . - The type of the nineteenth element., or . - The type of the twentieth element., or . - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The type of the fifteenth element., or . - The type of the sixteenth element, ., or . - The type of the seventeenth element., or . - The type of the eighteenth element., or . - The type of the nineteenth element., or . - The type of the twentieth element., or . - The type of the twenty-first element., or . - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The converted tuple. - - - Converts an instance of the structure to an instance of the class. - The value tuple instance to convert to a tuple. - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The converted tuple. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The type of the fifteenth element., or . - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The type of the fifteenth element., or . - The type of the sixteenth element, ., or . - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The type of the fifteenth element., or . - The type of the sixteenth element, ., or . - The type of the seventeenth element., or . - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The type of the fifteenth element., or . - The type of the sixteenth element, ., or . - The type of the seventeenth element., or . - The type of the eighteenth element., or . - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The type of the fifteenth element., or . - The type of the sixteenth element, ., or . - The type of the seventeenth element., or . - The type of the eighteenth element., or . - The type of the nineteenth element., or . - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The type of the fifteenth element., or . - The type of the sixteenth element, ., or . - The type of the seventeenth element., or . - The type of the eighteenth element., or . - The type of the nineteenth element., or . - The type of the twentieth element., or . - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The type of the tenth element, or . - The type of the eleventh element, or . - The type of the twelfth element, or . - The type of the thirteenth element, or . - The type of the fourteenth element, or . - The type of the fifteenth element., or . - The type of the sixteenth element, ., or . - The type of the seventeenth element., or . - The type of the eighteenth element., or . - The type of the nineteenth element., or . - The type of the twentieth element., or . - The type of the twenty-first element., or . - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The converted value tuple instance. - - - Converts an instance of the class to an instance of the structure. - The tuple object to convert to a value tuple - The type of the first element. - The type of the second element. - The type of the third element. - The type of the fourth element. - The type of the fifth element. - The type of the sixth element. - The type of the seventh element. - The type of the eighth element, or . - The type of the ninth element, or . - The converted value tuple instance. - - - Initializes a new instance of the class. - - - Determines if the underlying system type of the current object is the same as the underlying system type of the specified . - The object whose underlying system type is to be compared with the underlying system type of the current . For the comparison to succeed, must be able to be cast or converted to an object of type . - - if the underlying system type of is the same as the underlying system type of the current ; otherwise, . This method also returns if: . - is . - cannot be cast or converted to a object. - - - Determines if the underlying system type of the current is the same as the underlying system type of the specified . - The object whose underlying system type is to be compared with the underlying system type of the current . - - if the underlying system type of is the same as the underlying system type of the current ; otherwise, . - - - Returns an array of objects representing a filtered list of interfaces implemented or inherited by the current . - The delegate that compares the interfaces against . - The search criteria that determines whether an interface should be included in the returned array. - An array of objects representing a filtered list of the interfaces implemented or inherited by the current , or an empty array of type if no interfaces matching the filter are implemented or inherited by the current . - - is . - A static initializer is invoked and throws an exception. - - - Returns a filtered array of objects of the specified member type. - An object that indicates the type of member to search for. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - The delegate that does the comparisons, returning if the member currently being inspected matches the and otherwise. You can use the , , and delegates supplied by this class. The first uses the fields of , , and as search criteria, and the other two delegates use objects as the search criteria. - The search criteria that determines whether a member is returned in the array of objects.The fields of , , and can be used in conjunction with the delegate supplied by this class. - A filtered array of objects of the specified member type.-or- An empty array of type , if the current does not have members of type that match the filter criteria. - - is . - - - Gets the number of dimensions in an array. - An integer that contains the number of dimensions in the current type. - The functionality of this method is unsupported in the base class and must be implemented in a derived class instead. - The current type is not an array. - - - When overridden in a derived class, implements the property and gets a bitmask indicating the attributes associated with the . - A object representing the attribute set of the . - - - Searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- A null reference ( in Visual Basic), to use the . - The object that specifies the set of rules to use regarding the order and layout of arguments, how the return value is passed, what registers are used for arguments, and the stack is cleaned up. - An array of objects representing the number, order, and type of the parameters for the constructor to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a constructor that takes no parameters. - An array of objects representing the attributes associated with the corresponding element in the array. The default binder does not process this parameter. - An object representing the constructor that matches the specified requirements, if found; otherwise, . - - is .-or- One of the elements in is . - - is multidimensional.-or- - is multidimensional.-or- - and do not have the same length. - - - Searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- A null reference ( in Visual Basic), to use the . - An array of objects representing the number, order, and type of the parameters for the constructor to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a constructor that takes no parameters.-or- - . - An array of objects representing the attributes associated with the corresponding element in the parameter type array. The default binder does not process this parameter. - A object representing the constructor that matches the specified requirements, if found; otherwise, . - - is .-or- One of the elements in is . - - is multidimensional.-or- - is multidimensional.-or- - and do not have the same length. - - - Searches for a public instance constructor whose parameters match the types in the specified array. - An array of objects representing the number, order, and type of the parameters for the desired constructor.-or- An empty array of objects, to get a constructor that takes no parameters. Such an empty array is provided by the field . - An object representing the public instance constructor whose parameters match the types in the parameter type array, if found; otherwise, . - - is .-or- One of the elements in is . - - is multidimensional. - - - When overridden in a derived class, searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- A null reference ( in Visual Basic), to use the . - The object that specifies the set of rules to use regarding the order and layout of arguments, how the return value is passed, what registers are used for arguments, and the stack is cleaned up. - An array of objects representing the number, order, and type of the parameters for the constructor to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a constructor that takes no parameters. - An array of objects representing the attributes associated with the corresponding element in the array. The default binder does not process this parameter. - A object representing the constructor that matches the specified requirements, if found; otherwise, . - - is .-or- One of the elements in is . - - is multidimensional.-or- - is multidimensional.-or- - and do not have the same length. - The current type is a or . - - - Returns all the public constructors defined for the current . - An array of objects representing all the public instance constructors defined for the current , but not including the type initializer (static constructor). If no public instance constructors are defined for the current , or if the current represents a type parameter in the definition of a generic type or generic method, an empty array of type is returned. - - - When overridden in a derived class, searches for the constructors defined for the current , using the specified . - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - - - - An array of objects representing all constructors defined for the current that match the specified binding constraints, including the type initializer if it is defined. Returns an empty array of type if no constructors are defined for the current , if none of the defined constructors match the binding constraints, or if the current represents a type parameter in the definition of a generic type or generic method. - - - Searches for the members defined for the current whose is set. - An array of objects representing all default members of the current .-or- An empty array of type , if the current does not have default members. - - - When overridden in a derived class, returns the of the object encompassed or referred to by the current array, pointer or reference type. - The of the object encompassed or referred to by the current array, pointer, or reference type, or if the current is not an array or a pointer, or is not passed by reference, or represents a generic type or a type parameter in the definition of a generic type or generic method. - - - Returns the name of the constant that has the specified value, for the current enumeration type. - The value whose name is to be retrieved. - The name of the member of the current enumeration type that has the specified value, or if no such constant is found. - The current type is not an enumeration.-or- - is neither of the current type nor does it have the same underlying type as the current type. - - is . - - - Returns the names of the members of the current enumeration type. - An array that contains the names of the members of the enumeration. - The current type is not an enumeration. - - - Returns the underlying type of the current enumeration type. - The underlying type of the current enumeration. - The current type is not an enumeration.-or-The enumeration type is not valid, because it contains more than one instance field. - - - Returns an array of the values of the constants in the current enumeration type. - An array that contains the values. The elements of the array are sorted by the binary values (that is, the unsigned values) of the enumeration constants. - The current type is not an enumeration. - - - Returns the object representing the specified public event. - The string containing the name of an event that is declared or inherited by the current . - The object representing the specified public event that is declared or inherited by the current , if found; otherwise, . - - is . - - - When overridden in a derived class, returns the object representing the specified event, using the specified binding constraints. - The string containing the name of an event which is declared or inherited by the current . - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - The object representing the specified event that is declared or inherited by the current , if found; otherwise, . - - is . - - - Returns all the public events that are declared or inherited by the current . - An array of objects representing all the public events which are declared or inherited by the current .-or- An empty array of type , if the current does not have public events. - - - When overridden in a derived class, searches for events that are declared or inherited by the current , using the specified binding constraints. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An array of objects representing all events that are declared or inherited by the current that match the specified binding constraints.-or- An empty array of type , if the current does not have events, or if none of the events match the binding constraints. - - - Searches for the public field with the specified name. - The string containing the name of the data field to get. - An object representing the public field with the specified name, if found; otherwise, . - - is . - This object is a whose method has not yet been called. - - - Searches for the specified field, using the specified binding constraints. - The string containing the name of the data field to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An object representing the field that matches the specified requirements, if found; otherwise, . - - is . - - - Returns all the public fields of the current . - An array of objects representing all the public fields defined for the current .-or- An empty array of type , if no public fields are defined for the current . - - - When overridden in a derived class, searches for the fields defined for the current , using the specified binding constraints. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An array of objects representing all fields defined for the current that match the specified binding constraints.-or- An empty array of type , if no fields are defined for the current , or if none of the defined fields match the binding constraints. - - - Returns an array of objects that represent the type arguments of a closed generic type or the type parameters of a generic type definition. - An array of objects that represent the type arguments of a generic type. Returns an empty array if the current type is not a generic type. - The invoked method is not supported in the base class. Derived classes must provide an implementation. - - - Returns an array of objects that represent the constraints on the current generic type parameter. - An array of objects that represent the constraints on the current generic type parameter. - The current object is not a generic type parameter. That is, the property returns . - - - Returns a object that represents a generic type definition from which the current generic type can be constructed. - A object representing a generic type from which the current type can be constructed. - The current type is not a generic type. That is, returns . - The invoked method is not supported in the base class. Derived classes must provide an implementation. - - - Returns the hash code for this instance. - The hash code for this instance. - - - Searches for the interface with the specified name. - The string containing the name of the interface to get. For generic interfaces, this is the mangled name. - An object representing the interface with the specified name, implemented or inherited by the current , if found; otherwise, . - - is . - The current represents a type that implements the same generic interface with different type arguments. - - - When overridden in a derived class, searches for the specified interface, specifying whether to do a case-insensitive search for the interface name. - The string containing the name of the interface to get. For generic interfaces, this is the mangled name. - - to ignore the case of that part of that specifies the simple interface name (the part that specifies the namespace must be correctly cased).-or- - to perform a case-sensitive search for all parts of . - An object representing the interface with the specified name, implemented or inherited by the current , if found; otherwise, . - - is . - The current represents a type that implements the same generic interface with different type arguments. - - - Returns an interface mapping for the specified interface type. - The interface type to retrieve a mapping for. - An object that represents the interface mapping for . - - - is not implemented by the current type. -or-The parameter does not refer to an interface. -or- - is a generic interface, and the current type is an array type. - - is . - The current represents a generic type parameter; that is, is . - The invoked method is not supported in the base class. Derived classes must provide an implementation. - - - When overridden in a derived class, gets all the interfaces implemented or inherited by the current . - An array of objects representing all the interfaces implemented or inherited by the current .-or- An empty array of type , if no interfaces are implemented or inherited by the current . - A static initializer is invoked and throws an exception. - - - Searches for the public members with the specified name. - The string containing the name of the public members to get. - An array of objects representing the public members with the specified name, if found; otherwise, an empty array. - - is . - - - Searches for the specified members, using the specified binding constraints. - The string containing the name of the members to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return an empty array. - An array of objects representing the public members with the specified name, if found; otherwise, an empty array. - - is . - - - Searches for the specified members of the specified member type, using the specified binding constraints. - The string containing the name of the members to get. - The value to search for. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return an empty array. - An array of objects representing the public members with the specified name, if found; otherwise, an empty array. - - is . - A derived class must provide an implementation. - - - Returns all the public members of the current . - An array of objects representing all the public members of the current .-or- An empty array of type , if the current does not have public members. - - - When overridden in a derived class, searches for the members defined for the current , using the specified binding constraints. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero (), to return an empty array. - An array of objects representing all members defined for the current that match the specified binding constraints.-or- An empty array of type , if no members are defined for the current , or if none of the defined members match the binding constraints. - - - Searches for the public method with the specified name. - The string containing the name of the public method to get. - An object that represents the public method with the specified name, if found; otherwise, . - More than one method is found with the specified name. - - is . - - - Searches for the specified method, using the specified binding constraints. - The string containing the name of the method to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An object representing the method that matches the specified requirements, if found; otherwise, . - More than one method is found with the specified name and matching the specified binding constraints. - - is . - - - Searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention. - The string containing the name of the method to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- A null reference ( in Visual Basic), to use the . - The object that specifies the set of rules to use regarding the order and layout of arguments, how the return value is passed, what registers are used for arguments, and how the stack is cleaned up. - An array of objects representing the number, order, and type of the parameters for the method to get.-or- An empty array of objects (as provided by the field) to get a method that takes no parameters. - An array of objects representing the attributes associated with the corresponding element in the array. To be only used when calling through COM interop, and only parameters that are passed by reference are handled. The default binder does not process this parameter. - An object representing the method that matches the specified requirements, if found; otherwise, . - More than one method is found with the specified name and matching the specified binding constraints. - - is .-or- - is .-or- One of the elements in is . - - is multidimensional.-or- - is multidimensional. - - - Searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints. - The string containing the name of the method to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- A null reference ( in Visual Basic), to use the . - An array of objects representing the number, order, and type of the parameters for the method to get.-or- An empty array of objects (as provided by the field) to get a method that takes no parameters. - An array of objects representing the attributes associated with the corresponding element in the array. To be only used when calling through COM interop, and only parameters that are passed by reference are handled. The default binder does not process this parameter. - An object representing the method that matches the specified requirements, if found; otherwise, . - More than one method is found with the specified name and matching the specified binding constraints. - - is .-or- - is .-or- One of the elements in is . - - is multidimensional.-or- - is multidimensional. - - - Searches for the specified public method whose parameters match the specified argument types. - The string containing the name of the public method to get. - An array of objects representing the number, order, and type of the parameters for the method to get.-or- An empty array of objects (as provided by the field) to get a method that takes no parameters. - An object representing the public method whose parameters match the specified argument types, if found; otherwise, . - More than one method is found with the specified name and specified parameters. - - is .-or- - is .-or- One of the elements in is . - - is multidimensional. - - - Searches for the specified public method whose parameters match the specified argument types and modifiers. - The string containing the name of the public method to get. - An array of objects representing the number, order, and type of the parameters for the method to get.-or- An empty array of objects (as provided by the field) to get a method that takes no parameters. - An array of objects representing the attributes associated with the corresponding element in the array. To be only used when calling through COM interop, and only parameters that are passed by reference are handled. The default binder does not process this parameter. - An object representing the public method that matches the specified requirements, if found; otherwise, . - More than one method is found with the specified name and specified parameters. - - is .-or- - is .-or- One of the elements in is . - - is multidimensional.-or- - is multidimensional. - - - When overridden in a derived class, searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention. - The string containing the name of the method to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- A null reference ( in Visual Basic), to use the . - The object that specifies the set of rules to use regarding the order and layout of arguments, how the return value is passed, what registers are used for arguments, and what process cleans up the stack. - An array of objects representing the number, order, and type of the parameters for the method to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a method that takes no parameters.-or- - . If is , arguments are not matched. - An array of objects representing the attributes associated with the corresponding element in the array. The default binder does not process this parameter. - An object representing the method that matches the specified requirements, if found; otherwise, . - More than one method is found with the specified name and matching the specified binding constraints. - - is . - - is multidimensional.-or- - is multidimensional.-or- - and do not have the same length. - The current type is a or . - - - Returns all the public methods of the current . - An array of objects representing all the public methods defined for the current .-or- An empty array of type , if no public methods are defined for the current . - - - When overridden in a derived class, searches for the methods defined for the current , using the specified binding constraints. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An array of objects representing all methods defined for the current that match the specified binding constraints.-or- An empty array of type , if no methods are defined for the current , or if none of the defined methods match the binding constraints. - - - Searches for the public nested type with the specified name. - The string containing the name of the nested type to get. - An object representing the public nested type with the specified name, if found; otherwise, . - - is . - - - When overridden in a derived class, searches for the specified nested type, using the specified binding constraints. - The string containing the name of the nested type to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An object representing the nested type that matches the specified requirements, if found; otherwise, . - - is . - - - Returns the public types nested in the current . - An array of objects representing the public types nested in the current (the search is not recursive), or an empty array of type if no public types are nested in the current . - - - When overridden in a derived class, searches for the types nested in the current , using the specified binding constraints. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An array of objects representing all the types nested in the current that match the specified binding constraints (the search is not recursive), or an empty array of type , if no nested types are found that match the binding constraints. - - - Returns all the public properties of the current . - An array of objects representing all public properties of the current .-or- An empty array of type , if the current does not have public properties. - - - When overridden in a derived class, searches for the properties of the current , using the specified binding constraints. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An array of objects representing all properties of the current that match the specified binding constraints.-or- An empty array of type , if the current does not have properties, or if none of the properties match the binding constraints. - - - Searches for the public property with the specified name. - The string containing the name of the public property to get. - An object representing the public property with the specified name, if found; otherwise, . - More than one property is found with the specified name. See Remarks. - - is . - - - Searches for the specified property, using the specified binding constraints. - The string containing the name of the property to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An object representing the property that matches the specified requirements, if found; otherwise, . - More than one property is found with the specified name and matching the specified binding constraints. See Remarks. - - is . - - - Searches for the specified property whose parameters match the specified argument types and modifiers, using the specified binding constraints. - The string containing the name of the property to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- A null reference ( in Visual Basic), to use the . - The return type of the property. - An array of objects representing the number, order, and type of the parameters for the indexed property to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a property that is not indexed. - An array of objects representing the attributes associated with the corresponding element in the array. The default binder does not process this parameter. - An object representing the property that matches the specified requirements, if found; otherwise, . - More than one property is found with the specified name and matching the specified binding constraints. - - is .-or- - is . - - is multidimensional.-or- - is multidimensional.-or- - and do not have the same length. - An element of is . - - - Searches for the public property with the specified name and return type. - The string containing the name of the public property to get. - The return type of the property. - An object representing the public property with the specified name, if found; otherwise, . - More than one property is found with the specified name. - - is , or is . - - - Searches for the specified public property whose parameters match the specified argument types. - The string containing the name of the public property to get. - The return type of the property. - An array of objects representing the number, order, and type of the parameters for the indexed property to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a property that is not indexed. - An object representing the public property whose parameters match the specified argument types, if found; otherwise, . - More than one property is found with the specified name and matching the specified argument types. - - is .-or- - is . - - is multidimensional. - An element of is . - - - Searches for the specified public property whose parameters match the specified argument types and modifiers. - The string containing the name of the public property to get. - The return type of the property. - An array of objects representing the number, order, and type of the parameters for the indexed property to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a property that is not indexed. - An array of objects representing the attributes associated with the corresponding element in the array. The default binder does not process this parameter. - An object representing the public property that matches the specified requirements, if found; otherwise, . - More than one property is found with the specified name and matching the specified argument types and modifiers. - - is .-or- - is . - - is multidimensional.-or- - is multidimensional.-or- - and do not have the same length. - An element of is . - - - Searches for the specified public property whose parameters match the specified argument types. - The string containing the name of the public property to get. - An array of objects representing the number, order, and type of the parameters for the indexed property to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a property that is not indexed. - An object representing the public property whose parameters match the specified argument types, if found; otherwise, . - More than one property is found with the specified name and matching the specified argument types. - - is .-or- - is . - - is multidimensional. - An element of is . - - - When overridden in a derived class, searches for the specified property whose parameters match the specified argument types and modifiers, using the specified binding constraints. - The string containing the name of the property to get. - A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return . - An object that defines a set of properties and enables binding, which can involve selection of an overloaded member, coercion of argument types, and invocation of a member through reflection.-or- A null reference ( in Visual Basic), to use the . - The return type of the property. - An array of objects representing the number, order, and type of the parameters for the indexed property to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a property that is not indexed. - An array of objects representing the attributes associated with the corresponding element in the array. The default binder does not process this parameter. - An object representing the property that matches the specified requirements, if found; otherwise, . - More than one property is found with the specified name and matching the specified binding constraints. - - is .-or- - is .-or- One of the elements in is . - - is multidimensional.-or- - is multidimensional.-or- - and do not have the same length. - The current type is a , , or . - - - Gets the current . - The current . - A class initializer is invoked and throws an exception. - - - Gets the with the specified name, performing a case-sensitive search. - The assembly-qualified name of the type to get. See . If the type is in the currently executing assembly or in Mscorlib.dll, it is sufficient to supply the type name qualified by its namespace. - The type with the specified name, if found; otherwise, . - - is . - A class initializer is invoked and throws an exception. - - represents a generic type that has a pointer type, a type, or as one of its type arguments.-or- - represents a generic type that has an incorrect number of type arguments.-or- - represents a generic type, and one of its type arguments does not satisfy the constraints for the corresponding type parameter. - - represents an array of . - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The assembly or one of its dependencies was found, but could not be loaded. - The assembly or one of its dependencies is not valid. -or-Version 2.0 or later of the common language runtime is currently loaded, and the assembly was compiled with a later version. - - - Gets the with the specified name, performing a case-sensitive search and specifying whether to throw an exception if the type is not found. - The assembly-qualified name of the type to get. See . If the type is in the currently executing assembly or in Mscorlib.dll, it is sufficient to supply the type name qualified by its namespace. - - to throw an exception if the type cannot be found; to return . Specifying also suppresses some other exception conditions, but not all of them. See the Exceptions section. - The type with the specified name. If the type is not found, the parameter specifies whether is returned or an exception is thrown. In some cases, an exception is thrown regardless of the value of . See the Exceptions section. - - is . - A class initializer is invoked and throws an exception. - - is and the type is not found. -or- - - is and contains invalid characters, such as an embedded tab.-or- - - is and is an empty string.-or- - - is and represents an array type with an invalid size. -or- - represents an array of . - - is and contains invalid syntax. For example, "MyType[,*,]".-or- - - - represents a generic type that has a pointer type, a type, or as one of its type arguments.-or- - represents a generic type that has an incorrect number of type arguments.-or- - represents a generic type, and one of its type arguments does not satisfy the constraints for the corresponding type parameter. - - is and the assembly or one of its dependencies was not found. - - In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, , instead.The assembly or one of its dependencies was found, but could not be loaded. - The assembly or one of its dependencies is not valid. -or-Version 2.0 or later of the common language runtime is currently loaded, and the assembly was compiled with a later version. - - - Gets the with the specified name, specifying whether to throw an exception if the type is not found and whether to perform a case-sensitive search. - The assembly-qualified name of the type to get. See . If the type is in the currently executing assembly or in Mscorlib.dll, it is sufficient to supply the type name qualified by its namespace. - - to throw an exception if the type cannot be found; to return .Specifying also suppresses some other exception conditions, but not all of them. See the Exceptions section. - - to perform a case-insensitive search for , to perform a case-sensitive search for . - The type with the specified name. If the type is not found, the parameter specifies whether is returned or an exception is thrown. In some cases, an exception is thrown regardless of the value of . See the Exceptions section. - - is . - A class initializer is invoked and throws an exception. - - is and the type is not found. -or- - - is and contains invalid characters, such as an embedded tab.-or- - - is and is an empty string.-or- - - is and represents an array type with an invalid size. -or- - represents an array of . - - is and contains invalid syntax. For example, "MyType[,*,]".-or- - - - represents a generic type that has a pointer type, a type, or as one of its type arguments.-or- - represents a generic type that has an incorrect number of type arguments.-or- - represents a generic type, and one of its type arguments does not satisfy the constraints for the corresponding type parameter. - - is and the assembly or one of its dependencies was not found. - The assembly or one of its dependencies was found, but could not be loaded. - The assembly or one of its dependencies is not valid. -or-Version 2.0 or later of the common language runtime is currently loaded, and the assembly was compiled with a later version. - - - Gets the type with the specified name, optionally providing custom methods to resolve the assembly and the type. - The name of the type to get. If the parameter is provided, the type name can be any string that is capable of resolving. If the parameter is provided or if standard type resolution is used, must be an assembly-qualified name (see ), unless the type is in the currently executing assembly or in Mscorlib.dll, in which case it is sufficient to supply the type name qualified by its namespace. - A method that locates and returns the assembly that is specified in . The assembly name is passed to as an object. If does not contain the name of an assembly, is not called. If is not supplied, standard assembly resolution is performed. Caution   Do not pass methods from unknown or untrusted callers. Doing so could result in elevation of privilege for malicious code. Use only methods that you provide or that you are familiar with. - A method that locates and returns the type that is specified by from the assembly that is returned by or by standard assembly resolution. If no assembly is provided, the method can provide one. The method also takes a parameter that specifies whether to perform a case-insensitive search; is passed to that parameter. Caution   Do not pass methods from unknown or untrusted callers. - The type with the specified name, or if the type is not found. - - is . - A class initializer is invoked and throws an exception. - An error occurs when is parsed into a type name and an assembly name (for example, when the simple type name includes an unescaped special character).-or- - represents a generic type that has a pointer type, a type, or as one of its type arguments.-or- - represents a generic type that has an incorrect number of type arguments.-or- - represents a generic type, and one of its type arguments does not satisfy the constraints for the corresponding type parameter. - - represents an array of . - The assembly or one of its dependencies was found, but could not be loaded. -or- - contains an invalid assembly name.-or- - is a valid assembly name without a type name. - The assembly or one of its dependencies is not valid. -or-The assembly was compiled with a later version of the common language runtime than the version that is currently loaded. - - - Gets the type with the specified name, specifying whether to throw an exception if the type is not found, and optionally providing custom methods to resolve the assembly and the type. - The name of the type to get. If the parameter is provided, the type name can be any string that is capable of resolving. If the parameter is provided or if standard type resolution is used, must be an assembly-qualified name (see ), unless the type is in the currently executing assembly or in Mscorlib.dll, in which case it is sufficient to supply the type name qualified by its namespace. - A method that locates and returns the assembly that is specified in . The assembly name is passed to as an object. If does not contain the name of an assembly, is not called. If is not supplied, standard assembly resolution is performed. Caution   Do not pass methods from unknown or untrusted callers. Doing so could result in elevation of privilege for malicious code. Use only methods that you provide or that you are familiar with. - A method that locates and returns the type that is specified by from the assembly that is returned by or by standard assembly resolution. If no assembly is provided, the method can provide one. The method also takes a parameter that specifies whether to perform a case-insensitive search; is passed to that parameter. Caution   Do not pass methods from unknown or untrusted callers. - - to throw an exception if the type cannot be found; to return . Specifying also suppresses some other exception conditions, but not all of them. See the Exceptions section. - The type with the specified name. If the type is not found, the parameter specifies whether is returned or an exception is thrown. In some cases, an exception is thrown regardless of the value of . See the Exceptions section. - - is . - A class initializer is invoked and throws an exception. - - is and the type is not found. -or- - is and contains invalid characters, such as an embedded tab.-or- - is and is an empty string.-or- - is and represents an array type with an invalid size. -or- - represents an array of . - An error occurs when is parsed into a type name and an assembly name (for example, when the simple type name includes an unescaped special character).-or- - is and contains invalid syntax (for example, "MyType[,*,]").-or- - represents a generic type that has a pointer type, a type, or as one of its type arguments.-or- - represents a generic type that has an incorrect number of type arguments.-or- - represents a generic type, and one of its type arguments does not satisfy the constraints for the corresponding type parameter. - - is and the assembly or one of its dependencies was not found. -or- - contains an invalid assembly name.-or- - is a valid assembly name without a type name. - The assembly or one of its dependencies was found, but could not be loaded. - The assembly or one of its dependencies is not valid. -or-The assembly was compiled with a later version of the common language runtime than the version that is currently loaded. - - - Gets the type with the specified name, specifying whether to perform a case-sensitive search and whether to throw an exception if the type is not found, and optionally providing custom methods to resolve the assembly and the type. - The name of the type to get. If the parameter is provided, the type name can be any string that is capable of resolving. If the parameter is provided or if standard type resolution is used, must be an assembly-qualified name (see ), unless the type is in the currently executing assembly or in Mscorlib.dll, in which case it is sufficient to supply the type name qualified by its namespace. - A method that locates and returns the assembly that is specified in . The assembly name is passed to as an object. If does not contain the name of an assembly, is not called. If is not supplied, standard assembly resolution is performed. Caution   Do not pass methods from unknown or untrusted callers. Doing so could result in elevation of privilege for malicious code. Use only methods that you provide or that you are familiar with. - A method that locates and returns the type that is specified by from the assembly that is returned by or by standard assembly resolution. If no assembly is provided, the method can provide one. The method also takes a parameter that specifies whether to perform a case-insensitive search; the value of is passed to that parameter. Caution   Do not pass methods from unknown or untrusted callers. - - to throw an exception if the type cannot be found; to return . Specifying also suppresses some other exception conditions, but not all of them. See the Exceptions section. - - to perform a case-insensitive search for , to perform a case-sensitive search for . - The type with the specified name. If the type is not found, the parameter specifies whether is returned or an exception is thrown. In some cases, an exception is thrown regardless of the value of . See the Exceptions section. - - is . - A class initializer is invoked and throws an exception. - - is and the type is not found. -or- - is and contains invalid characters, such as an embedded tab.-or- - is and is an empty string.-or- - is and represents an array type with an invalid size. -or- - represents an array of . - An error occurs when is parsed into a type name and an assembly name (for example, when the simple type name includes an unescaped special character).-or- - is and contains invalid syntax (for example, "MyType[,*,]").-or- - represents a generic type that has a pointer type, a type, or as one of its type arguments.-or- - represents a generic type that has an incorrect number of type arguments.-or- - represents a generic type, and one of its type arguments does not satisfy the constraints for the corresponding type parameter. - - is and the assembly or one of its dependencies was not found. - The assembly or one of its dependencies was found, but could not be loaded. -or- - contains an invalid assembly name.-or- - is a valid assembly name without a type name. - The assembly or one of its dependencies is not valid. -or-The assembly was compiled with a later version of the common language runtime than the version that is currently loaded. - - - Gets the types of the objects in the specified array. - An array of objects whose types to determine. - An array of objects representing the types of the corresponding elements in . - - is . -or-One or more of the elements in is . - The class initializers are invoked and at least one throws an exception. - - - Gets the underlying type code of the specified . - The type whose underlying type code to get. - The code of the underlying type, or if is . - - - Returns the underlying type code of this instance. - The type code of the underlying type. - - - Gets the type associated with the specified class identifier (CLSID). - The CLSID of the type to get. - - regardless of whether the CLSID is valid. - - - Gets the type associated with the specified class identifier (CLSID), specifying whether to throw an exception if an error occurs while loading the type. - The CLSID of the type to get. - - to throw any exception that occurs.-or- - to ignore any exception that occurs. - - regardless of whether the CLSID is valid. - - - Gets the type associated with the specified class identifier (CLSID) from the specified server. - The CLSID of the type to get. - The server from which to load the type. If the server name is , this method automatically reverts to the local machine. - - regardless of whether the CLSID is valid. - - - Gets the type associated with the specified class identifier (CLSID) from the specified server, specifying whether to throw an exception if an error occurs while loading the type. - The CLSID of the type to get. - The server from which to load the type. If the server name is , this method automatically reverts to the local machine. - - to throw any exception that occurs.-or- - to ignore any exception that occurs. - - regardless of whether the CLSID is valid. - - - Gets the type referenced by the specified type handle. - The object that refers to the type. - The type referenced by the specified , or if the property of is . - A class initializer is invoked and throws an exception. - - - Gets the type associated with the specified program identifier (ProgID), returning null if an error is encountered while loading the . - The ProgID of the type to get. - The type associated with the specified ProgID, if is a valid entry in the registry and a type is associated with it; otherwise, . - - is . - - - Gets the type associated with the specified program identifier (ProgID), specifying whether to throw an exception if an error occurs while loading the type. - The ProgID of the type to get. - - to throw any exception that occurs.-or- - to ignore any exception that occurs. - The type associated with the specified program identifier (ProgID), if is a valid entry in the registry and a type is associated with it; otherwise, . - - is . - The specified ProgID is not registered. - - - Gets the type associated with the specified program identifier (progID) from the specified server, returning null if an error is encountered while loading the type. - The progID of the type to get. - The server from which to load the type. If the server name is , this method automatically reverts to the local machine. - The type associated with the specified program identifier (progID), if is a valid entry in the registry and a type is associated with it; otherwise, . - - is . - - - Gets the type associated with the specified program identifier (progID) from the specified server, specifying whether to throw an exception if an error occurs while loading the type. - The progID of the to get. - The server from which to load the type. If the server name is , this method automatically reverts to the local machine. - - to throw any exception that occurs.-or- - to ignore any exception that occurs. - The type associated with the specified program identifier (progID), if is a valid entry in the registry and a type is associated with it; otherwise, . - - is . - The specified progID is not registered. - - - Gets the handle for the of a specified object. - The object for which to get the type handle. - The handle for the of the specified . - - is . - - - When overridden in a derived class, implements the property and determines whether the current encompasses or refers to another type; that is, whether the current is an array, a pointer, or is passed by reference. - - if the is an array, a pointer, or is passed by reference; otherwise, . - - - Invokes the specified member, using the specified binding constraints and matching the specified argument list. - The string containing the name of the constructor, method, property, or field member to invoke.-or- An empty string ("") to invoke the default member. -or-For members, a string representing the DispID, for example "[DispID=3]". - A bitmask comprised of one or more that specify how the search is conducted. The access can be one of the such as , , , , , and so on. The type of lookup need not be specified. If the type of lookup is omitted, | | are used. - An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- A null reference ( in Visual Basic), to use the . Note that explicitly defining a object may be required for successfully invoking method overloads with variable arguments. - The object on which to invoke the specified member. - An array containing the arguments to pass to the member to invoke. - An object representing the return value of the invoked member. - - does not contain and is . - - is not a valid attribute. -or- - does not contain one of the following binding flags: , , , , , or .-or- - contains combined with , , , , or .-or- - contains both and .-or- - contains both and .-or- - contains combined with or .-or- - contains and has more than one element.-or- This method is called on a COM object and one of the following binding flags was not passed in: , , , , or .-or- One of the named parameter arrays contains a string that is . - The specified member is a class initializer. - The field or property cannot be found. - No method can be found that matches the arguments in .-or- The current object represents a type that contains open type parameters, that is, returns . - The specified member cannot be invoked on . - More than one method matches the binding criteria. - The .NET Compact Framework does not currently support this method. - The method represented by has one or more unspecified generic type parameters. That is, the method's property returns . - - - Invokes the specified member, using the specified binding constraints and matching the specified argument list and culture. - The string containing the name of the constructor, method, property, or field member to invoke.-or- An empty string ("") to invoke the default member. -or-For members, a string representing the DispID, for example "[DispID=3]". - A bitmask comprised of one or more that specify how the search is conducted. The access can be one of the such as , , , , , and so on. The type of lookup need not be specified. If the type of lookup is omitted, | | are used. - An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- A null reference ( in Visual Basic), to use the . Note that explicitly defining a object may be required for successfully invoking method overloads with variable arguments. - The object on which to invoke the specified member. - An array containing the arguments to pass to the member to invoke. - The object representing the globalization locale to use, which may be necessary for locale-specific conversions, such as converting a numeric to a .-or- A null reference ( in Visual Basic) to use the current thread's . - An object representing the return value of the invoked member. - - - does not contain and is . - - is not a valid attribute. -or- - does not contain one of the following binding flags: , , , , , or .-or- - contains combined with , , , , or .-or- - contains both and .-or- - contains both and .-or- - contains combined with or .-or- - contains and has more than one element.-or- This method is called on a COM object and one of the following binding flags was not passed in: , , , , or .-or- One of the named parameter arrays contains a string that is . - The specified member is a class initializer. - The field or property cannot be found. - No method can be found that matches the arguments in .-or- The current object represents a type that contains open type parameters, that is, returns . - The specified member cannot be invoked on . - More than one method matches the binding criteria. - The method represented by has one or more unspecified generic type parameters. That is, the method's property returns . - - - When overridden in a derived class, invokes the specified member, using the specified binding constraints and matching the specified argument list, modifiers and culture. - The string containing the name of the constructor, method, property, or field member to invoke.-or- An empty string ("") to invoke the default member. -or-For members, a string representing the DispID, for example "[DispID=3]". - A bitmask comprised of one or more that specify how the search is conducted. The access can be one of the such as , , , , , and so on. The type of lookup need not be specified. If the type of lookup is omitted, | | are used. - An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- A null reference (Nothing in Visual Basic), to use the . Note that explicitly defining a object may be required for successfully invoking method overloads with variable arguments. - The object on which to invoke the specified member. - An array containing the arguments to pass to the member to invoke. - An array of objects representing the attributes associated with the corresponding element in the array. A parameter's associated attributes are stored in the member's signature. The default binder processes this parameter only when calling a COM component. - The object representing the globalization locale to use, which may be necessary for locale-specific conversions, such as converting a numeric String to a Double.-or- A null reference ( in Visual Basic) to use the current thread's . - An array containing the names of the parameters to which the values in the array are passed. - An object representing the return value of the invoked member. - - - does not contain and is . - - and do not have the same length.-or- - is not a valid attribute.-or- - does not contain one of the following binding flags: , , , , , or .-or- - contains combined with , , , , or .-or- - contains both and .-or- - contains both and .-or- - contains combined with or .-or- - contains and has more than one element.-or- The named parameter array is larger than the argument array.-or- This method is called on a COM object and one of the following binding flags was not passed in: , , , , or .-or- One of the named parameter arrays contains a string that is . - The specified member is a class initializer. - The field or property cannot be found. - No method can be found that matches the arguments in .-or- No member can be found that has the argument names supplied in .-or- The current object represents a type that contains open type parameters, that is, returns . - The specified member cannot be invoked on . - More than one method matches the binding criteria. - The method represented by has one or more unspecified generic type parameters. That is, the method's property returns . - - - When overridden in a derived class, implements the property and determines whether the is an array. - - if the is an array; otherwise, . - - - Determines whether an instance of a specified type can be assigned to an instance of the current type. - The type to compare with the current type. - - if any of the following conditions is true: - and the current instance represent the same type. - is derived either directly or indirectly from the current instance. is derived directly from the current instance if it inherits from the current instance; is derived indirectly from the current instance if it inherits from a succession of one or more classes that inherit from the current instance. The current instance is an interface that implements. - is a generic type parameter, and the current instance represents one of the constraints of . In the following example, the current instance is a object that represents the class. GenericWithConstraint is a generic type whose generic type parameter must be of type . Passing its generic type parameter to the indicates that an instance of the generic type parameter can be assigned to an object. System.Type.IsAssignableFrom#2 - - represents a value type, and the current instance represents Nullable<c> (Nullable(Of c) in Visual Basic). - if none of these conditions are true, or if is . - - - When overridden in a derived class, implements the property and determines whether the is passed by reference. - - if the is passed by reference; otherwise, . - - - When overridden in a derived class, implements the property and determines whether the is a COM object. - - if the is a COM object; otherwise, . - - - Implements the property and determines whether the can be hosted in a context. - - if the can be hosted in a context; otherwise, . - - - Returns a value that indicates whether the specified value exists in the current enumeration type. - The value to be tested. - - if the specified value is a member of the current enumeration type; otherwise, . - The current type is not an enumeration. - - is . - - is of a type that cannot be the underlying type of an enumeration. - - - Determines whether two COM types have the same identity and are eligible for type equivalence. - The COM type that is tested for equivalence with the current type. - - if the COM types are equivalent; otherwise, . This method also returns if one type is in an assembly that is loaded for execution, and the other is in an assembly that is loaded into the reflection-only context. - - - Determines whether the specified object is an instance of the current . - The object to compare with the current type. - - if the current is in the inheritance hierarchy of the object represented by , or if the current is an interface that implements. if neither of these conditions is the case, if is , or if the current is an open generic type (that is, returns ). - - - Implements the property and determines whether the is marshaled by reference. - - if the is marshaled by reference; otherwise, . - - - When overridden in a derived class, implements the property and determines whether the is a pointer. - - if the is a pointer; otherwise, . - - - When overridden in a derived class, implements the property and determines whether the is one of the primitive types. - - if the is one of the primitive types; otherwise, . - - - Determines whether the current derives from the specified . - The type to compare with the current type. - - if the current derives from ; otherwise, . This method also returns if and the current are equal. - - is . - - - Implements the property and determines whether the is a value type; that is, not a class or an interface. - - if the is a value type; otherwise, . - - - Returns a object representing a one-dimensional array of the current type, with a lower bound of zero. - A object representing a one-dimensional array of the current type, with a lower bound of zero. - The invoked method is not supported in the base class. Derived classes must provide an implementation. - The current type is .-or-The current type is a type. That is, returns . - - - Returns a object representing an array of the current type, with the specified number of dimensions. - The number of dimensions for the array. This number must be less than or equal to 32. - An object representing an array of the current type, with the specified number of dimensions. - - is invalid. For example, 0 or negative. - The invoked method is not supported in the base class. - The current type is .-or-The current type is a type. That is, returns . -or- - is greater than 32. - - - Returns a object that represents the current type when passed as a parameter ( parameter in Visual Basic). - A object that represents the current type when passed as a parameter ( parameter in Visual Basic). - The invoked method is not supported in the base class. - The current type is .-or-The current type is a type. That is, returns . - - - Substitutes the elements of an array of types for the type parameters of the current generic type definition and returns a object representing the resulting constructed type. - An array of types to be substituted for the type parameters of the current generic type. - A representing the constructed type formed by substituting the elements of for the type parameters of the current generic type. - The current type does not represent a generic type definition. That is, returns . - - is .-or- Any element of is . - The number of elements in is not the same as the number of type parameters in the current generic type definition.-or- Any element of does not satisfy the constraints specified for the corresponding type parameter of the current generic type. -or- - contains an element that is a pointer type ( returns ), a by-ref type ( returns ), or . - The invoked method is not supported in the base class. Derived classes must provide an implementation. - - - Returns a object that represents a pointer to the current type. - A object that represents a pointer to the current type. - The invoked method is not supported in the base class. - The current type is .-or-The current type is a type. That is, returns . - - - Indicates whether two objects are equal. - The first object to compare. - The second object to compare. - - if is equal to ; otherwise, . - - - Indicates whether two objects are not equal. - The first object to compare. - The second object to compare. - - if is not equal to ; otherwise, . - - - Gets the with the specified name, specifying whether to perform a case-sensitive search and whether to throw an exception if the type is not found. The type is loaded for reflection only, not for execution. - - The assembly-qualified name of the to get. - - to throw a if the type cannot be found; to return if the type cannot be found. Specifying also suppresses some other exception conditions, but not all of them. See the Exceptions section. - - to perform a case-insensitive search for ; to perform a case-sensitive search for . - The type with the specified name, if found; otherwise, . If the type is not found, the parameter specifies whether is returned or an exception is thrown. In some cases, an exception is thrown regardless of the value of . See the Exceptions section. - - is . - A class initializer is invoked and throws an exception. - - is and the type is not found. -or- - is and contains invalid characters, such as an embedded tab.-or- - is and is an empty string.-or- - is and represents an array type with an invalid size. -or- - represents an array of objects. - - does not include the assembly name.-or- - is and contains invalid syntax; for example, "MyType[,*,]".-or- - represents a generic type that has a pointer type, a type, or as one of its type arguments.-or- - represents a generic type that has an incorrect number of type arguments.-or- - represents a generic type, and one of its type arguments does not satisfy the constraints for the corresponding type parameter. - - is and the assembly or one of its dependencies was not found. - The assembly or one of its dependencies was found, but could not be loaded. - The assembly or one of its dependencies is not valid. -or-The assembly was compiled with a later version of the common language runtime than the version that is currently loaded. - - - Maps a set of names to a corresponding set of dispatch identifiers. - Reserved for future use. Must be IID_NULL. - Passed-in array of names to be mapped. - Count of the names to be mapped. - The locale context in which to interpret the names. - Caller-allocated array which receives the IDs corresponding to the names. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the type information for an object, which can then be used to get the type information for an interface. - The type information to return. - The locale identifier for the type information. - A pointer to the requested type information object. - Late-bound access using the COM IDispatch interface is not supported. - - - Retrieves the number of type information interfaces that an object provides (either 0 or 1). - Points to a location that receives the number of type information interfaces provided by the object. - Late-bound access using the COM IDispatch interface is not supported. - - - Provides access to properties and methods exposed by an object. - Identifies the member. - Reserved for future use. Must be IID_NULL. - The locale context in which to interpret arguments. - Flags describing the context of the call. - Pointer to a structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays. - Pointer to the location where the result is to be stored. - Pointer to a structure that contains exception information. - The index of the first argument that has an error. - Late-bound access using the COM IDispatch interface is not supported. - - - Returns a representing the name of the current . - A representing the name of the current . - - - Initializes a new instance of the class with a system-supplied message that describes the error. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified message that describes the error. - The message that describes the exception. The caller of this constructor must ensure that this string has been localized for the current system culture. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The message that describes the exception. The caller of this constructor must ensure that this string has been localized for the current system culture. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Checks if this object is equal to the specified object. - The object with which to compare the current object. - - if this object is equal to the specified object; otherwise, . - This method is not implemented. - - - Returns the hash code of this object. - The hash code of this object. - - - Returns the type of the target of the specified . - The value whose target's type is to be returned. - The type of the target of the specified . - - - Makes a for a field identified by a specified object and list of field descriptions. - An object that contains the field described by the first element of . - A list of field descriptions where each element describes a field that contains the field described by the succeeding element. Each described field must be a value type. The field descriptions must be objects supplied by the type system. - A for the field described by the last element of . - - or is .-or- An element of is . - The array has no elements.-or- An element of is not a object. -or- The or property of an element of is . - Parameter does not contain the field described by the first element of , or an element of describes a field that is not contained in the field described by the succeeding element of .-or- The field described by an element of is not a value type. - - - Converts the specified value to a . This method is not supported. - The target of the conversion. - The value to be converted. - In all cases. - - - Returns the internal metadata type handle for the specified . - The for which the type handle is requested. - The internal metadata type handle for the specified . - - - Converts the specified to an . - The to be converted. - An converted from a . - - - Initializes a new instance of the class with the default error message, the specified type name, and a reference to the inner exception that is the root cause of this exception. - The fully qualified name of the type that fails to initialize. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Sets the object with the type name and additional exception information. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - The object is . - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - - - Sets the object with the class name, method name, resource ID, and additional exception information. - The object that holds the serialized object data. - The contextual information about the source or destination. - The object is . - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The object that holds the serialized object data. - The contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Compares this instance to a specified object and returns an indication of their relative values. - An object to compare, or . - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than .-or- - is . - - is not a . - - - Compares this instance to a specified 16-bit unsigned integer and returns an indication of their relative values. - An unsigned integer to compare. - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare to this instance. - - if is an instance of and equals the value of this instance; otherwise, . - - - Returns a value indicating whether this instance is equal to a specified value. - A 16-bit unsigned integer to compare to this instance. - - if has the same value as this instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns the for value type . - The enumerated constant, . - - - Converts the string representation of a number to its 16-bit unsigned integer equivalent. - A string that represents the number to convert. - A 16-bit unsigned integer equivalent to the number contained in . - - is . - - is not in the correct format. - - represents a number less than or greater than . - - - Converts the string representation of a number in a specified style to its 16-bit unsigned integer equivalent.This method is not CLS-compliant. The CLS-compliant alternative is . - A string that represents the number to convert. The string is interpreted by using the style specified by the parameter. - A bitwise combination of the enumeration values that specify the permitted format of . A typical value to specify is . - A 16-bit unsigned integer equivalent to the number specified in . - - is . - - is not a value. -or- - is not a combination of and values. - - is not in a format compliant with . - - represents a number less than or greater than . -or- - includes non-zero, fractional digits. - - - Converts the string representation of a number in a specified style and culture-specific format to its 16-bit unsigned integer equivalent. - A string that represents the number to convert. The string is interpreted by using the style specified by the parameter. - A bitwise combination of enumeration values that indicate the style elements that can be present in . A typical value to specify is . - An object that supplies culture-specific formatting information about . - A 16-bit unsigned integer equivalent to the number specified in . - - is . - - is not a value. -or- - is not a combination of and values. - - is not in a format compliant with . - - represents a number that is less than or greater than . -or- - includes non-zero, fractional digits. - - - Converts the string representation of a number in a specified culture-specific format to its 16-bit unsigned integer equivalent. - A string that represents the number to convert. - An object that supplies culture-specific formatting information about . - A 16-bit unsigned integer equivalent to the number specified in . - - is . - - is not in the correct format. - - represents a number less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - - if the value of the current instance is not zero; otherwise, . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - This conversion is not supported. Attempting to use this method throws an . - This parameter is ignored. - This conversion is not supported. No value is returned. - In all cases. - - - For a description of this member, see . - This parameter is ignored. - The current value of this instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The current value of this instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The current value of this instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of this instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The current value of this instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The current value of this instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The current value pf this instance, converted to a . - - - For a description of this member, see . - The type to which to convert this value. - An implementation that supplies information about the format of the returned value. - The current value of this instance, converted to . - - - For a description of this member, see . - This parameter is ignored. - The current value of this instance, unchanged. - - - For a description of this member, see . - This parameter is ignored. - The current value of this instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The current value of this instance, converted to a . - - - Converts the numeric value of this instance to its equivalent string representation. - The string representation of the value of this instance, which consists of a sequence of digits ranging from 0 to 9, without a sign or leading zeros. - - - Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information. - An object that supplies culture-specific formatting information. - The string representation of the value of this instance, which consists of a sequence of digits ranging from 0 to 9, without a sign or leading zeros. - - - Converts the numeric value of this instance to its equivalent string representation using the specified format. - A numeric format string. - The string representation of the value of this instance as specified by . - The parameter is invalid. - - - Converts the numeric value of this instance to its equivalent string representation using the specified format and culture-specific format information. - A numeric format string. - An object that supplies culture-specific formatting information. - The string representation of the value of this instance, as specified by and . - - is invalid. - - - Tries to convert the string representation of a number in a specified style and culture-specific format to its 16-bit unsigned integer equivalent. A return value indicates whether the conversion succeeded or failed. - A string that represents the number to convert. The string is interpreted by using the style specified by the parameter. - A bitwise combination of enumeration values that indicates the permitted format of . A typical value to specify is . - An object that supplies culture-specific formatting information about . - When this method returns, contains the 16-bit unsigned integer value equivalent to the number contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not in a format compliant with , or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - is not a value. -or- - is not a combination of and values. - - - Tries to convert the string representation of a number to its 16-bit unsigned integer equivalent. A return value indicates whether the conversion succeeded or failed. - A string that represents the number to convert. - When this method returns, contains the 16-bit unsigned integer value that is equivalent to the number contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not in the correct format. , or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - - Compares this instance to a specified object and returns an indication of their relative values. - An object to compare, or . - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than .-or- - is . - - is not a . - - - Compares this instance to a specified 32-bit unsigned integer and returns an indication of their relative values. - An unsigned integer to compare. - A signed number indicating the relative values of this instance and .Return value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare with this instance. - - if is an instance of and equals the value of this instance; otherwise, . - - - Returns a value indicating whether this instance is equal to a specified . - A value to compare to this instance. - - if has the same value as this instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns the for value type . - The enumerated constant, . - - - Converts the string representation of a number to its 32-bit unsigned integer equivalent. - A string representing the number to convert. - A 32-bit unsigned integer equivalent to the number contained in . - The parameter is . - The parameter is not of the correct format. - The parameter represents a number that is less than or greater than . - - - Converts the string representation of a number in a specified style to its 32-bit unsigned integer equivalent. - A string representing the number to convert. The string is interpreted by using the style specified by the parameter. - A bitwise combination of the enumeration values that specify the permitted format of . A typical value to specify is . - A 32-bit unsigned integer equivalent to the number specified in . - - is . - - is not a value. -or- - is not a combination of and values. - - is not in a format compliant with . - - represents a number that is less than or greater than . -or- - includes non-zero, fractional digits. - - - Converts the string representation of a number in a specified style and culture-specific format to its 32-bit unsigned integer equivalent. - A string representing the number to convert. The string is interpreted by using the style specified by the parameter. - A bitwise combination of enumeration values that indicates the style elements that can be present in . A typical value to specify is . - An object that supplies culture-specific formatting information about . - A 32-bit unsigned integer equivalent to the number specified in . - - is . - - is not a value. -or- - is not a combination of and values. - - is not in a format compliant with . - - represents a number that is less than or greater than . -or- - includes non-zero, fractional digits. - - - Converts the string representation of a number in a specified culture-specific format to its 32-bit unsigned integer equivalent. - A string that represents the number to convert. - An object that supplies culture-specific formatting information about . - A 32-bit unsigned integer equivalent to the number specified in . - - is . - - is not in the correct style. - - represents a number that is less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - - if the value of the current instance is not zero; otherwise, . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - This conversion is not supported. Attempting to use this method throws an . - This parameter is ignored. - This conversion is not supported. No value is returned. - In all cases. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - The type to which to convert this value. - An implementation that supplies culture-specific information about the format of the returned value. - The value of the current instance, converted to . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, unchanged. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - Converts the numeric value of this instance to its equivalent string representation. - The string representation of the value of this instance, consisting of a sequence of digits ranging from 0 to 9, without a sign or leading zeroes. - - - Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information. - An object that supplies culture-specific formatting information. - The string representation of the value of this instance, which consists of a sequence of digits ranging from 0 to 9, without a sign or leading zeros. - - - Converts the numeric value of this instance to its equivalent string representation using the specified format. - A numeric format string. - The string representation of the value of this instance as specified by . - The parameter is invalid. - - - Converts the numeric value of this instance to its equivalent string representation using the specified format and culture-specific format information. - A numeric format string. - An object that supplies culture-specific formatting information about this instance. - The string representation of the value of this instance as specified by and . - The parameter is invalid. - - - Tries to convert the string representation of a number in a specified style and culture-specific format to its 32-bit unsigned integer equivalent. A return value indicates whether the conversion succeeded or failed. - A string that represents the number to convert. The string is interpreted by using the style specified by the parameter. - A bitwise combination of enumeration values that indicates the permitted format of . A typical value to specify is . - An object that supplies culture-specific formatting information about . - When this method returns, contains the 32-bit unsigned integer value equivalent to the number contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not in a format compliant with , or represents a number that is less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - is not a value. -or- - is not a combination of and values. - - - Tries to convert the string representation of a number to its 32-bit unsigned integer equivalent. A return value indicates whether the conversion succeeded or failed. - A string that represents the number to convert. - When this method returns, contains the 32-bit unsigned integer value that is equivalent to the number contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not of the correct format, or represents a number that is less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - - Compares this instance to a specified object and returns an indication of their relative values. - An object to compare, or . - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than .-or- - is . - - is not a . - - - Compares this instance to a specified 64-bit unsigned integer and returns an indication of their relative values. - An unsigned integer to compare. - A signed number indicating the relative values of this instance and .Return Value Description Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare to this instance. - - if is an instance of and equals the value of this instance; otherwise, . - - - Returns a value indicating whether this instance is equal to a specified value. - A value to compare to this instance. - - if has the same value as this instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Returns the for value type . - The enumerated constant, . - - - Converts the string representation of a number to its 64-bit unsigned integer equivalent. - A string that represents the number to convert. - A 64-bit unsigned integer equivalent to the number contained in . - The parameter is . - The parameter is not in the correct format. - The parameter represents a number less than or greater than . - - - Converts the string representation of a number in a specified style to its 64-bit unsigned integer equivalent. - A string that represents the number to convert. The string is interpreted by using the style specified by the parameter. - A bitwise combination of the enumeration values that specifies the permitted format of . A typical value to specify is . - A 64-bit unsigned integer equivalent to the number specified in . - The parameter is . - - is not a value. -or- - is not a combination of and values. - The parameter is not in a format compliant with . - The parameter represents a number less than or greater than . -or- - includes non-zero, fractional digits. - - - Converts the string representation of a number in a specified style and culture-specific format to its 64-bit unsigned integer equivalent. - A string that represents the number to convert. The string is interpreted by using the style specified by the parameter. - A bitwise combination of enumeration values that indicates the style elements that can be present in . A typical value to specify is . - An object that supplies culture-specific formatting information about . - A 64-bit unsigned integer equivalent to the number specified in . - The parameter is . - - is not a value. -or- - is not a combination of and values. - The parameter is not in a format compliant with . - The parameter represents a number less than or greater than . -or- - includes non-zero, fractional digits. - - - Converts the string representation of a number in a specified culture-specific format to its 64-bit unsigned integer equivalent. - A string that represents the number to convert. - An object that supplies culture-specific formatting information about . - A 64-bit unsigned integer equivalent to the number specified in . - The parameter is . - The parameter is not in the correct style. - The parameter represents a number less than or greater than . - - - For a description of this member, see . - This parameter is ignored. - - if the value of the current instance is not zero; otherwise, . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - This conversion is not supported. Attempting to use this method throws an . - This parameter is ignored. - This conversion is not supported. No value is returned. - In all cases. - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to an . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - The type to which to convert this value. - An implementation that supplies information about the format of the returned value. - The value of the current instance, converted to . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, converted to a . - - - For a description of this member, see . - This parameter is ignored. - The value of the current instance, unchanged. - - - Converts the numeric value of this instance to its equivalent string representation. - The string representation of the value of this instance, consisting of a sequence of digits ranging from 0 to 9, without a sign or leading zeroes. - - - Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information. - An object that supplies culture-specific formatting information. - The string representation of the value of this instance, consisting of a sequence of digits ranging from 0 to 9, without a sign or leading zeros. - - - Converts the numeric value of this instance to its equivalent string representation using the specified format. - A numeric format string. - The string representation of the value of this instance as specified by . - The parameter is invalid. - - - Converts the numeric value of this instance to its equivalent string representation using the specified format and culture-specific format information. - A numeric format string. - An object that supplies culture-specific formatting information about this instance. - The string representation of the value of this instance as specified by and . - The parameter is invalid. - - - Tries to convert the string representation of a number in a specified style and culture-specific format to its 64-bit unsigned integer equivalent. A return value indicates whether the conversion succeeded or failed. - A string that represents the number to convert. The string is interpreted by using the style specified by the parameter. - A bitwise combination of enumeration values that indicates the permitted format of . A typical value to specify is . - An object that supplies culture-specific formatting information about . - When this method returns, contains the 64-bit unsigned integer value equivalent to the number contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not in a format compliant with , or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - is not a value. -or- - is not a combination of and values. - - - Tries to convert the string representation of a number to its 64-bit unsigned integer equivalent. A return value indicates whether the conversion succeeded or failed. - A string that represents the number to convert. - When this method returns, contains the 64-bit unsigned integer value that is equivalent to the number contained in , if the conversion succeeded, or zero if the conversion failed. The conversion fails if the parameter is or , is not of the correct format, or represents a number less than or greater than . This parameter is passed uninitialized; any value originally supplied in will be overwritten. - - if was converted successfully; otherwise, . - - - Initializes a new instance of the structure using the specified 32-bit pointer or handle. - A pointer or handle contained in a 32-bit unsigned integer. - - - Initializes a new instance of using the specified 64-bit pointer or handle. - A pointer or handle contained in a 64-bit unsigned integer. - On a 32-bit platform, is too large to represent as an . - - - Initializes a new instance of using the specified pointer to an unspecified type. - A pointer to an unspecified type. - - - Adds an offset to the value of an unsigned pointer. - The unsigned pointer to add the offset to. - The offset to add. - A new unsigned pointer that reflects the addition of to . - - - Returns a value indicating whether this instance is equal to a specified object. - An object to compare with this instance or . - - if is an instance of and equals the value of this instance; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - Adds an offset to the value of an unsigned pointer. - The unsigned pointer to add the offset to. - The offset to add. - A new unsigned pointer that reflects the addition of to . - - - Determines whether two specified instances of are equal. - The first pointer or handle to compare. - The second pointer or handle to compare. - - if equals ; otherwise, . - - - Converts the value of a 32-bit unsigned integer to an . - A 32-bit unsigned integer. - A new instance of initialized to . - - - Converts the value of a 64-bit unsigned integer to an . - A 64-bit unsigned integer. - A new instance of initialized to . - On a 32-bit platform, is too large to represent as an . - - - Converts the value of the specified to a 32-bit unsigned integer. - The pointer or handle to convert. - The contents of . - On a 64-bit platform, the value of is too large to represent as a 32-bit unsigned integer. - - - Converts the value of the specified to a 64-bit unsigned integer. - The pointer or handle to convert. - The contents of . - - - Converts the value of the specified to a pointer to an unspecified type. - The pointer or handle to convert. - The contents of . - - - Converts the specified pointer to an unspecified type to a . - A pointer to an unspecified type. - A new instance of initialized to . - - - Determines whether two specified instances of are not equal. - The first pointer or handle to compare. - The second pointer or handle to compare. - - if does not equal ; otherwise, . - - - Subtracts an offset from the value of an unsigned pointer. - The unsigned pointer to subtract the offset from. - The offset to subtract. - A new unsigned pointer that reflects the subtraction of from . - - - Subtracts an offset from the value of an unsigned pointer. - The unsigned pointer to subtract the offset from. - The offset to subtract. - A new unsigned pointer that reflects the subtraction of from . - - - Populates a object with the data needed to serialize the current object. - The object to populate with data. - The destination for this serialization. (This parameter is not used; specify .) - - is . - - - Converts the value of this instance to a pointer to an unspecified type. - A pointer to ; that is, a pointer to memory containing data of an unspecified type. - - - Converts the numeric value of this instance to its equivalent string representation. - The string representation of the value of this instance. - - - Converts the value of this instance to a 32-bit unsigned integer. - A 32-bit unsigned integer equal to the value of this instance. - On a 64-bit platform, the value of this instance is too large to represent as a 32-bit unsigned integer. - - - Converts the value of this instance to a 64-bit unsigned integer. - A 64-bit unsigned integer equal to the value of this instance. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialized data. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class with a specified error message. - The message that describes the error. - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception. If the parameter is not a null reference ( in Visual Basic), the current exception is raised in a block that handles the inner exception. - - - Initializes a new instance of the class with the exception object and a common language runtime termination flag. - The exception that is not handled. - - if the runtime is terminating; otherwise, . - - - Compares the current instance with a specified object. - The object to compare with the current instance. - Returns 0 if is a instance and 1 if is . - - is not a instance. - - - Creates a new value tuple with zero components. - A new value tuple with no components. - - - Creates a new value tuple with 1 component (a singleton). - The value of the value tuple's only component. - The type of the value tuple's only component. - A value tuple with 1 component. - - - - Creates a new value tuple with 2 components (a pair). - - The value of the value tuple's first component. - The value of the value tuple's second component. - The type of the value tuple's first component. - The type of the value tuple's second component. - A value tuple with 2 components. - - - Creates a new value tuple with 3 components (a triple). - The value of the value tuple's first component. - The value of the value tuple's second component. - The value of the value tuple's third component. - The type of the value tuple's first component. - The type of the value tuple's second component. - The type of the value tuple's third component. - A value tuple with 3 components. - - - Creates a new value tuple with 4 components (a quadruple). - The value of the value tuple's first component. - The value of the value tuple's second component. - The value of the value tuple's third component. - The value of the value tuple's fourth component. - The type of the value tuple's first component. - The type of the value tuple's second component. - The type of the value tuple's third component. - The type of the value tuple's fourth component. - A value tuple with 4 components. - - - Creates a new value tuple with 5 components (a quintuple). - The value of the value tuple's first component. - The value of the value tuple's second component. - The value of the value tuple's third component. - The value of the value tuple's fourth component. - The value of the value tuple's fifth component. - The type of the value tuple's first component. - The type of the value tuple's second component. - The type of the value tuple's third component. - The type of the value tuple's fourth component. - The type of the value tuple's fifth component. - A value tuple with 5 components. - - - Creates a new value tuple with 6 components (a sexuple). - The value of the value tuple's first component. - The value of the value tuple's second component. - The value of the value tuple's third component. - The value of the value tuple's fourth component. - The value of the value tuple's fifth component. - The value of the value tuple's sixth component. - The type of the value tuple's first component. - The type of the value tuple's second component. - The type of the value tuple's third component. - The type of the value tuple's fourth component. - The type of the value tuple's fifth component. - The type of the value tuple's sixth component. - A value tuple with 6 components. - - - Creates a new value tuple with 7 components (a septuple). - The value of the value tuple's first component. - The value of the value tuple's second component. - The value of the value tuple's third component. - The value of the value tuple's fourth component. - The value of the value tuple's fifth component. - The value of the value tuple's sixth component. - The value of the value tuple's seventh component. - The type of the value tuple's first component. - The type of the value tuple's second component. - The type of the value tuple's third component. - The type of the value tuple's fourth component. - The type of the value tuple's fifth component. - The type of the value tuple's sixth component. - The type of the value tuple's seventh component. - A value tuple with 7 components. - - - Creates a new value tuple with 8 components (an octuple). - The value of the value tuple's first component. - The value of the value tuple's second component. - The value of the value tuple's third component. - The value of the value tuple's fourth component. - The value of the value tuple's fifth component. - The value of the value tuple's sixth component. - The value of the value tuple's seventh component. - The value of the value tuple's eighth component. - The type of the value tuple's first component. - The type of the value tuple's second component. - The type of the value tuple's third component. - The type of the value tuple's fourth component. - The type of the value tuple's fifth component. - The type of the value tuple's sixth component. - The type of the value tuple's seventh component. - The type of the value tuple's eighth component. - A value tuple with 8 components. - - - Returns a value that indicates whether the current instance is equal to a specified object. - The object to compare to the current instance. - - if is a instance; otherwise, . - - - Determines whether two instances are equal. This method always returns . - The value tuple to compare with the current instance. - This method always returns . - - - Returns the hash code for the current instance. - The hash code for the current instance. - - - Compares the current instance to a specified object. - The object to compare with the current instance. - An object that provides custom rules for comparison. This parameter is ignored. - Returns 0 if is a instance and 1 if is . - - is not a instance. - - - Returns a value that indicates whether the current instance is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified object; otherwise, . - - - Returns the hash code for this instance. - An object whose method computes the hash code. This parameter is ignored. - The hash code for this instance. - - - Compares this instance with a specified object and returns an indication of their relative values. - The object to compare with the current instance - 0 if is a instance; otherwise, 1 if is . - - is not a instance. - - - Returns the string representation of this instance. - This method always returns "()". - - - Initializes a new instance. - The value tuple's first element. - - - Compares the current instance to a specified instance. - The tuple to compare with this instance. - A signed integer that indicates the relative position of this instance and - in the sort order, as shown in the following able. - VaueDescriptionA negative integerThis instance precedes - . - ZeroThis instance and - have the same position in the sort order. - A positive integerThis instance follows - . - - - - Returns a value that indicates whether the current instance is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns a value that indicates whether the current instance is equal to a specified instance. - The value tuple to compare with this instance. - - if the current instance is equal to the specified tuple; otherwise, . - - - Calculates the hash code for the current instance. - The hash code for the current instance. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following able. VaueDescriptionA negative integerThis instance precedes . ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a value that indicates whether the current instance is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified object; otherwise, . - - - Calculates the hash code for the current instance by using a specified computation method. - An object whose method calculates the hash code of the current instance. - A 32-bit signed integer hash code. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a string that represents the value of this instance. - The string representation of this instance. - - - Initializes a new instance. - The value tuple's first element. - The value tuple's second element. - - - Compares the current instance to a specified instance. - The tuple to compare with this instance. - A signed integer that indicates the relative position of this instance and - in the sort order, as shown in the following able. - VaueDescriptionA negative integerThis instance precedes - . - ZeroThis instance and - have the same position in the sort order. - A positive integerThis instance follows - . - - - - Returns a value that indicates whether the current instance is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns a value that indicates whether the current instance is equal to a specified instance. - The value tuple to compare with this instance. - - if the current instance is equal to the specified tuple; otherwise, . - - - Calculates the hash code for the current instance. - The hash code for the current instance. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following able. VaueDescriptionA negative integerThis instance precedes . ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a value that indicates whether the current instance is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified objects; otherwise, . - - - Calculates the hash code for the current instance by using a specified computation method. - An object whose method calculates the hash code of the current instance. - A 32-bit signed integer hash code. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a string that represents the value of this instance. - The string representation of this instance. - - - Initializes a new instance. - The value tuple's first element. - The value tuple's second element. - The value tuple's third element. - - - Compares the current instance to a specified instance. - The tuple to compare with this instance. - A signed integer that indicates the relative position of this instance and - in the sort order, as shown in the following able. - VaueDescriptionA negative integerThis instance precedes - . - ZeroThis instance and - have the same position in the sort order. - A positive integerThis instance follows - . - - - - Returns a value that indicates whether the current instance is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns a value that indicates whether the current instance is equal to a specified instance. - The value tuple to compare with this instance. - - if the current instance is equal to the specified tuple; otherwise, . - - - Calculates the hash code for the current instance. - The hash code for the current instance. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following able. VaueDescriptionA negative integerThis instance precedes . ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a value that indicates whether the current instance is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified objects; otherwise, . - - - Calculates the hash code for the current instance by using a specified computation method. - An object whose method calculates the hash code of the current instance. - A 32-bit signed integer hash code. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a string that represents the value of this instance. - The string representation of this instance. - - - Initializes a new instance. - The value tuple's first element. - The value tuple's second element. - The value tuple's third element. - The value tuple's fourth element. - - - -Compares the current instance to a specified instance. - The tuple to compare with this instance. - A signed integer that indicates the relative position of this instance and - in the sort order, as shown in the following able. - VaueDescriptionA negative integerThis instance precedes - . - ZeroThis instance and - have the same position in the sort order. - A positive integerThis instance follows - . - - - - Returns a value that indicates whether the current instance is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns a value that indicates whether the current instance is equal to a specified instance. - The value tuple to compare with this instance. - - if the current instance is equal to the specified tuple; otherwise, . - - - Calculates the hash code for the current instance. - The hash code for the current instance. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following able. VaueDescriptionA negative integerThis instance precedes . ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a value that indicates whether the current instance is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified objects; otherwise, . - - - Calculates the hash code for the current instance by using a specified computation method. - An object whose method calculates the hash code of the current instance. - A 32-bit signed integer hash code. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a string that represents the value of this instance. - The string representation of this instance. - - - Initializes a new instance. - The value tuple's first element. - The value tuple's second element. - The value tuple's third element. - The value tuple's fourth element. - The value tuple's fifth element. - - - Compares the current instance to a specified instance. - The tuple to compare with this instance. - A signed integer that indicates the relative position of this instance and - in the sort order, as shown in the following able. - VaueDescriptionA negative integerThis instance precedes - . - ZeroThis instance and - have the same position in the sort order. - A positive integerThis instance follows - . - - - - Returns a value that indicates whether the current instance is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns a value that indicates whether the current instance is equal to a specified instance. - The value tuple to compare with this instance. - - if the current instance is equal to the specified tuple; otherwise, . - - - Calculates the hash code for the current instance. - The hash code for the current instance. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following able. VaueDescriptionA negative integerThis instance precedes . ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a value that indicates whether the current instance is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified objects; otherwise, . - - - Calculates the hash code for the current instance by using a specified computation method. - An object whose method calculates the hash code of the current instance. - A 32-bit signed integer hash code. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a string that represents the value of this instance. - The string representation of this instance. - - - Initializes a new instance. - The value tuple's first element. - The value tuple's second element. - The value tuple's third element. - The value tuple's fourth element. - The value tuple's fifth element. - The value tuple's sixth element. - - - Compares the current instance to a specified instance. - The tuple to compare with this instance. - A signed integer that indicates the relative position of this instance and - in the sort order, as shown in the following able. - VaueDescriptionA negative integerThis instance precedes - . - ZeroThis instance and - have the same position in the sort order. - A positive integerThis instance follows - . - - - - Returns a value that indicates whether the current instance is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns a value that indicates whether the current instance is equal to a specified instance. - The value tuple to compare with this instance. - - if the current instance is equal to the specified tuple; otherwise, . - - - Calculates the hash code for the current instance. - The hash code for the current instance. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following able. VaueDescriptionA negative integerThis instance precedes . ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a value that indicates whether the current instance is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified objects; otherwise, . - - - Calculates the hash code for the current instance by using a specified computation method. - An object whose method calculates the hash code of the current instance. - A 32-bit signed integer hash code. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a string that represents the value of this instance. - The string representation of this instance. - - - Initializes a new instance. - The value tuple's first element. - The value tuple's second element. - The value tuple's third element. - The value tuple's fourth element. - The value tuple's fifth element. - The value tuple's sixth element. - The value tuple's seventh element. - - - Compares the current instance to a specified instance. - The tuple to compare with this instance. - A signed integer that indicates the relative position of this instance and - in the sort order, as shown in the following able. - VaueDescriptionA negative integerThis instance precedes - . - ZeroThis instance and - have the same position in the sort order. - A positive integerThis instance follows - . - - - - Returns a value that indicates whether the current instance is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns a value that indicates whether the current instance is equal to a specified instance. - The value tuple to compare with this instance. - - if the current instance is equal to the specified tuple; otherwise, . - - - Calculates the hash code for the current instance. - The hash code for the current instance. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following able. VaueDescriptionA negative integerThis instance precedes . ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a value that indicates whether the current instance is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified objects; otherwise, . - - - Calculates the hash code for the current instance by using a specified computation method. - An object whose method calculates the hash code of the current instance. - A 32-bit signed integer hash code. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a string that represents the value of this instance. - The string representation of this instance. - - - Initializes a new instance. - The value tuple's first element. - The value tuple's second element. - The value tuple's third element. - The value tuple's fourth element. - The value tuple's fifth element. - The value tuple's sixth element. - The value tuple's seventh element. - An instance of any value tuple type that contains the values of the value's tuple's remaining elements. - - is not a generic value tuple type. - - - Compares the current instance to a specified instance - The tuple to compare with this instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following able. VaueDescriptionA negative integerThis instance precedes . ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - - Returns a value that indicates whether the current instance is equal to a specified object. - The object to compare with this instance. - - if the current instance is equal to the specified object; otherwise, . - - - Returns a value that indicates whether the current instance is equal to a specified instance. - The value tuple to compare with this instance. - - if the current instance is equal to the specified tuple; otherwise, . - - - Calculates the hash code for the current instance. - The hash code for the current instance. - - - Compares the current instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - The object to compare with the current instance. - An object that provides custom rules for comparison. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following able. VaueDescriptionA negative integerThis instance precedes . ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a value that indicates whether the current instance is equal to a specified object based on a specified comparison method. - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - - if the current instance is equal to the specified objects; otherwise, . - - - Calculates the hash code for the current instance by using a specified computation method. - An object whose method calculates the hash code of the current instance. - A 32-bit signed integer hash code. - - - Compares the current object to a specified object and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. - An object to compare with the current instance. - A signed integer that indicates the relative position of this instance and in the sort order, as shown in the following table.ValueDescriptionA negative integerThis instance precedes .ZeroThis instance and have the same position in the sort order.A positive integerThis instance follows . - - is not a object. - - - Returns a string that represents the value of this instance. - The string representation of this instance. - - - Initializes a new instance of the class. - - - Indicates whether this instance and a specified object are equal. - The object to compare with the current instance. - - if and this instance are the same type and represent the same value; otherwise, . - - - Returns the hash code for this instance. - A 32-bit signed integer that is the hash code for this instance. - - - Returns the fully qualified type name of this instance. - The fully qualified type name. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class using the specified major and minor values. - The major version number. - The minor version number. - - or is less than zero. - - - Initializes a new instance of the class using the specified major, minor, and build values. - The major version number. - The minor version number. - The build number. - - , , or is less than zero. - - - Initializes a new instance of the class with the specified major, minor, build, and revision numbers. - The major version number. - The minor version number. - The build number. - The revision number. - - , , , or is less than zero. - - - Initializes a new instance of the class using the specified string. - A string containing the major, minor, build, and revision numbers, where each number is delimited with a period character ('.'). - - has fewer than two components or more than four components. - - is . - A major, minor, build, or revision component is less than zero. - At least one component of does not parse to an integer. - At least one component of represents a number greater than . - - - Returns a new object whose value is the same as the current object. - A new whose values are a copy of the current object. - - - Compares the current object to a specified object and returns an indication of their relative values. - An object to compare, or . - A signed integer that indicates the relative values of the two objects, as shown in the following table.Return value Meaning Less than zero The current object is a version before . Zero The current object is the same version as . Greater than zero The current object is a version subsequent to .-or- - is . - - is not of type . - - - Compares the current object to a specified object and returns an indication of their relative values. - A object to compare to the current object, or . - A signed integer that indicates the relative values of the two objects, as shown in the following table.Return value Meaning Less than zero The current object is a version before . Zero The current object is the same version as . Greater than zero The current object is a version subsequent to . -or- - is . - - - Returns a value indicating whether the current object is equal to a specified object. - An object to compare with the current object, or . - - if the current object and are both objects, and every component of the current object matches the corresponding component of ; otherwise, . - - - Returns a value indicating whether the current object and a specified object represent the same value. - A object to compare to the current object, or . - - if every component of the current object matches the corresponding component of the parameter; otherwise, . - - - Returns a hash code for the current object. - A 32-bit signed integer hash code. - - - Determines whether two specified objects are equal. - The first object. - The second object. - - if equals ; otherwise, . - - - Determines whether the first specified object is greater than the second specified object. - The first object. - The second object. - - if is greater than ; otherwise, . - - - Determines whether the first specified object is greater than or equal to the second specified object. - The first object. - The second object. - - if is greater than or equal to ; otherwise, . - - - Determines whether two specified objects are not equal. - The first object. - The second object. - - if does not equal ; otherwise, . - - - Determines whether the first specified object is less than the second specified object. - The first object. - The second object. - - if is less than ; otherwise, . - - is . - - - Determines whether the first specified object is less than or equal to the second object. - The first object. - The second object. - - if is less than or equal to ; otherwise, . - - is . - - - Converts the string representation of a version number to an equivalent object. - A string that contains a version number to convert. - An object that is equivalent to the version number specified in the parameter. - - is . - - has fewer than two or more than four version components. - At least one component in is less than zero. - At least one component in is not an integer. - At least one component in represents a number that is greater than . - - - Converts the value of the current object to its equivalent representation. - The representation of the values of the major, minor, build, and revision components of the current object, as depicted in the following format. Each component is separated by a period character ('.'). Square brackets ('[' and ']') indicate a component that will not appear in the return value if the component is not defined: major.minor[.build[.revision]] For example, if you create a object using the constructor Version(1,1), the returned string is "1.1". If you create a object using the constructor Version(1,3,4,2), the returned string is "1.3.4.2". - - - Converts the value of the current object to its equivalent representation. A specified count indicates the number of components to return. - The number of components to return. The ranges from 0 to 4. - The representation of the values of the major, minor, build, and revision components of the current object, each separated by a period character ('.'). The parameter determines how many components are returned.fieldCount Return Value 0 An empty string (""). 1 major 2 major.minor 3 major.minor.build 4 major.minor.build.revision For example, if you create object using the constructor Version(1,3,5), ToString(2) returns "1.3" and ToString(4) throws an exception. - - is less than 0, or more than 4.-or- - is more than the number of components defined in the current object. - - - Tries to convert the string representation of a version number to an equivalent object, and returns a value that indicates whether the conversion succeeded. - A string that contains a version number to convert. - When this method returns, contains the equivalent of the number that is contained in , if the conversion succeeded, or a object whose major and minor version numbers are 0 if the conversion failed. If is or , is when the method returns. - - if the parameter was converted successfully; otherwise, . - - - Initializes a new instance of the class, referencing the specified object. - The object to track or . - - - Initializes a new instance of the class, referencing the specified object and using the specified resurrection tracking. - An object to track. - Indicates when to stop tracking the object. If , the object is tracked after finalization; if , the object is only tracked until finalization. - - - Initializes a new instance of the class, using deserialized data from the specified serialization and stream objects. - An object that holds all the data needed to serialize or deserialize the current object. - (Reserved) Describes the source and destination of the serialized stream specified by . - - is . - - - Discards the reference to the target represented by the current object. - - - Populates a object with all the data needed to serialize the current object. - An object that holds all the data needed to serialize or deserialize the current object. - (Reserved) The location where serialized data is stored and retrieved. - - is . - - - Initializes a new instance of the class that references the specified object. - The object to reference, or . - - - Initializes a new instance of the class that references the specified object and uses the specified resurrection tracking. - The object to reference, or . - - to track the object after finalization; to track the object only until finalization. - - - Discards the reference to the target that is represented by the current object. - - - Populates a object with all the data necessary to serialize the current object. - An object that holds all the data necessary to serialize or deserialize the current object. - The location where serialized data is stored and retrieved. - - is . - - - Sets the target object that is referenced by this object. - The new target object. - - - Tries to retrieve the target object that is referenced by the current object. - When this method returns, contains the target object, if it is available. This parameter is treated as uninitialized. - - if the target was retrieved; otherwise, . - - - Gets a object that represents the registry key that the current object encapsulates. - The handle to the registry key. - The registry key is closed. Closed keys cannot be accessed. - The user does not have the necessary registry rights. - A system error occurred, such as deletion of the current key. - The user does not have the permissions required to read the key. - - - Retrieves the name of the key. - The absolute (qualified) name of the key. - The is closed (closed keys cannot be accessed). - - - Retrieves the count of subkeys of the current key. - The number of subkeys of the current key. - The user does not have read permission for the key. - The being manipulated is closed (closed keys cannot be accessed). - The user does not have the necessary registry rights. - A system error occurred, for example the current key has been deleted. - - - Retrieves the count of values in the key. - The number of name/value pairs in the key. - The user does not have read permission for the key. - The being manipulated is closed (closed keys cannot be accessed). - The user does not have the necessary registry rights. - A system error occurred, for example the current key has been deleted. - - - Gets the view that was used to create the registry key. - The view that was used to create the registry key.-or- - , if no view was used. - - - Gets a value that indicates whether the handle is invalid. - - if the handle is not valid; otherwise, . - - - Gets a value that indicates whether the handle is invalid. - - if the handle is not valid; otherwise, . - - - Returns an invalid handle by instantiating a object with . - Returns a object. - - - Gets a value that indicates whether the handle is invalid. - - if the handle is not valid; otherwise, . - - - Gets a value that indicates whether the handle is invalid. - - if the handle is not valid; otherwise, . - - - Gets a value that indicates whether the handle is invalid. - - if the handle is not valid; otherwise, . - - - Provides COM objects with version-independent access to the property. - The base directory that the assembly resolver uses to probe for assemblies. - - - Provides COM objects with version-independent access to the property. - Get the directory that the assembly resolver uses to probe for dynamically-created assemblies. - - - Provides COM objects with version-independent access to the property. - Gets the associated with this application domain that is used as input to the security policy. - - - Provides COM objects with version-independent access to the property. - The friendly name of this application domain. - - - Provides COM objects with version-independent access to the property. - The path under the base directory where the assembly resolver should probe for private assemblies. - - - Provides COM objects with version-independent access to the property. - - if the application domain is configured to shadow copy files; otherwise, . - - - Gets the ClickOnce application manifest for the current application. - A byte array that contains the ClickOnce application manifest for the application that is associated with this . - - - Gets the ClickOnce deployment manifest for the current application. - A byte array that contains the ClickOnce deployment manifest for the application that is associated with this . - - - Gets the form, or store context, for the current application. - One of the enumeration values. - - - Gets the application identity for the current application. - An object that identifies the current application. - - - Gets a read-only collection of the instances that caused the current exception. - Returns a read-only collection of the instances that caused the current exception. - - - Gets the pathname of the base directory that the assembly resolver uses to probe for assemblies. - the pathname of the base directory that the assembly resolver uses to probe for assemblies. - - - Gets the name of the framework version targeted by the current application. - The name of the framework version targeted by the current application. - - - Gets the activation context for the current application domain. - An object that represents the activation context for the current application domain, or if the domain has no activation context. - - - Gets the identity of the application in the application domain. - An object that identifies the application in the application domain. - - - Gets information describing permissions granted to an application and whether the application has a trust level that allows it to run. - An object that encapsulates permission and trust information for the application in the application domain. - - - Gets the base directory that the assembly resolver uses to probe for assemblies. - The base directory that the assembly resolver uses to probe for assemblies. - The operation is attempted on an unloaded application domain. - - - Gets the current application domain for the current . - The current application domain. - - - Gets the domain manager that was provided by the host when the application domain was initialized. - An object that represents the domain manager provided by the host when the application domain was initialized, or if no domain manager was provided. - - - Gets the directory that the assembly resolver uses to probe for dynamically created assemblies. - The directory that the assembly resolver uses to probe for dynamically created assemblies. - The operation is attempted on an unloaded application domain. - - - Gets the associated with this application domain. - The evidence associated with this application domain. - The operation is attempted on an unloaded application domain. - - - Gets the friendly name of this application domain. - The friendly name of this application domain. - The operation is attempted on an unloaded application domain. - - - Gets an integer that uniquely identifies the application domain within the process. - An integer that identifies the application domain. - - - Gets a value that indicates whether assemblies that are loaded into the current application domain execute with full trust. - - if assemblies that are loaded into the current application domain execute with full trust; otherwise, . - - - Gets a value that indicates whether the current application domain has a set of permissions that is granted to all assemblies that are loaded into the application domain. - - if the current application domain has a homogenous set of permissions; otherwise, . - - - Gets or sets a value that indicates whether CPU and memory monitoring of application domains is enabled for the current process. Once monitoring is enabled for a process, it cannot be disabled. - - if monitoring is enabled; otherwise . - The current process attempted to assign the value to this property. - - - - Gets the number of bytes that survived the last collection and that are known to be referenced by the current application domain. - The number of surviving bytes. - The ( in Visual Basic) property is set to . - - - Gets the total bytes that survived from the last collection for all application domains in the process. - The total number of surviving bytes for the process. - The ( in Visual Basic) property is set to . - - - Gets the total size, in bytes, of all memory allocations that have been made by the application domain since it was created, without subtracting memory that has been collected. - The total size of all memory allocations. - The ( in Visual Basic) property is set to . - - - Gets the total processor time that has been used by all threads while executing in the current application domain, since the process started. - Total processor time for the current application domain. - The ( in Visual Basic) property is set to . - - - Gets the permission set of a sandboxed application domain. - The permission set of the sandboxed application domain. - - - Gets the path under the base directory where the assembly resolver should probe for private assemblies. - The path under the base directory where the assembly resolver should probe for private assemblies. - The operation is attempted on an unloaded application domain. - - - Gets the application domain configuration information for this instance. - The application domain initialization information. - The operation is attempted on an unloaded application domain. - - - Gets an indication whether the application domain is configured to shadow copy files. - - if the application domain is configured to shadow copy files; otherwise, . - The operation is attempted on an unloaded application domain. - - - Gets the application activator that handles the activation of add-ins and manifest-based applications for the domain. - The application activator. - - - Gets the entry assembly for an application. - The entry assembly for the application. - - - Gets the host execution context manager that manages the flow of the execution context. - The host execution context manager. - - - Gets the host security manager that participates in security decisions for the application domain. - The host security manager. - - - Gets the initialization flags for custom application domain managers. - A bitwise combination of the enumeration values that describe the initialization action to perform. The default is . - - - Gets or sets data about the activation of an application domain. - An object that contains data about the activation of an application domain. - The property is set to an object whose application identity does not match the application identity of the object returned by the property. No exception is thrown if the property is . - - - Gets or sets the delegate, which represents a callback method that is invoked when the application domain is initialized. - A delegate that represents a callback method that is invoked when the application domain is initialized. - - - Gets or sets the arguments passed to the callback method represented by the delegate. The callback method is invoked when the application domain is initialized. - An array of strings that is passed to the callback method represented by the delegate, when the callback method is invoked during initialization. - - - Gets or sets the display name of the assembly that provides the type of the application domain manager for application domains created using this object. - The display name of the assembly that provides the of the application domain manager. - - - Gets or sets the full name of the type that provides the application domain manager for application domains created using this object. - The full name of the type, including the namespace. - - - Gets or sets the name of the directory containing the application. - The name of the application base directory. - - - Gets or sets the name of the application. - The name of the application. - - - Gets or sets an object containing security and trust information. - An object that contains security and trust information. - The property is set to an object whose application identity does not match the application identity of the object returned by the property. No exception is thrown if the property is . - The property is set to . - - - Gets or sets the name of an area specific to the application where files are shadow copied. - The fully qualified name of the directory path and file name where files are shadow copied. - - - Gets or sets the name of the configuration file for an application domain. - The name of the configuration file. - - - Specifies whether the application base path and private binary path are probed when searching for assemblies to load. - - if probing is not allowed; otherwise, . The default is . - - - Gets or sets a value that indicates whether an application domain allows assembly binding redirection. - - if redirection of assemblies is not allowed; if it is allowed. - - - Gets or sets a value that indicates whether HTTP download of assemblies is allowed for an application domain. - - if HTTP download of assemblies is not allowed; if it is allowed. - - - Gets or sets a value that indicates whether the <publisherPolicy> section of the configuration file is applied to an application domain. - - if the section of the configuration file for an application domain is ignored; if the declared publisher policy is honored. - - - Gets or sets the base directory where the directory for dynamically generated files is located. - The directory where the is located. - The return value of this property is different from the value assigned. See the Remarks section. - This property cannot be set because the application name on the application domain is . - - - Gets or sets the location of the license file associated with this domain. - The location and name of the license file. - - - Specifies the optimization policy used to load an executable. - An enumerated constant that is used with the . - - - Gets or sets a list of assemblies marked with the flag that are made visible to partial-trust code running in a sandboxed application domain. - An array of partial assembly names, where each partial name consists of the simple assembly name and the public key. - - - Gets or sets the list of directories under the application base directory that are probed for private assemblies. - A list of directory names separated by semicolons. - - - Gets or sets a string value that includes or excludes from the search path for the application, and searches only . - - A null reference ( in Visual Basic) to include the application base path when searching for assemblies; any non-null string value to exclude the path. The default value is . - - - Gets or sets a value that indicates whether interface caching is disabled for interop calls in the application domain, so that a QueryInterface is performed on each call. - - if interface caching is disabled for interop calls in application domains created with the current object; otherwise, . - - - Gets or sets the names of the directories containing assemblies to be shadow copied. - A list of directory names separated by semicolons. - - - Gets or sets a string that indicates whether shadow copying is turned on or off. - The string value "true" to indicate that shadow copying is turned on; or "false" to indicate that shadow copying is turned off. - - - Gets or sets a string that specifies the target version and profile of the .NET Framework for the application domain, in a format that can be parsed by the constructor. - The target version and profile of the .NET Framework. - - - Gets a string representing the culture information for the application. - The culture information for the application. - - - Gets the name of the application. - The name of the application. - - - Gets the target processor architecture for the application. - The processor architecture of the application. - - - Gets the public key token for the application. - A byte array containing the public key token for the application. - - - Gets the version of the application. - A that specifies the version of the application. - - - Gets the location of the deployment manifest as a URL. - The URL of the deployment manifest. - - - Gets the full name of the application. - The full name of the application, also known as the display name. - - - Gets the error message and the parameter name, or only the error message if no parameter name is set. - A text string describing the details of the exception. The value of this property takes one of two forms: Condition Value The is a null reference ( in Visual Basic) or of zero length. The string passed to the constructor. The is not null reference ( in Visual Basic) and it has a length greater than zero. The string appended with the name of the invalid parameter. - - - Gets the name of the parameter that causes this exception. - The parameter name. - - - Gets the argument value that causes this exception. - An that contains the value of the parameter that caused the current . - - - Gets the error message and the string representation of the invalid argument value, or only the error message if the argument value is null. - The text message for this exception. The value of this property takes one of two forms, as follows.Condition Value The is . The string passed to the constructor. The is not . The string appended with the string representation of the invalid argument value. - - - Gets a value indicating whether the has a fixed size. - This property is always for all arrays. - - - Gets a value indicating whether the is read-only. - This property is always for all arrays. - - - Gets a value indicating whether access to the is synchronized (thread safe). - This property is always for all arrays. - - - Gets the total number of elements in all the dimensions of the . - The total number of elements in all the dimensions of the ; zero if there are no elements in the array. - The array is multidimensional and contains more than elements. - - - Gets a 64-bit integer that represents the total number of elements in all the dimensions of the . - A 64-bit integer that represents the total number of elements in all the dimensions of the . - - - Gets the rank (number of dimensions) of the . For example, a one-dimensional array returns 1, a two-dimensional array returns 2, and so on. - The rank (number of dimensions) of the . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . - - - Gets the number of elements contained in the . - The number of elements contained in the collection. - - - Gets or sets the element at the specified index. - The index of the element to get or set. - The element at the specified index. - - is less than zero.-or- - is equal to or greater than . - The current does not have exactly one dimension. - - - Gets the original array containing the range of elements that the array segment delimits. - The original array that was passed to the constructor, and that contains the range delimited by the . - - - Gets the number of elements in the range delimited by the array segment. - The number of elements in the range delimited by the . - - - Gets the position of the first element in the range delimited by the array segment, relative to the start of the original array. - The position of the first element in the range delimited by the , relative to the start of the original array. - - - Gets a value that indicates whether the array segment is read-only. - - if the array segment is read-only; otherwise, . - - - Gets or sets the element at the specified index. - The zero-based index of the element to get or set. - The element at the specified index. - - is not a valid index in the . - The property is set and the array segment is read-only. - - - Gets the element at the specified index of the array segment. - The zero-based index of the element to get. - The element at the specified index. - - is not a valid index in the . - The property is set. - - - Gets an that represents the currently loaded assembly. - An instance of that represents the currently loaded assembly. - - - When implemented in a derived class, gets a unique identifier for this . - An that is a unique identifier for the attribute. - - - Gets or sets a Boolean value indicating whether more than one instance of the indicated attribute can be specified for a single program element. - - if more than one instance is allowed to be specified; otherwise, . The default is . - - - Gets or sets a value that determines whether the indicated attribute is inherited by derived classes and overriding members. - - if the attribute can be inherited by derived classes and overriding members; otherwise, . The default is . - - - Gets a set of values identifying which program elements that the indicated attribute can be applied to. - One or several values. The default is . - - - Gets the name of the file that causes this exception. - The name of the file with the invalid image, or a null reference if no file name was passed to the constructor for the current instance. - - - Gets the log file that describes why an assembly load failed. - A containing errors reported by the assembly cache. - - - Gets the error message and the name of the file that caused this exception. - A string containing the error message and the name of the file that caused this exception. - - - Gets the currently referenced character in the string enumerated by this object. - The Unicode character currently referenced by this object. - The index is invalid; that is, it is before the first or after the last character of the enumerated string. - - - Gets the currently referenced character in the string enumerated by this object. For a description of this member, see . - The boxed Unicode character currently referenced by this object. - Enumeration has not started.-or-Enumeration has ended. - - - Gets the Boolean value indicating whether the indicated program element is CLS-compliant. - - if the program element is CLS-compliant; otherwise, . - - - Gets or sets the number of elements that the can contain. - The number of elements that the can contain. - - is set to a value that is less than . - There is not enough memory available on the system. - - - Gets the number of elements actually contained in the . - The number of elements actually contained in the . - - - Gets a value indicating whether the has a fixed size. - - if the has a fixed size; otherwise, . The default is . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . The default is . - - - Gets a value indicating whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . The default is . - - - Gets or sets the element at the specified index. - The zero-based index of the element to get or set. - The element at the specified index. - - is less than zero.-or- - is equal to or greater than . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . - - - Gets the number of elements contained in the . - The number of elements contained in the . - - - Gets a value indicating whether the is read-only. - This property is always . - - - Gets a value indicating whether access to the is synchronized (thread safe). - This property is always . - - - Gets or sets the value of the bit at a specific position in the . - The zero-based index of the value to get or set. - The value of the bit at position . - - is less than zero.-or- - is equal to or greater than . - - - Gets or sets the number of elements in the . - The number of elements in the . - The property is set to a value that is less than zero. - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . - - - Gets an instance of that is associated with the of the current thread and that is always available. - An instance of that is associated with the of the current thread. - - - Gets an instance of that is associated with and that is always available. - An instance of that is associated with . - - - Gets an instance of that is associated with the of the current thread and that is always available. - An instance of that is associated with the of the current thread. - - - Gets an instance of that is associated with and that is always available. - An instance of that is associated with . - - - Gets or sets the number of elements that the can contain. - The number of elements that the can contain. - - is set to a value that is less than . - There is not enough memory available on the system. - - - Gets the number of elements contained in the instance. This property cannot be overridden. - The number of elements contained in the instance.Retrieving the value of this property is an O(1) operation. - - - Gets an containing the list of elements in the instance. - An representing the instance itself.Retrieving the value of this property is an O(1) operation. - - - Gets an containing the list of elements in the instance. - An representing the instance itself. - - - Gets a value indicating whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . The default is . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . - - - Gets a value indicating whether the has a fixed size. - - if the has a fixed size; otherwise, . The default is . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . The default is . - - - Gets or sets the element at the specified index. - The zero-based index of the element to get or set. - The element at the specified index. - - is less than zero.-or- - is equal to or greater than . - - - Gets the number of key/value pairs contained in the . - The number of key/value pairs contained in the . - The dictionary already contains the maximum number of elements (). - - - Gets a value that indicates whether the is empty. - - if the is empty; otherwise, . - - - Gets or sets the value associated with the specified key. - The key of the value to get or set. - The value of the key/value pair at the specified index. - - is . - The property is retrieved and does not exist in the collection. - - - Gets a collection containing the keys in the . - A collection of keys in the . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . - - - Gets a collection containing the keys in the . - A collection containing the keys in the . - - - Gets a collection that contains the values in the . - A collection that contains the values in the . - - - Gets a value indicating whether access to the is synchronized with the SyncRoot. - - if access to the is synchronized (thread safe); otherwise, . For this property always returns false. - - - Gets an object that can be used to synchronize access to the . This property is not supported. - Always returns null. - This property is not supported. - - - Gets a value indicating whether the has a fixed size. - - if the has a fixed size; otherwise, . For , this property always returns . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . For , this property always returns . - - - Gets or sets the value associated with the specified key. - The key of the value to get or set. - The value associated with the specified key, or if is not in the dictionary or is of a type that is not assignable to the key type of the . - - is . - A value is being assigned, and is of a type that is not assignable to the key type or the value type of the . - - - Gets an that contains the keys of the . - An interface that contains the keys of the . - - - Gets an that contains the values in the . - An interface that contains the values in the . - - - Gets a collection that contains the values in the . - A collection that contains the values in the . - - - Gets the number of elements contained in the . - The number of elements contained in the . - - - Gets a value that indicates whether the is empty. - true if the is empty; otherwise, false. - - - Gets a value indicating whether access to the is synchronized with the SyncRoot. - true if access to the is synchronized with the SyncRoot; otherwise, false. For , this property always returns false. - - - Gets an object that can be used to synchronize access to the . This property is not supported. - Returns null (Nothing in Visual Basic). - The SyncRoot property is not supported. - - - Gets the number of elements contained in the . - The number of elements contained in the . - - - Gets a value that indicates whether the is empty. - true if the is empty; otherwise, false. - - - Gets a value indicating whether access to the is synchronized with the SyncRoot. - true if access to the is synchronized with the SyncRoot; otherwise, false. For , this property always returns false. - - - Gets an object that can be used to synchronize access to the . This property is not supported. - Returns null (Nothing in Visual Basic). - The SyncRoot property is not supported - - - Gets whether order keys are normalized. - true if the keys are normalized; otherwise false. - - - Gets whether elements in an earlier partition always come before elements in a later partition. - true if the elements in an earlier partition always come before elements in a later partition; otherwise false. - - - Gets whether elements in each partition are yielded in the order of increasing keys. - true if the elements in each partition are yielded in the order of increasing keys; otherwise false. - - - Gets whether additional partitions can be created dynamically. - true if the can create partitions dynamically as they are requested; false if the can only allocate partitions statically. - - - Gets the number of elements contained in the instance. - The number of elements contained in the instance. - - - Gets the list of elements contained in the instance. - An representing the instance itself. - - - Gets the list of elements contained in the instance. - A representing the instance itself. - - - Gets a value indicating whether access to a object is synchronized (thread safe). - - if access to the object is synchronized (thread safe); otherwise, . The default is . - - - Gets an object that can be used to synchronize access to a object. - An object that can be used to synchronize access to the object. - - - Gets a value indicating whether a object has a fixed size. - - if the object has a fixed size; otherwise, . The default is . - - - Gets a value indicating whether a object is read-only. - - if the object is read-only; otherwise, . The default is . - - - Gets or sets the value associated with the specified key. - The key whose value to get or set. - The value associated with the specified key. If the specified key is not found, attempting to get it returns , and attempting to set it creates a new element using the specified key. - - is . - The property is set and the is read-only.-or- The property is set, does not exist in the collection, and the has a fixed size. - - - Gets an object containing the keys in the object. - An object containing the keys in the object. - - - Gets an object containing the values in the object. - An object containing the values in the object. - - - Gets or sets the key in the key/value pair. - The key in the key/value pair. - - - Gets or sets the value in the key/value pair. - The value in the key/value pair. - - - Returns a default sort order comparer for the type specified by the generic argument. - An object that inherits and serves as a sort order comparer for type . - - - Gets the that is used to determine equality of keys for the dictionary. - The generic interface implementation that is used to determine equality of keys for the current and to provide hash values for the keys. - - - Gets the number of key/value pairs contained in the . - The number of key/value pairs contained in the . - - - Gets the element at the current position of the enumerator. - The element in the at the current position of the enumerator. - - - Gets the element at the current position of the enumerator. - The element in the dictionary at the current position of the enumerator, as a . - The enumerator is positioned before the first element of the collection or after the last element. - - - Gets the key of the element at the current position of the enumerator. - The key of the element in the dictionary at the current position of the enumerator. - The enumerator is positioned before the first element of the collection or after the last element. - - - Gets the value of the element at the current position of the enumerator. - The value of the element in the dictionary at the current position of the enumerator. - The enumerator is positioned before the first element of the collection or after the last element. - - - Gets the element at the current position of the enumerator. - The element in the collection at the current position of the enumerator, as an . - The enumerator is positioned before the first element of the collection or after the last element. - - - Gets or sets the value associated with the specified key. - The key of the value to get or set. - The value associated with the specified key. If the specified key is not found, a get operation throws a , and a set operation creates a new element with the specified key. - - is . - The property is retrieved and does not exist in the collection. - - - Gets the number of elements contained in the . - The number of elements contained in the .Retrieving the value of this property is an O(1) operation. - - - Gets the element at the current position of the enumerator. - The element in the at the current position of the enumerator. - - - Gets the element at the current position of the enumerator. - The element in the collection at the current position of the enumerator. - The enumerator is positioned before the first element of the collection or after the last element. - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . In the default implementation of , this property always returns . - - - Gets a value indicating whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . In the default implementation of , this property always returns . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . In the default implementation of , this property always returns the current instance. - - - Gets a collection containing the keys in the . - A containing the keys in the . - - - Gets a value indicating whether the dictionary is read-only. - - if the is read-only; otherwise, . In the default implementation of , this property always returns . - - - Gets an containing the keys of the . - An of type containing the keys of the . - - - Gets an containing the values in the . - An of type containing the values in the . - - - Gets a collection containing the keys of the . - A collection containing the keys of the . - - - Gets a collection containing the values of the . - A collection containing the values of the . - - - Gets a value indicating whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . In the default implementation of , this property always returns . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . - - - Gets a value indicating whether the has a fixed size. - - if the has a fixed size; otherwise, . In the default implementation of , this property always returns . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . In the default implementation of , this property always returns . - - - Gets or sets the value with the specified key. - The key of the value to get. - The value associated with the specified key, or if is not in the dictionary or is of a type that is not assignable to the key type of the . - - is . - A value is being assigned, and is of a type that is not assignable to the key type of the .-or- - A value is being assigned, and is of a type that is not assignable to the value type of the . - - - Gets an containing the keys of the . - An containing the keys of the . - - - Gets an containing the values in the . - An containing the values in the . - - - Gets the number of elements contained in the . - The number of elements contained in the . - - - Gets the element at the current position of the enumerator. - The element in the at the current position of the enumerator. - - - Gets the element at the current position of the enumerator. - The element in the collection at the current position of the enumerator. - The enumerator is positioned before the first element of the collection or after the last element. - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . In the default implementation of , this property always returns . - - - Gets a value indicating whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . In the default implementation of , this property always returns . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . In the default implementation of , this property always returns the current instance. - - - Gets a collection containing the values in the . - A containing the values in the . - - - Returns a default equality comparer for the type specified by the generic argument. - The default instance of the class for type . - - - Gets the number of elements contained in the . - The number of elements contained in the . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . - - - Gets or sets the element with the specified key. - The key of the element to get or set. - The element with the specified key. - - is . - The property is retrieved and is not found. - The property is set and the is read-only. - - - Gets an containing the keys of the . - An containing the keys of the object that implements . - - - Gets an containing the values in the . - An containing the values in the object that implements . - - - Gets the element in the collection at the current position of the enumerator. - The element in the collection at the current position of the enumerator. - - - Gets or sets the element at the specified index. - The zero-based index of the element to get or set. - The element at the specified index. - - is not a valid index in the . - The property is set and the is read-only. - - - Gets the number of elements in the collection. - The number of elements in the collection. - - - Gets the element that has the specified key in the read-only dictionary. - The key to locate. - The element that has the specified key in the read-only dictionary. - - is . - The property is retrieved and is not found. - - - Gets an enumerable collection that contains the keys in the read-only dictionary. - An enumerable collection that contains the keys in the read-only dictionary. - - - Gets an enumerable collection that contains the values in the read-only dictionary. - An enumerable collection that contains the values in the read-only dictionary. - - - Gets the element at the specified index in the read-only list. - The zero-based index of the element to get. - The element at the specified index in the read-only list. - - - Gets the key in the key/value pair. - A that is the key of the . - - - Gets the value in the key/value pair. - A that is the value of the . - - - Gets or sets the total number of elements the internal data structure can hold without resizing. - The number of elements that the can contain before resizing is required. - - is set to a value that is less than . - There is not enough memory available on the system. - - - Gets the number of elements contained in the . - The number of elements contained in the . - - - Gets the element at the current position of the enumerator. - The element in the at the current position of the enumerator. - - - Gets the element at the current position of the enumerator. - The element in the at the current position of the enumerator. - The enumerator is positioned before the first element of the collection or after the last element. - - - Gets or sets the element at the specified index. - The zero-based index of the element to get or set. - The element at the specified index. - - is less than 0.-or- - is equal to or greater than . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . In the default implementation of , this property always returns . - - - Gets a value indicating whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . In the default implementation of , this property always returns . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . In the default implementation of , this property always returns the current instance. - - - Gets a value indicating whether the has a fixed size. - - if the has a fixed size; otherwise, . In the default implementation of , this property always returns . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . In the default implementation of , this property always returns . - - - Gets or sets the element at the specified index. - The zero-based index of the element to get or set. - The element at the specified index. - - is not a valid index in the . - The property is set and is of a type that is not assignable to the . - - - Gets or sets the to use for the . - The to use for the . - The property is set to a value, but the hash table was created using an . - - - Gets the number of key/value pairs contained in the . - The number of key/value pairs contained in the . - - - Gets the to use for the . - The to use for the . - The property is set to a value, but the hash table was created using an and an . - - - Gets or sets the object that can dispense hash codes. - The object that can dispense hash codes. - The property is set to a value, but the hash table was created using an . - - - Gets a value indicating whether the has a fixed size. - - if the has a fixed size; otherwise, . The default is . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . The default is . - - - Gets a value indicating whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . The default is . - - - Gets or sets the value associated with the specified key. - The key whose value to get or set. - The value associated with the specified key. If the specified key is not found, attempting to get it returns , and attempting to set it creates a new element using the specified key. - - is . - The property is set and the is read-only.-or- The property is set, does not exist in the collection, and the has a fixed size. - - - Gets an containing the keys in the . - An containing the keys in the . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . - - - Gets an containing the values in the . - An containing the values in the . - - - Gets the number of elements contained in the . - The number of elements contained in the . - - - Gets a value indicating whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . - - - Gets a value indicating whether the object has a fixed size. - - if the object has a fixed size; otherwise, . - - - Gets a value indicating whether the object is read-only. - - if the object is read-only; otherwise, . - - - Gets or sets the element with the specified key. - The key of the element to get or set. - The element with the specified key, or if the key does not exist. - - is . - The property is set and the object is read-only.-or- The property is set, does not exist in the collection, and the has a fixed size. - - - Gets an object containing the keys of the object. - An object containing the keys of the object. - - - Gets an object containing the values in the object. - An object containing the values in the object. - - - Gets both the key and the value of the current dictionary entry. - A containing both the key and the value of the current dictionary entry. - The is positioned before the first entry of the dictionary or after the last entry. - - - Gets the key of the current dictionary entry. - The key of the current element of the enumeration. - The is positioned before the first entry of the dictionary or after the last entry. - - - Gets the value of the current dictionary entry. - The value of the current element of the enumeration. - The is positioned before the first entry of the dictionary or after the last entry. - - - Gets the element in the collection at the current position of the enumerator. - The element in the collection at the current position of the enumerator. - - - Gets a value indicating whether the has a fixed size. - - if the has a fixed size; otherwise, . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . - - - Gets or sets the element at the specified index. - The zero-based index of the element to get or set. - The element at the specified index. - - is not a valid index in the . - The property is set and the is read-only. - - - Gets the number of elements actually contained in the . - The number of elements actually contained in the . - - - Gets or sets the element at the specified index. - The zero-based index of the element to get or set. - The element at the specified index. - - is less than zero.-or- - is equal to or greater than . - - - Gets a wrapper around the . - A wrapper around the . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . In the default implementation of , this property always returns . - - - Gets a value indicating whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . In the default implementation of , this property always returns . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . In the default implementation of , this property always returns the current instance. - - - Gets a value indicating whether the has a fixed size. - - if the has a fixed size; otherwise, . In the default implementation of , this property always returns . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . In the default implementation of , this property always returns . - - - Gets or sets the element at the specified index. - The zero-based index of the element to get or set. - The element at the specified index. - - is not a valid index in the . - The property is set and is of a type that is not assignable to the . - - - Gets the generic equality comparer that is used to determine equality of keys in the collection. - The implementation of the generic interface that is used to determine equality of keys in the collection. - - - Gets the lookup dictionary of the . - The lookup dictionary of the , if it exists; otherwise, . - - - Gets the element with the specified key. - The key of the element to get. - The element with the specified key. If an element with the specified key is not found, an exception is thrown. - - is . - An element with the specified key does not exist in the collection. - - - Gets the number of elements contained in the instance. - The number of elements contained in the instance. - - - Gets the element at the specified index. - The zero-based index of the element to get. - The element at the specified index. - - is less than zero.-or- - is equal to or greater than . - - - Returns the that the wraps. - The that the wraps. - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . In the default implementation of , this property always returns . - - - Gets the element at the specified index. An occurs if you try to set the item at the specified index. - The zero-based index of the element to get. - The element at the specified index. - Always thrown if the property is set. - - - Gets a value indicating whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . In the default implementation of , this property always returns . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . In the default implementation of , this property always returns the current instance. - - - Gets a value indicating whether the has a fixed size. - - if the has a fixed size; otherwise, . In the default implementation of , this property always returns . - - - Gets a value indicating whether the is read-only. - - if the is read-only; otherwise, . In the default implementation of , this property always returns . - - - Gets the element at the specified index. A occurs if you try to set the item at the specified index. - The zero-based index of the element to get. - The element at the specified index. - - is not a valid index in the . - Always thrown if the property is set. - - - Gets the number of items in the dictionary. - The number of items in the dictionary. - - - Gets the dictionary that is wrapped by this object. - The dictionary that is wrapped by this object. - - - Gets the element that has the specified key. - The key of the element to get. - The element that has the specified key. - - is . - The property is retrieved and is not found. - - - Gets the number of elements in the collection. - The number of elements in the collection. - - - Gets a value that indicates whether the dictionary is read-only. - - in all cases. - - - Gets a value that indicates whether access to the collection is synchronized (thread safe). - - if access to the collection is synchronized (thread safe); otherwise, . - - - Gets an object that can be used to synchronize access to the collection. - An object that can be used to synchronize access to the collection. - - - Gets a key collection that contains the keys of the dictionary. - A key collection that contains the keys of the dictionary. - - - Gets a value that indicates whether the dictionary is read-only. - - in all cases. - - - - Gets the element that has the specified key. - The key of the element to get or set. - The element that has the specified key. - - is . - The property is retrieved and is not found. - The property is set. - - - Gets a collection that contains the keys of the dictionary. - A collection that contains the keys of the object that implements . - - - Gets a collection that contains the values in the dictionary. - A collection that contains the values in the object that implements . - - - Gets an enumerable collection that contains the keys in the read-only dictionary. - An enumerable collection that contains the keys in the read-only dictionary. - - - Gets an enumerable collection that contains the values in the read-only dictionary. - An enumerable collection that contains the values in the read-only dictionary. - - - Gets a value that indicates whether access to the dictionary is synchronized (thread safe). - - if access to the dictionary is synchronized (thread safe); otherwise, . - - - Gets an object that can be used to synchronize access to the dictionary. - An object that can be used to synchronize access to the dictionary. - - - Gets a value that indicates whether the dictionary has a fixed size. - - if the dictionary has a fixed size; otherwise, . - - - Gets a value that indicates whether the dictionary is read-only. - - in all cases. - - - Gets the element that has the specified key. - The key of the element to get or set. - The element that has the specified key. - - is . - The property is set.-or- The property is set, does not exist in the collection, and the dictionary has a fixed size. - - - Gets a collection that contains the keys of the dictionary. - A collection that contains the keys of the dictionary. - - - Gets a collection that contains the values in the dictionary. - A collection that contains the values in the dictionary. - - - Gets the number of elements in the collection. - The number of elements in the collection. - - - Gets a value that indicates whether the collection is read-only. - - in all cases. - - - Gets a value that indicates whether access to the collection is synchronized (thread safe). - - if access to the collection is synchronized (thread safe); otherwise, . - - - Gets an object that can be used to synchronize access to the collection. - An object that can be used to synchronize access to the collection. - - - Gets a collection that contains the values in the dictionary. - A collection that contains the values in the object that implements . - - - Gets the number of elements contained in the . - The number of elements contained in the . - - - Gets a value indicating whether access to the is synchronized (thread safe). - - if access to the is synchronized (thread safe); otherwise, . The default is . - - - Gets an object that can be used to synchronize access to the . - An object that can be used to synchronize access to the . - - - Gets the number of elements contained in the instance. - The number of elements contained in the instance.Retrieving the value of this property is an O(1) operation. - - - Gets the list of elements contained in the instance. - An representing the instance itself. - - - Gets a value indicating whether access to a object is synchronized (thread safe). - - if access to the object is synchronized (thread safe); otherwise, . The default is . - - - Gets an object that can be used to synchronize access to a object. - An object that can be used to synchronize access to the object. - - - Gets or sets the capacity of a object. - The number of elements that the object can contain. - The value assigned is less than the current number of elements in the object. - There is not enough memory available on the system. - - - Gets the number of elements contained in a object. - The number of elements contained in the object. - - - Gets a value indicating whether a object has a fixed size. - - if the object has a fixed size; otherwise, . The default is . - - - Gets a value indicating whether a object is read-only. - - if the object is read-only; otherwise, . The default is . - - - Gets a value indicating whether access to a object is synchronized (thread safe). - - if access to the object is synchronized (thread safe); otherwise, . The default is . - - - Gets and sets the value associated with a specific key in a object. - The key associated with the value to get or set. - The value associated with the parameter in the object, if is found; otherwise, . - - is . - The property is set and the object is read-only.-or- The property is set, does not exist in the collection, and the has a fixed size. - There is not enough available memory to add the element to the . - The comparer throws an exception. - - - Gets the keys in a object. - An object containing the keys in the object. - - - Gets an object that can be used to synchronize access to a object. - An object that can be used to synchronize access to the object. - - - Gets the values in a object. - An object containing the values in the object. - - - Gets the number of elements contained in the . - The number of elements contained in the . - - - Gets a value indicating whether access to the is synchronized (thread safe). - - , if access to the is synchronized (thread safe); otherwise, . The default is . - - - Gets an object that can be used to synchronize access to the . - An that can be used to synchronize access to the . - - - Gets a predefined object that performs a structural comparison of two objects. - A predefined object that is used to perform a structural comparison of two collection objects. - - - Gets a predefined object that compares two objects for structural equality. - A predefined object that is used to compare two collection objects for structural equality. - - - Gets or sets the hash algorithm. - An assembly hash algorithm. - - - Gets or sets the background color of the console. - A value that specifies the background color of the console; that is, the color that appears behind each character. The default is black. - The color specified in a set operation is not a valid member of . - The user does not have permission to perform this action. - An I/O error occurred. - - - Gets or sets the height of the buffer area. - The current height, in rows, of the buffer area. - The value in a set operation is less than or equal to zero.-or- The value in a set operation is greater than or equal to .-or- The value in a set operation is less than + . - The user does not have permission to perform this action. - An I/O error occurred. - - - Gets or sets the width of the buffer area. - The current width, in columns, of the buffer area. - The value in a set operation is less than or equal to zero.-or- The value in a set operation is greater than or equal to .-or- The value in a set operation is less than + . - The user does not have permission to perform this action. - An I/O error occurred. - - - Gets a value indicating whether the CAPS LOCK keyboard toggle is turned on or turned off. - - if CAPS LOCK is turned on; if CAPS LOCK is turned off. - - - Gets or sets the column position of the cursor within the buffer area. - The current position, in columns, of the cursor. - The value in a set operation is less than zero.-or- The value in a set operation is greater than or equal to . - The user does not have permission to perform this action. - An I/O error occurred. - - - Gets or sets the height of the cursor within a character cell. - The size of the cursor expressed as a percentage of the height of a character cell. The property value ranges from 1 to 100. - The value specified in a set operation is less than 1 or greater than 100. - The user does not have permission to perform this action. - An I/O error occurred. - - - Gets or sets the row position of the cursor within the buffer area. - The current position, in rows, of the cursor. - The value in a set operation is less than zero.-or- The value in a set operation is greater than or equal to . - The user does not have permission to perform this action. - An I/O error occurred. - - - Gets or sets a value indicating whether the cursor is visible. - - if the cursor is visible; otherwise, . - The user does not have permission to perform this action. - An I/O error occurred. - - - Gets the standard error output stream. - A that represents the standard error output stream. - - - Gets or sets the foreground color of the console. - A that specifies the foreground color of the console; that is, the color of each character that is displayed. The default is gray. - The color specified in a set operation is not a valid member of . - The user does not have permission to perform this action. - An I/O error occurred. - - - Gets the standard input stream. - A that represents the standard input stream. - - - Gets or sets the encoding the console uses to read input. - The encoding used to read console input. - The property value in a set operation is . - An error occurred during the execution of this operation. - Your application does not have permission to perform this operation. - - - Gets a value that indicates whether the error output stream has been redirected from the standard error stream. - - if error output is redirected; otherwise, . - - - Gets a value that indicates whether input has been redirected from the standard input stream. - - if input is redirected; otherwise, . - - - Gets a value that indicates whether output has been redirected from the standard output stream. - - if output is redirected; otherwise, . - - - Gets a value indicating whether a key press is available in the input stream. - - if a key press is available; otherwise, . - An I/O error occurred. - Standard input is redirected to a file instead of the keyboard. - - - Gets the largest possible number of console window rows, based on the current font and screen resolution. - The height of the largest possible console window measured in rows. - - - Gets the largest possible number of console window columns, based on the current font and screen resolution. - The width of the largest possible console window measured in columns. - - - Gets a value indicating whether the NUM LOCK keyboard toggle is turned on or turned off. - - if NUM LOCK is turned on; if NUM LOCK is turned off. - - - Gets the standard output stream. - A that represents the standard output stream. - - - Gets or sets the encoding the console uses to write output. - The encoding used to write console output. - The property value in a set operation is . - An error occurred during the execution of this operation. - Your application does not have permission to perform this operation. - - - Gets or sets the title to display in the console title bar. - The string to be displayed in the title bar of the console. The maximum length of the title string is 24500 characters. - In a get operation, the retrieved title is longer than 24500 characters. - In a set operation, the specified title is longer than 24500 characters. - In a set operation, the specified title is . - An I/O error occurred. - - - Gets or sets a value indicating whether the combination of the modifier key and console key (Ctrl+C) is treated as ordinary input or as an interruption that is handled by the operating system. - - if Ctrl+C is treated as ordinary input; otherwise, . - Unable to get or set the input mode of the console input buffer. - - - Gets or sets the height of the console window area. - The height of the console window measured in rows. - The value of the property or the value of the property is less than or equal to 0.-or-The value of the property plus the value of the property is greater than or equal to .-or-The value of the property or the value of the property is greater than the largest possible window width or height for the current screen resolution and console font. - Error reading or writing information. - - - Gets or sets the leftmost position of the console window area relative to the screen buffer. - The leftmost console window position measured in columns. - In a set operation, the value to be assigned is less than zero.-or-As a result of the assignment, plus would exceed . - Error reading or writing information. - - - Gets or sets the top position of the console window area relative to the screen buffer. - The uppermost console window position measured in rows. - In a set operation, the value to be assigned is less than zero.-or-As a result of the assignment, plus would exceed . - Error reading or writing information. - - - Gets or sets the width of the console window. - The width of the console window measured in columns. - The value of the property or the value of the property is less than or equal to 0.-or-The value of the property plus the value of the property is greater than or equal to .-or-The value of the property or the value of the property is greater than the largest possible window width or height for the current screen resolution and console font. - Error reading or writing information. - - - - Gets or sets a value that indicates whether simultaneously pressing the modifier key and the console key (Ctrl+C) or the Ctrl+Break keys terminates the current process. The default is , which terminates the current process. - - if the current process should resume when the event handler concludes; if the current process should terminate. The default value is ; the current process terminates when the event handler returns. If , the current process continues. - - - Gets the combination of modifier and console keys that interrupted the current process. - One of the enumeration values that specifies the key combination that interrupted the current process. There is no default value. - - - Gets the console key represented by the current object. - A value that identifies the console key that was pressed. - - - Gets the Unicode character represented by the current object. - An object that corresponds to the console key represented by the current object. - - - Gets a bitwise combination of values that specifies one or more modifier keys pressed simultaneously with the console key. - A bitwise combination of the enumeration values. There is no default value. - - - Gets the date component of this instance. - A new object with the same date as this instance, and the time value set to 12:00:00 midnight (00:00:00). - - - Gets the day of the month represented by this instance. - The day component, expressed as a value between 1 and 31. - - - Gets the day of the week represented by this instance. - An enumerated constant that indicates the day of the week of this value. - - - Gets the day of the year represented by this instance. - The day of the year, expressed as a value between 1 and 366. - - - Gets the hour component of the date represented by this instance. - The hour component, expressed as a value between 0 and 23. - - - Gets a value that indicates whether the time represented by this instance is based on local time, Coordinated Universal Time (UTC), or neither. - One of the enumeration values that indicates what the current time represents. The default is . - - - Gets the milliseconds component of the date represented by this instance. - The milliseconds component, expressed as a value between 0 and 999. - - - Gets the minute component of the date represented by this instance. - The minute component, expressed as a value between 0 and 59. - - - Gets the month component of the date represented by this instance. - The month component, expressed as a value between 1 and 12. - - - Gets a object that is set to the current date and time on this computer, expressed as the local time. - An object whose value is the current local date and time. - - - Gets the seconds component of the date represented by this instance. - The seconds component, expressed as a value between 0 and 59. - - - Gets the number of ticks that represent the date and time of this instance. - The number of ticks that represent the date and time of this instance. The value is between and . - - - Gets the time of day for this instance. - A time interval that represents the fraction of the day that has elapsed since midnight. - - - Gets the current date. - An object that is set to today's date, with the time component set to 00:00:00. - - - Gets a object that is set to the current date and time on this computer, expressed as the Coordinated Universal Time (UTC). - An object whose value is the current UTC date and time. - - - Gets the year component of the date represented by this instance. - The year, between 1 and 9999. - - - Gets a value that represents the date component of the current object. - A value that represents the date component of the current object. - - - Gets a value that represents the date and time of the current object. - The date and time of the current object. - - - Gets the day of the month represented by the current object. - The day component of the current object, expressed as a value between 1 and 31. - - - Gets the day of the week represented by the current object. - One of the enumeration values that indicates the day of the week of the current object. - - - Gets the day of the year represented by the current object. - The day of the year of the current object, expressed as a value between 1 and 366. - - - Gets the hour component of the time represented by the current object. - The hour component of the current object. This property uses a 24-hour clock; the value ranges from 0 to 23. - - - Gets a value that represents the local date and time of the current object. - The local date and time of the current object. - - - Gets the millisecond component of the time represented by the current object. - The millisecond component of the current object, expressed as an integer between 0 and 999. - - - Gets the minute component of the time represented by the current object. - The minute component of the current object, expressed as an integer between 0 and 59. - - - Gets the month component of the date represented by the current object. - The month component of the current object, expressed as an integer between 1 and 12. - - - Gets a object that is set to the current date and time on the current computer, with the offset set to the local time's offset from Coordinated Universal Time (UTC). - A object whose date and time is the current local time and whose offset is the local time zone's offset from Coordinated Universal Time (UTC). - - - Gets the time's offset from Coordinated Universal Time (UTC). - The difference between the current object's time value and Coordinated Universal Time (UTC). - - - Gets the second component of the clock time represented by the current object. - The second component of the object, expressed as an integer value between 0 and 59. - - - Gets the number of ticks that represents the date and time of the current object in clock time. - The number of ticks in the object's clock time. - - - Gets the time of day for the current object. - The time interval of the current date that has elapsed since midnight. - - - Gets a value that represents the Coordinated Universal Time (UTC) date and time of the current object. - The Coordinated Universal Time (UTC) date and time of the current object. - - - Gets a object whose date and time are set to the current Coordinated Universal Time (UTC) date and time and whose offset is . - An object whose date and time is the current Coordinated Universal Time (UTC) and whose offset is . - - - Gets the number of ticks that represents the date and time of the current object in Coordinated Universal Time (UTC). - The number of ticks in the object's Coordinated Universal Time (UTC). - - - Gets the year component of the date represented by the current object. - The year component of the current object, expressed as an integer value between 0 and 9999. - - - Gets the method represented by the delegate. - A describing the method represented by the delegate. - The caller does not have access to the method represented by the delegate (for example, if the method is private). - - - Gets the class instance on which the current delegate invokes the instance method. - The object on which the current delegate invokes the instance method, if the delegate represents an instance method; if the delegate represents a static method. - - - Gets the category identifying the classification of the attribute. - The category identifying the attribute. - - - Gets the identifier of the static analysis tool rule to be suppressed. - The identifier of the static analysis tool rule to be suppressed. - - - Gets or sets the justification for suppressing the code analysis message. - The justification for suppressing the message. - - - Gets or sets an optional argument expanding on exclusion criteria. - A string containing the expanded exclusion criteria. - - - Gets or sets the scope of the code that is relevant for the attribute. - The scope of the code that is relevant for the attribute. - - - Gets or sets a fully qualified path that represents the target of the attribute. - A fully qualified path that represents the target of the attribute. - - - Gets the conditional compilation symbol that is associated with the attribute. - A string that specifies the case-sensitive conditional compilation symbol that is associated with the attribute. - - - Gets the type that contains the code contracts for this type. - The type that contains the code contracts for this type. - - - Gets the type that this code contract applies to. - The type that this contract applies to. - - - Gets the condition for the failure of the contract. - The condition for the failure. - - - Gets the type of contract that failed. - One of the enumeration values that specifies the type of contract that failed. - - - Indicates whether the event has been handled. - - if the event has been handled; otherwise, . - - - Gets the message that describes the event. - The message that describes the event. - - - Gets the original exception that caused the event. - The exception that caused the event. - - - Indicates whether the code contract escalation policy should be applied. - - to apply the escalation policy; otherwise, . The default is . - - - Gets the category of the option. - The category of the option. - - - Determines if an option is enabled. - - if the option is enabled; otherwise, . - - - Gets the setting for the option. - The setting for the option. - - - Gets the value for the option. - The value for the option. - - - Gets the property name to be applied to the field. - The property name to be applied to the field. - - - Gets the value that indicates whether to verify the contract of the target. - - if verification is required; otherwise, . - - - Gets the debugging modes for the attribute. - A bitwise combination of the values describing the debugging mode for the just-in-time (JIT) compiler. The default is . - - - Gets a value that indicates whether the runtime optimizer is disabled. - - if the runtime optimizer is disabled; otherwise, . - - - Gets a value that indicates whether the runtime will track information during code generation for the debugger. - - if the runtime will track information during code generation for the debugger; otherwise, . - - - Gets a value that indicates whether a debugger is attached to the process. - - if a debugger is attached; otherwise, . - - - Gets the display state for the attribute. - One of the values. - - - Gets or sets the name to display in the debugger variable windows. - The name to display in the debugger variable windows. - - - Gets or sets the type of the attribute's target. - The attribute's target type. - - is set to . - - - Gets or sets the type name of the attribute's target. - The name of the attribute's target type. - - - Gets or sets the string to display in the type column of the debugger variable windows. - The string to display in the type column of the debugger variable windows. - - - Gets the string to display in the value column of the debugger variable windows. - The string to display in the value column of the debugger variable. - - - Gets the type name of the proxy type. - The type name of the proxy type. - - - Gets or sets the target type for the attribute. - The target type for the attribute. - - is set to . - - - Gets or sets the name of the target type. - The name of the target type. - - - Gets or sets the description of the visualizer. - The description of the visualizer. - - - Gets or sets the target type when the attribute is applied at the assembly level. - The type that is the target of the visualizer. - The value cannot be set because it is . - - - Gets or sets the fully qualified type name when the attribute is applied at the assembly level. - The fully qualified type name of the target type. - - - Gets the fully qualified type name of the visualizer object source. - The fully qualified type name of the visualizer object source. - - - Gets the fully qualified type name of the visualizer. - The fully qualified visualizer type name. - - - Gets the number of frames in the stack trace. - The number of frames in the stack trace. - - - Gets the checksum algorithm identifier. - A GUID identifying the checksum algorithm. The value is all zeros, if there is no checksum. - - - Gets the type of the current document. - The type of the current document. - - - Checks whether the current document is stored in the symbol store. - - if the current document is stored in the symbol store; otherwise, . - - - Gets the language of the current document. - The language of the current document. - - - Gets the language vendor of the current document. - The language vendor of the current document. - - - Gets the length, in bytes, of the embedded source. - The source length of the current document. - - - Gets the URL of the current document. - The URL of the current document. - - - Gets the root lexical scope for the current method. This scope encloses the entire method. - The root lexical scope that encloses the entire method. - - - Gets a count of the sequence points in the method. - The count of the sequence points in the method. - - - Gets the containing the metadata for the current method. - The metadata token for the current method. - - - Gets the current namespace. - The current namespace. - - - Gets the metadata token for the method that was specified as the user entry point for the module, if any. - The metadata token for the method that is the user entry point for the module. - - - Gets the end offset of the current lexical scope. - The end offset of the current lexical scope. - - - Gets the method that contains the current lexical scope. - The method that contains the current lexical scope. - - - Gets the parent lexical scope of the current scope. - The parent lexical scope of the current scope. - - - Gets the start offset of the current lexical scope. - The start offset of the current lexical scope. - - - Gets the first address of a variable. - The first address of the variable. - - - Gets the second address of a variable. - The second address of the variable. - - - Gets the third address of a variable. - The third address of the variable. - - - Gets the value describing the type of the address. - The type of the address. One of the values. - - - Gets the attributes of the variable. - The variable attributes. - - - Gets the end offset of a variable within the scope of the variable. - The end offset of the variable. - - - Gets the name of the variable. - The name of the variable. - - - Gets the start offset of the variable within the scope of the variable. - The start offset of the variable. - - - Specifies the behavior of the start and stop events of an activity. An activity is the region of time in an app between the start and the stop. - Returns . - - - Gets or sets an additional event log where the event should be written. - An additional event log where the event should be written. - - - Gets or sets the identifier for the event. - The event identifier. This value should be between 0 and 65535. - - - Gets or sets the keywords for the event. - A bitwise combination of the enumeration values. - - - Gets or sets the level for the event. - One of the enumeration values that specifies the level for the event. - - - Gets or sets the message for the event. - The message for the event. - - - Gets or sets the operation code for the event. - One of the enumeration values that specifies the operation code. - - - Gets and sets the value for this object. An event tag is a user-defined value that is passed through when the event is logged. - Returns the value. - - - Gets or sets the task for the event. - The task for the event. - - - Gets or sets the version of the event. - The version of the event. - - - Gets the array of arguments for the callback. - An array of callback arguments. - - - Gets the command for the callback. - The callback command. - - - Gets or set the name to apply to an event if the event type or property is not explicitly named. - The name to apply to the event or property. - - - Gets and sets the value that specifies how to format the value of a user-defined type. - Returns a value. - - - Gets and sets the user-defined value that is required for fields that contain data that isn't one of the supported types. - Returns . - - - [Supported in the .NET Framework 4.5.1 and later versions] Gets any exception that was thrown during the construction of the event source. - The exception that was thrown during the construction of the event source, or if no exception was thrown. - - - [Supported in the .NET Framework 4.5.1 and later versions] Gets the activity ID of the current thread. - The activity ID of the current thread. - - - Gets or sets the pointer to the data for the new overload. - The pointer to the data. - - - Gets or sets the number of payload items in the new overload. - The number of payload items in the new overload. - - - The unique identifier for the event source. - A unique identifier for the event source. - - - The friendly name of the class that is derived from the event source. - The friendly name of the derived class. The default is the simple name of the class. - - - Gets the settings applied to this event source. - The settings applied to this event source. - - - Gets or sets the event source identifier. - The event source identifier. - - - Gets or sets the name of the localization resource file. - The name of the localization resource file, or if the localization resource file does not exist. - - - Gets or sets the name of the event source. - The name of the event source. - - - Get the event source that is attaching to the listener. - The event source that is attaching to the listener. - - - The activity options defined for this event source. - Returns . - - - Gets or sets the keywords applied to the event. If this property is not set, the event’s keywords will be . - The keywords applied to the event, or if no keywords are set. - - - Gets or sets the event level applied to the event. - The event level for the event. If not set, the default is Verbose (5). - - - Gets or sets the operation code to use for the specified event. - The operation code to use for the specified event. If not set, the default is (0). - - - The event tags defined for this event source. - Returns . - - - [Supported in the .NET Framework 4.5.1 and later versions] Gets the activity ID on the thread that the event was written to. - The activity ID on the thread that the event was written to. - - - Gets the channel for the event. - The channel for the event. - - - Gets the event identifier. - The event identifier. - - - Gets the name of the event. - The name of the event. - - - Gets the event source object. - The event source object. - - - Gets the keywords for the event. - The keywords for the event. - - - Gets the level of the event. - The level of the event. - - - Gets the message for the event. - The message for the event. - - - Gets the operation code for the event. - The operation code for the event. - - - Gets the payload for the event. - The payload for the event. - - - Returns a list of strings that represent the property names of the event. - Returns . - - - [Supported in the .NET Framework 4.5.1 and later versions] Gets the identifier of an activity that is related to the activity represented by the current instance. - The identifier of the related activity, or if there is no related activity. - - - Returns the tags specified in the call to the method. - Returns . - - - Gets the task for the event. - The task for the event. - - - Gets the version of the event. - The version of the event. - - - Gets the command line for this process. - A string containing command-line arguments. - - - Gets or sets the fully qualified path of the current working directory. - A string containing a directory path. - Attempted to set to an empty string (""). - Attempted to set to - An I/O error occurred. - Attempted to set a local path that cannot be found. - The caller does not have the appropriate permission. - - - Gets a unique identifier for the current managed thread. - An integer that represents a unique identifier for this managed thread. - - - Gets or sets the exit code of the process. - A 32-bit signed integer containing the exit code. The default value is 0 (zero), which indicates that the process completed successfully. - - - Gets a value that indicates whether the current application domain is being unloaded or the common language runtime (CLR) is shutting down. - - if the current application domain is being unloaded or the CLR is shutting down; otherwise, - - - Determines whether the current operating system is a 64-bit operating system. - - if the operating system is 64-bit; otherwise, . - - - Determines whether the current process is a 64-bit process. - - if the process is 64-bit; otherwise, . - - - Gets the NetBIOS name of this local computer. - A string containing the name of this computer. - The name of this computer cannot be obtained. - - - Gets the newline string defined for this environment. - A string containing "\r\n" for non-Unix platforms, or a string containing "\n" for Unix platforms. - - - Gets an object that contains the current platform identifier and version number. - An object that contains the platform identifier and version number. - This property was unable to obtain the system version.-or- The obtained platform identifier is not a member of - - - Gets the number of processors on the current machine. - The 32-bit signed integer that specifies the number of processors on the current machine. There is no default. If the current machine contains multiple processor groups, this property returns the number of logical processors that are available for use by the common language runtime (CLR). - - - Gets current stack trace information. - A string containing stack trace information. This value can be . - - - Gets the fully qualified path of the system directory. - A string containing a directory path. - - - Gets the number of bytes in the operating system's memory page. - The number of bytes in the system memory page. - - - Gets the number of milliseconds elapsed since the system started. - A 32-bit signed integer containing the amount of time in milliseconds that has passed since the last time the computer was started. - - - Gets the network domain name associated with the current user. - The network domain name associated with the current user. - The operating system does not support retrieving the network domain name. - The network domain name cannot be retrieved. - - - Gets a value indicating whether the current process is running in user interactive mode. - - if the current process is running in user interactive mode; otherwise, . - - - Gets the user name of the person who is currently logged on to the Windows operating system. - The user name of the person who is logged on to Windows. - - - Gets a object that describes the major, minor, build, and revision numbers of the common language runtime. - An object that displays the version of the common language runtime. - - - Gets the amount of physical memory mapped to the process context. - A 64-bit signed integer containing the number of bytes of physical memory mapped to the process context. - - - Gets a collection of key/value pairs that provide additional user-defined information about the exception. - An object that implements the interface and contains a collection of user-defined key/value pairs. The default is an empty collection. - - - Gets or sets a link to the help file associated with this exception. - The Uniform Resource Name (URN) or Uniform Resource Locator (URL). - - - Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception. - The HRESULT value. - - - Gets the instance that caused the current exception. - An object that describes the error that caused the current exception. The property returns the same value as was passed into the constructor, or if the inner exception value was not supplied to the constructor. This property is read-only. - - - Gets a message that describes the current exception. - The error message that explains the reason for the exception, or an empty string (""). - - - Gets or sets the name of the application or the object that causes the error. - The name of the application or the object that causes the error. - The object must be a runtime object - - - Gets a string representation of the immediate frames on the call stack. - A string that describes the immediate frames of the call stack. - - - Gets the method that throws the current exception. - The that threw the current exception. - - - Gets the number of arguments to be formatted. - The number of arguments to be formatted. - - - Returns the composite format string. - The composite format string. - - - Gets the maximum number of generations that the system currently supports. - A value that ranges from zero to the maximum number of supported generations. - - - Gets a value indicating whether the current calendar is solar-based, lunar-based, or a combination of both. - One of the values. - - - Gets the number of days in the year that precedes the year that is specified by the property. - The number of days in the year that precedes the year specified by . - - - When overridden in a derived class, gets the list of eras in the current calendar. - An array of integers that represents the eras in the current calendar. - - - Gets a value indicating whether this object is read-only. - - if this object is read-only; otherwise, . - - - Gets the latest date and time supported by this object. - The latest date and time supported by this calendar. The default is . - - - Gets the earliest date and time supported by this object. - The earliest date and time supported by this calendar. The default is . - - - Gets or sets the last year of a 100-year range that can be represented by a 2-digit year. - The last year of a 100-year range that can be represented by a 2-digit year. - The current object is read-only. - - - Gets the number of days in the year that precedes the year that is specified by the property. - The number of days in the year that precedes the year specified by . - - - Gets the eras that correspond to the range of dates and times supported by the current object. - An array of 32-bit signed integers that specify the relevant eras. The return value for a object is always an array containing one element equal to the value. - - - Gets the maximum date and time supported by the class. - A type that represents the last moment on January 28, 2101 in the Gregorian calendar, which is approximately equal to the constructor DateTime(2101, 1, 28, 23, 59, 59, 999). - - - Gets the minimum date and time supported by the class. - A type that represents February 19, 1901 in the Gregorian calendar, which is equivalent to the constructor, DateTime(1901, 2, 19). - - - Gets the properly formed culture identifier for the current . - The properly formed culture identifier for the current . - - - Gets the name of the culture used for sorting operations by this object. - The name of a culture. - - - Gets information about the version of Unicode used for comparing and sorting strings. - An object that contains information about the Unicode version used for comparing and sorting strings. - - - Gets the default calendar used by the culture. - A that represents the default calendar used by the culture. - - - Gets the that defines how to compare strings for the culture. - The that defines how to compare strings for the culture. - - - Gets the culture types that pertain to the current object. - A bitwise combination of one or more values. There is no default value. - - - Gets or sets the object that represents the culture used by the current thread. - An object that represents the culture used by the current thread. - The property is set to . - - - Gets or sets the object that represents the current user interface culture used by the Resource Manager to look up culture-specific resources at run time. - The culture used by the Resource Manager to look up culture-specific resources at run time. - The property is set to . - The property is set to a culture name that cannot be used to locate a resource file. Resource filenames can include only letters, numbers, hyphens, or underscores. - - - Gets or sets a that defines the culturally appropriate format of displaying dates and times. - A that defines the culturally appropriate format of displaying dates and times. - The property is set to null. - The property or any of the properties is set, and the is read-only. - - - Gets or sets the default culture for threads in the current application domain. - The default culture for threads in the current application domain, or if the current system culture is the default thread culture in the application domain. - - - Gets or sets the default UI culture for threads in the current application domain. - The default UI culture for threads in the current application domain, or if the current system UI culture is the default thread UI culture in the application domain. - In a set operation, the property value is invalid. - - - Gets the full localized culture name. - The full localized culture name in the format languagefull [country/regionfull], where languagefull is the full name of the language and country/regionfull is the full name of the country/region. - - - Gets the culture name in the format languagefull [country/regionfull] in English. - The culture name in the format languagefull [country/regionfull] in English, where languagefull is the full name of the language and country/regionfull is the full name of the country/region. - - - Deprecated. Gets the RFC 4646 standard identification for a language. - A string that is the RFC 4646 standard identification for a language. - - - Gets the that represents the culture installed with the operating system. - The that represents the culture installed with the operating system. - - - Gets the object that is culture-independent (invariant). - The object that is culture-independent (invariant). - - - Gets a value indicating whether the current represents a neutral culture. - - if the current represents a neutral culture; otherwise, . - - - Gets a value indicating whether the current is read-only. - - if the current is read-only; otherwise, . The default is . - - - Gets the active input locale identifier. - A 32-bit signed number that specifies an input locale identifier. - - - Gets the culture identifier for the current . - The culture identifier for the current . - - - Gets the culture name in the format languagecode2-country/regioncode2. - The culture name in the format languagecode2-country/regioncode2. languagecode2 is a lowercase two-letter code derived from ISO 639-1. country/regioncode2 is derived from ISO 3166 and usually consists of two uppercase letters, or a BCP-47 language tag. - - - Gets the culture name, consisting of the language, the country/region, and the optional script, that the culture is set to display. - The culture name. consisting of the full name of the language, the full name of the country/region, and the optional script. The format is discussed in the description of the class. - - - Gets or sets a that defines the culturally appropriate format of displaying numbers, currency, and percentage. - A that defines the culturally appropriate format of displaying numbers, currency, and percentage. - The property is set to null. - The property or any of the properties is set, and the is read-only. - - - Gets the list of calendars that can be used by the culture. - An array of type that represents the calendars that can be used by the culture represented by the current . - - - Gets the that represents the parent culture of the current . - The that represents the parent culture of the current . - - - Gets the that defines the writing system associated with the culture. - The that defines the writing system associated with the culture. - - - Gets the ISO 639-2 three-letter code for the language of the current . - The ISO 639-2 three-letter code for the language of the current . - - - Gets the three-letter code for the language as defined in the Windows API. - The three-letter code for the language as defined in the Windows API. - - - Gets the ISO 639-1 two-letter code for the language of the current . - The ISO 639-1 two-letter code for the language of the current . - - - Gets a value indicating whether the current object uses the user-selected culture settings. - - if the current uses the user-selected culture settings; otherwise, . - - - Gets the culture identifier that cannot be found. - The invalid culture identifier. - - - Gets the culture name that cannot be found. - The invalid culture name. - - - Gets the error message that explains the reason for the exception. - A text string describing the details of the exception. - - - Gets or sets a one-dimensional array of type containing the culture-specific abbreviated names of the days of the week. - A one-dimensional array of type containing the culture-specific abbreviated names of the days of the week. The array for contains "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", and "Sat". - The property is being set to . - The property is being set to an array that is multidimensional or that has a length that is not exactly 7. - The property is being set and the object is read-only. - - - Gets or sets a string array of abbreviated month names associated with the current object. - An array of abbreviated month names. - In a set operation, the array is multidimensional or has a length that is not exactly 13. - In a set operation, the array or one of the elements of the array is . - In a set operation, the current object is read-only. - - - Gets or sets a one-dimensional string array that contains the culture-specific abbreviated names of the months. - A one-dimensional string array with 13 elements that contains the culture-specific abbreviated names of the months. For 12-month calendars, the 13th element of the array is an empty string. The array for contains "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", and "". - The property is being set to . - The property is being set to an array that is multidimensional or that has a length that is not exactly 13. - The property is being set and the object is read-only. - - - Gets or sets the string designator for hours that are "ante meridiem" (before noon). - The string designator for hours that are ante meridiem. The default for is "AM". - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets the calendar to use for the current culture. - The calendar to use for the current culture. The default for is a object. - The property is being set to . - The property is being set to a object that is not valid for the current culture. - The property is being set and the object is read-only. - - - Gets or sets a value that specifies which rule is used to determine the first calendar week of the year. - A value that determines the first calendar week of the year. The default for is . - The property is being set to a value that is not a valid value. - In a set operation, the current object is read-only. - - - Gets a read-only object that formats values based on the current culture. - A read-only object based on the object for the current thread. - - - Gets or sets the string that separates the components of a date, that is, the year, month, and day. - The string that separates the components of a date, that is, the year, month, and day. The default for is "/". - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets a one-dimensional string array that contains the culture-specific full names of the days of the week. - A one-dimensional string array that contains the culture-specific full names of the days of the week. The array for contains "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", and "Saturday". - The property is being set to . - The property is being set to an array that is multidimensional or that has a length that is not exactly 7. - The property is being set and the object is read-only. - - - Gets or sets the first day of the week. - An enumeration value that represents the first day of the week. The default for is . - The property is being set to a value that is not a valid value. - The property is being set and the object is read-only. - - - Gets or sets the custom format string for a long date and long time value. - The custom format string for a long date and long time value. - The property is being set to . - The property is being set and the object is read-only. - - - Gets the default read-only object that is culture-independent (invariant). - A read-only object that is culture-independent (invariant). - - - Gets a value indicating whether the object is read-only. - - if the object is read-only; otherwise, . - - - Gets or sets the custom format string for a long date value. - The custom format string for a long date value. - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets the custom format string for a long time value. - The format pattern for a long time value. - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets the custom format string for a month and day value. - The custom format string for a month and day value. - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets a string array of month names associated with the current object. - A string array of month names. - In a set operation, the array is multidimensional or has a length that is not exactly 13. - In a set operation, the array or one of its elements is . - In a set operation, the current object is read-only. - - - Gets or sets a one-dimensional array of type containing the culture-specific full names of the months. - A one-dimensional array of type containing the culture-specific full names of the months. In a 12-month calendar, the 13th element of the array is an empty string. The array for contains "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", and "". - The property is being set to . - The property is being set to an array that is multidimensional or that has a length that is not exactly 13. - The property is being set and the object is read-only. - - - Gets the native name of the calendar associated with the current object. - The native name of the calendar used in the culture associated with the current object if that name is available, or the empty string ("") if the native calendar name is not available. - - - Gets or sets the string designator for hours that are "post meridiem" (after noon). - The string designator for hours that are "post meridiem" (after noon). The default for is "PM". - The property is being set to . - The property is being set and the object is read-only. - - - Gets the custom format string for a time value that is based on the Internet Engineering Task Force (IETF) Request for Comments (RFC) 1123 specification. - The custom format string for a time value that is based on the IETF RFC 1123 specification. - - - Gets or sets the custom format string for a short date value. - The custom format string for a short date value. - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets a string array of the shortest unique abbreviated day names associated with the current object. - A string array of day names. - In a set operation, the array does not have exactly seven elements. - In a set operation, the value array or one of the elements of the value array is . - In a set operation, the current object is read-only. - - - Gets or sets the custom format string for a short time value. - The custom format string for a short time value. - The property is being set to . - The property is being set and the object is read-only. - - - Gets the custom format string for a sortable date and time value. - The custom format string for a sortable date and time value. - - - Gets or sets the string that separates the components of time, that is, the hour, minutes, and seconds. - The string that separates the components of time. The default for is ":". - The property is being set to . - The property is being set and the object is read-only. - - - Gets the custom format string for a universal, sortable date and time string. - The custom format string for a universal, sortable date and time string. - - - Gets or sets the custom format string for a year and month value. - The custom format string for a year and month value. - The property is being set to . - The property is being set and the object is read-only. - - - Gets the time interval that represents the difference between standard time and daylight saving time. - The time interval that represents the difference between standard time and daylight saving time. - - - Gets the object that represents the date and time when the daylight saving period ends. - The object that represents the date and time when the daylight saving period ends. The value is in local time. - - - Gets the object that represents the date and time when the daylight saving period begins. - The object that represents the date and time when the daylight saving period begins. The value is in local time. - - - Gets a value indicating whether the current calendar is solar-based, lunar-based, or a combination of both. - Always returns . - - - Gets or sets the last year of a 100-year range that can be represented by a 2-digit year. - The last year of a 100-year range that can be represented by a 2-digit year. - The current is read-only. - The value in a set operation is less than 99 or greater than the maximum supported year in the current calendar. - - - Gets a value that indicates whether the current calendar is solar-based, lunar-based, or a combination of both. - Always returns . - - - Gets or sets the value that denotes the language version of the current . - A value that denotes the language version of the current . - The value specified in a set operation is not a member of the enumeration. - In a set operation, the current instance is read-only. - - - Gets the list of eras in the . - An array of integers that represents the eras in the . - - - Gets the latest date and time supported by the type. - The latest date and time supported by the type, which is the last moment of December 31, 9999 C.E. and is equivalent to . - - - Gets the earliest date and time supported by the type. - The earliest date and time supported by the type, which is the first moment of January 1, 0001 C.E. and is equivalent to . - - - Gets or sets the last year of a 100-year range that can be represented by a 2-digit year. - The last year of a 100-year range that can be represented by a 2-digit year. - The value specified in a set operation is less than 99. -or- The value specified in a set operation is greater than . - In a set operation, the current instance is read-only. - - - Gets a value that indicates whether the current calendar is solar-based, lunar-based, or a combination of both. - Always returns . - - - Gets the list of eras in the . - An array of integers that represents the eras in the type. The return value is always an array containing one element equal to . - - - Gets the latest date and time supported by the type. - The latest date and time supported by the type, which is equivalent to the last moment of September, 29, 2239 C.E. in the Gregorian calendar. - - - Gets the earliest date and time supported by the type. - The earliest date and time supported by the type, which is equivalent to the first moment of January, 1, 1583 C.E. in the Gregorian calendar. - - - Gets or sets the last year of a 100-year range that can be represented by a 2-digit year. - The last year of a 100-year range that can be represented by a 2-digit year. - The current object is read-only. - In a set operation, the Hebrew calendar year value is less than 5343 but is not 99, or the year value is greater than 5999. - - - Gets a value that indicates whether the current calendar is solar-based, lunar-based, or a combination of both. - Always returns . - - - Gets the number of days in the year that precedes the year that is specified by the property. - The number of days in the year that precedes the year specified by . - - - Gets the list of eras in the . - An array of integers that represents the eras in the . - - - Gets or sets the number of days to add or subtract from the calendar to accommodate the variances in the start and the end of Ramadan and to accommodate the date difference between countries/regions. - An integer from -2 to 2 that represents the number of days to add or subtract from the calendar. - The property is being set to an invalid value. - - - Gets the latest date and time supported by this calendar. - The latest date and time supported by the type, which is equivalent to the last moment of December 31, 9999 C.E. in the Gregorian calendar. - - - Gets the earliest date and time supported by this calendar. - The earliest date and time supported by the type, which is equivalent to the first moment of July 18, 622 C.E. in the Gregorian calendar. - - - Gets or sets the last year of a 100-year range that can be represented by a 2-digit year. - The last year of a 100-year range that can be represented by a 2-digit year. - This calendar is read-only. - The value in a set operation is less than 100 or greater than 9666. - - - Gets or sets a value that indicates whether unassigned Unicode code points are used in operations performed by members of the current object. - - if unassigned code points are used in operations; otherwise, . - - - Gets or sets a value that indicates whether standard or relaxed naming conventions are used in operations performed by members of the current object. - - if standard naming conventions are used in operations; otherwise, . - - - Gets a value that indicates whether the current calendar is solar-based, lunar-based, or a combination of both. - Always returns . - - - Gets the list of eras in the . - An array of integers that represents the eras in the . - - - Gets the latest date and time supported by the current object. - The latest date and time supported by the type, which is equivalent to the last moment of December 31, 9999 C.E. in the Gregorian calendar. - - - Gets the earliest date and time supported by the current object. - The earliest date and time supported by the type, which is equivalent to the first moment of September 8, 1868 C.E. in the Gregorian calendar. - - - Gets or sets the last year of a 100-year range that can be represented by a 2-digit year. - The last year of a 100-year range that can be represented by a 2-digit year. - The value specified in a set operation is less than 99. -or- The value specified in a set operation is greater than 8011 (or ). - In a set operation, the current instance is read-only. - - - Gets the number of days in the year that precedes the year that is specified by the property. - The number of days in the year that precedes the year specified by . - - - Gets the eras that are relevant to the object. - An array of 32-bit signed integers that specify the relevant eras. - - - Gets the maximum date and time supported by the class. - The latest date and time supported by the class, which is equivalent to the last moment of January 22, 2050 C.E. in the Gregorian calendar. - - - Gets the minimum date and time supported by the class. - The earliest date and time supported by the class, which is equivalent to the first moment of January 28, 1960 C.E. in the Gregorian calendar. - - - Gets a value that indicates whether the current calendar is solar-based, lunar-based, or a combination of both. - Always returns . - - - Gets the list of eras in the . - An array of integers that represents the eras in the . - - - Gets the latest date and time supported by the class. - The latest date and time supported by the class, which is equivalent to the last moment of December 31, 9999 C.E. in the Gregorian calendar. - - - Gets the earliest date and time supported by the class. - The earliest date and time supported by the class, which is equivalent to the first moment of January 1, 0001 C.E. in the Gregorian calendar. - - - Gets or sets the last year of a 100-year range that can be represented by a 2-digit year. - The last year of a 100-year range that can be represented by a 2-digit year. - The value specified in a set operation is less than 99. -or- The value specified in a set operation is greater than . - In a set operation, the current instance is read-only. - - - Gets a value indicating whether the current calendar is solar-based, lunar-based, or a combination of both. - Always returns . - - - Gets the list of eras in the . - An array of integers that represents the eras in the . - - - Gets the latest date and time supported by the class. - The latest date and time supported by the class, which is equivalent to the last moment of December 31, 9999 C.E. in the Gregorian calendar. - - - Gets the earliest date and time supported by the class. - The earliest date and time supported by the class, which is equivalent to the first moment of January 1, 0001 C.E. in the Gregorian calendar. - - - Gets or sets the last year of a 100-year range that can be represented by a 2-digit year. - The last year of a 100-year range that can be represented by a 2-digit year. - The value specified in a set operation is less than 99. -or- The value specified in a set operation is greater than . - In a set operation, the current instance is read-only. - - - Gets the number of days in the year that precedes the year specified by the property. - The number of days in the year that precedes the year specified by . - - - Gets the eras that correspond to the range of dates and times supported by the current object. - An array of 32-bit signed integers that specify the relevant eras. The return value for a object is always an array containing one element equal to the value. - - - Gets the maximum date and time supported by the class. - The latest date and time supported by the class, which is equivalent to the last moment of February 10, 2051 C.E. in the Gregorian calendar. - - - Gets the minimum date and time supported by the class. - The earliest date and time supported by the class, which is equivalent to the first moment of February 14, 918 C.E. in the Gregorian calendar. - - - Gets or sets the number of decimal places to use in currency values. - The number of decimal places to use in currency values. The default for is 2. - The property is being set to a value that is less than 0 or greater than 99. - The property is being set and the object is read-only. - - - Gets or sets the string to use as the decimal separator in currency values. - The string to use as the decimal separator in currency values. The default for is ".". - The property is being set to . - The property is being set and the object is read-only. - The property is being set to an empty string. - - - Gets or sets the string that separates groups of digits to the left of the decimal in currency values. - The string that separates groups of digits to the left of the decimal in currency values. The default for is ",". - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets the number of digits in each group to the left of the decimal in currency values. - The number of digits in each group to the left of the decimal in currency values. The default for is a one-dimensional array with only one element, which is set to 3. - The property is being set to . - The property is being set and the array contains an entry that is less than 0 or greater than 9.-or- The property is being set and the array contains an entry, other than the last entry, that is set to 0. - The property is being set and the object is read-only. - - - Gets or sets the format pattern for negative currency values. - The format pattern for negative currency values. The default for is 0, which represents "($n)", where "$" is the and is a number. - The property is being set to a value that is less than 0 or greater than 15. - The property is being set and the object is read-only. - - - Gets or sets the format pattern for positive currency values. - The format pattern for positive currency values. The default for is 0, which represents "$n", where "$" is the and is a number. - The property is being set to a value that is less than 0 or greater than 3. - The property is being set and the object is read-only. - - - Gets or sets the string to use as the currency symbol. - The string to use as the currency symbol. The default for is "¤". - The property is being set to . - The property is being set and the object is read-only. - - - Gets a read-only that formats values based on the current culture. - A read-only based on the culture of the current thread. - - - Gets or sets a value that specifies how the graphical user interface displays the shape of a digit. - One of the enumeration values that specifies the culture-specific digit shape. - The current object is read-only. - The value in a set operation is not a valid value. - - - Gets a read-only object that is culture-independent (invariant). - A read-only object that is culture-independent (invariant). - - - Gets a value that indicates whether this object is read-only. - - if the is read-only; otherwise, . - - - Gets or sets the string that represents the IEEE NaN (not a number) value. - The string that represents the IEEE NaN (not a number) value. The default for is "NaN". - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets a string array of native digits equivalent to the Western digits 0 through 9. - A string array that contains the native equivalent of the Western digits 0 through 9. The default is an array having the elements "0", "1", "2", "3", "4", "5", "6", "7", "8", and "9". - The current object is read-only. - In a set operation, the value is .-or-In a set operation, an element of the value array is . - In a set operation, the value array does not contain 10 elements.-or-In a set operation, an element of the value array does not contain either a single object or a pair of objects that comprise a surrogate pair.-or-In a set operation, an element of the value array is not a number digit as defined by the Unicode Standard. That is, the digit in the array element does not have the Unicode (Nd) General Category value.-or-In a set operation, the numeric value of an element in the value array does not correspond to the element's position in the array. That is, the element at index 0, which is the first element of the array, does not have a numeric value of 0, or the element at index 1 does not have a numeric value of 1. - - - Gets or sets the string that represents negative infinity. - The string that represents negative infinity. The default for is "-Infinity". - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets the string that denotes that the associated number is negative. - The string that denotes that the associated number is negative. The default for is "-". - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets the number of decimal places to use in numeric values. - The number of decimal places to use in numeric values. The default for is 2. - The property is being set to a value that is less than 0 or greater than 99. - The property is being set and the object is read-only. - - - Gets or sets the string to use as the decimal separator in numeric values. - The string to use as the decimal separator in numeric values. The default for is ".". - The property is being set to . - The property is being set and the object is read-only. - The property is being set to an empty string. - - - Gets or sets the string that separates groups of digits to the left of the decimal in numeric values. - The string that separates groups of digits to the left of the decimal in numeric values. The default for is ",". - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets the number of digits in each group to the left of the decimal in numeric values. - The number of digits in each group to the left of the decimal in numeric values. The default for is a one-dimensional array with only one element, which is set to 3. - The property is being set to . - The property is being set and the array contains an entry that is less than 0 or greater than 9.-or- The property is being set and the array contains an entry, other than the last entry, that is set to 0. - The property is being set and the object is read-only. - - - Gets or sets the format pattern for negative numeric values. - The format pattern for negative numeric values. - The property is being set to a value that is less than 0 or greater than 4. - The property is being set and the object is read-only. - - - Gets or sets the number of decimal places to use in percent values. - The number of decimal places to use in percent values. The default for is 2. - The property is being set to a value that is less than 0 or greater than 99. - The property is being set and the object is read-only. - - - Gets or sets the string to use as the decimal separator in percent values. - The string to use as the decimal separator in percent values. The default for is ".". - The property is being set to . - The property is being set and the object is read-only. - The property is being set to an empty string. - - - Gets or sets the string that separates groups of digits to the left of the decimal in percent values. - The string that separates groups of digits to the left of the decimal in percent values. The default for is ",". - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets the number of digits in each group to the left of the decimal in percent values. - The number of digits in each group to the left of the decimal in percent values. The default for is a one-dimensional array with only one element, which is set to 3. - The property is being set to . - The property is being set and the array contains an entry that is less than 0 or greater than 9.-or- The property is being set and the array contains an entry, other than the last entry, that is set to 0. - The property is being set and the object is read-only. - - - Gets or sets the format pattern for negative percent values. - The format pattern for negative percent values. The default for is 0, which represents "-n %", where "%" is the and is a number. - The property is being set to a value that is less than 0 or greater than 11. - The property is being set and the object is read-only. - - - Gets or sets the format pattern for positive percent values. - The format pattern for positive percent values. The default for is 0, which represents "n %", where "%" is the and is a number. - The property is being set to a value that is less than 0 or greater than 3. - The property is being set and the object is read-only. - - - Gets or sets the string to use as the percent symbol. - The string to use as the percent symbol. The default for is "%". - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets the string to use as the per mille symbol. - The string to use as the per mille symbol. The default for is "‰", which is the Unicode character U+2030. - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets the string that represents positive infinity. - The string that represents positive infinity. The default for is "Infinity". - The property is being set to . - The property is being set and the object is read-only. - - - Gets or sets the string that denotes that the associated number is positive. - The string that denotes that the associated number is positive. The default for is "+". - In a set operation, the value to be assigned is . - The property is being set and the object is read-only. - - - Gets a value indicating whether the current calendar is solar-based, lunar-based, or lunisolar-based. - Always returns . - - - Gets the list of eras in a object. - An array of integers that represents the eras in a object. The array consists of a single element having a value of . - - - Gets the latest date and time supported by the class. - The latest date and time supported by the class. See the Remarks section for more information. - - - Gets the earliest date and time supported by the class. - The earliest date and time supported by the class. See the Remarks section for more information. - - - Gets or sets the last year of a 100-year range that can be represented by a 2-digit year. - The last year of a 100-year range that can be represented by a 2-digit year. - This calendar is read-only. - The value in a set operation is less than 100 or greater than 9378. - - - Gets the name, in English, of the currency used in the country/region. - The name, in English, of the currency used in the country/region. - - - Gets the name of the currency used in the country/region, formatted in the native language of the country/region. - The native name of the currency used in the country/region, formatted in the language associated with the ISO 3166 country/region code. - - - Gets the currency symbol associated with the country/region. - The currency symbol associated with the country/region. - - - Gets the that represents the country/region used by the current thread. - The that represents the country/region used by the current thread. - - - Gets the full name of the country/region in the language of the localized version of .NET Framework. - The full name of the country/region in the language of the localized version of .NET Framework. - - - Gets the full name of the country/region in English. - The full name of the country/region in English. - - - Gets a unique identification number for a geographical region, country, city, or location. - A 32-bit signed number that uniquely identifies a geographical location. - - - Gets a value indicating whether the country/region uses the metric system for measurements. - - if the country/region uses the metric system for measurements; otherwise, . - - - Gets the three-character ISO 4217 currency symbol associated with the country/region. - The three-character ISO 4217 currency symbol associated with the country/region. - - - Gets the name or ISO 3166 two-letter country/region code for the current object. - The value specified by the parameter of the constructor. The return value is in uppercase.-or-The two-letter code defined in ISO 3166 for the country/region specified by the parameter of the constructor. The return value is in uppercase. - - - Gets the name of a country/region formatted in the native language of the country/region. - The native name of the country/region formatted in the language associated with the ISO 3166 country/region code. - - - Gets the three-letter code defined in ISO 3166 for the country/region. - The three-letter code defined in ISO 3166 for the country/region. - - - Gets the three-letter code assigned by Windows to the country/region represented by this . - The three-letter code assigned by Windows to the country/region represented by this . - - - Gets the two-letter code defined in ISO 3166 for the country/region. - The two-letter code defined in ISO 3166 for the country/region. - - - Gets the byte array representing the current object. - A byte array representing the current object. - - - Gets the original string used to create the current object. - The original string used to create the current object. - - - Gets the full version number of the object. - The version number of this object. - - - Gets a globally unique identifier for this object. - A globally unique identifier for this object. - - - Gets the number of text elements in the current object. - The number of base characters, surrogate pairs, and combining character sequences in this object. - - - Gets or sets the value of the current object. - The string that is the value of the current object. - The value in a set operation is . - - - Gets a value that indicates whether the current calendar is solar-based, lunar-based, or a combination of both. - Always returns . - - - Gets the list of eras in the . - An array that consists of a single element for which the value is always the current era. - - - Gets the latest date and time supported by the class. - The latest date and time supported by the class, which is equivalent to the last moment of December 31, 9999 C.E. in the Gregorian calendar. - - - Gets the earliest date and time supported by the class. - The earliest date and time supported by the class, which is equivalent to the first moment of January 1, 1912 C.E. in the Gregorian calendar. - - - Gets or sets the last year of a 100-year range that can be represented by a 2-digit year. - The last year of a 100-year range that can be represented by a 2-digit year. - The value specified in a set operation is less than 99. -or- The value specified in a set operation is greater than . - In a set operation, the current instance is read-only. - - - Gets the number of days in the year that precedes the year specified by the property. - The number of days in the year that precedes the year specified by . - - - Gets the eras that are relevant to the current object. - An array that consists of a single element having a value that is always the current era. - - - Gets the maximum date and time supported by the class. - The latest date and time supported by the class, which is equivalent to the last moment of February 10, 2051 C.E. in the Gregorian calendar. - - - Gets the minimum date and time supported by the class. - The earliest date and time supported by the class, which is equivalent to the first moment of February 18, 1912 C.E. in the Gregorian calendar. - - - Gets the current text element in the string. - An object containing the current text element in the string. - The enumerator is positioned before the first text element of the string or after the last text element. - - - Gets the index of the text element that the enumerator is currently positioned over. - The index of the text element that the enumerator is currently positioned over. - The enumerator is positioned before the first text element of the string or after the last text element. - - - Gets the American National Standards Institute (ANSI) code page used by the writing system represented by the current . - The ANSI code page used by the writing system represented by the current . - - - Gets the name of the culture associated with the current object. - The name of a culture. - - - Gets the Extended Binary Coded Decimal Interchange Code (EBCDIC) code page used by the writing system represented by the current . - The EBCDIC code page used by the writing system represented by the current . - - - Gets a value indicating whether the current object is read-only. - - if the current object is read-only; otherwise, . - - - Gets a value indicating whether the current object represents a writing system where text flows from right to left. - - if text flows from right to left; otherwise, . - - - Gets the culture identifier for the culture associated with the current object. - A number that identifies the culture from which the current object was created. - - - Gets or sets the string that separates items in a list. - The string that separates items in a list. - The value in a set operation is null. - In a set operation, the current object is read-only. - - - Gets the Macintosh code page used by the writing system represented by the current . - The Macintosh code page used by the writing system represented by the current . - - - Gets the original equipment manufacturer (OEM) code page used by the writing system represented by the current . - The OEM code page used by the writing system represented by the current . - - - Gets a value indicating whether the current calendar is solar-based, lunar-based, or a combination of both. - Always returns . - - - Gets the list of eras in the class. - An array that consists of a single element having a value that is always the current era. - - - Gets the latest date and time supported by the class. - The latest date and time supported by the class, which is equivalent to the last moment of December 31, 9999 C.E. in the Gregorian calendar. - - - Gets the earliest date and time supported by the class. - The earliest date and time supported by the class, which is equivalent to the first moment of January 1, 0001 C.E. in the Gregorian calendar. - - - Gets or sets the last year of a 100-year range that can be represented by a 2-digit year. - The last year of a 100-year range that can be represented by a 2-digit year. - The value specified in a set operation is less than 99. -or- The value specified in a set operation is greater than . - In a set operation, the current instance is read-only. - - - Gets a value indicating whether the current calendar is solar-based, lunar-based, or a combination of both. - Always returns . - - - Gets the number of days in the year that precedes the year that is specified by the property. - The number of days in the year that precedes the year specified by . - - - Gets a list of the eras that are supported by the current . - An array that consists of a single element having a value that is . - - - Gets the latest date and time supported by this calendar. - The latest date and time supported by the class, which is equivalent to the last moment of November 16, 2077 C.E. in the Gregorian calendar. - - - Gets the earliest date and time supported by this calendar. - The earliest date and time supported by the class, which is equivalent to the first moment of April 30, 1900 C.E. in the Gregorian calendar. - - - Gets or sets the last year of a 100-year range that can be represented by a 2-digit year. - The last year of a 100-year range that can be represented by a 2-digit year. - This calendar is read-only. - In a set operation, the Um Al Qura calendar year value is less than 1318 but not 99, or is greater than 1450. - - - Gets or sets the name of the directory containing the application. - A containg the name of the application base directory. - - - Gets or sets the name of the application. - A that is the name of the application. - - - Gets and sets the name of an area specific to the application where files are shadow copied. - A that is the fully-qualified name of the directory path and file name where files are shadow copied. - - - Gets and sets the name of the configuration file for an application domain. - A that specifies the name of the configuration file. - - - Gets or sets the directory where dynamically generated files are stored and accessed. - A that specifies the directory containing dynamic assemblies. - - - Gets or sets the location of the license file associated with this domain. - A that specifies the name of the license file. - - - Gets or sets the list of directories that is combined with the directory to probe for private assemblies. - A containing a list of directory names, where each name is separated by a semicolon. - - - Gets or sets the private binary directory path used to locate an application. - A containing a list of directory names, where each name is separated by a semicolon. - - - Gets or sets the names of the directories containing assemblies to be shadow copied. - A containing a list of directory names, where each name is separated by a semicolon. - - - Gets or sets a string that indicates whether shadow copying is turned on or off. - A containing the value "true" to indicate that shadow copying is turned on; or "false" to indicate that shadow copying is turned off. - - - Gets a user-defined object that qualifies or contains information about an asynchronous operation. - A user-defined object that qualifies or contains information about an asynchronous operation. - - - Gets a that is used to wait for an asynchronous operation to complete. - A that is used to wait for an asynchronous operation to complete. - - - Gets a value that indicates whether the asynchronous operation completed synchronously. - - if the asynchronous operation completed synchronously; otherwise, . - - - Gets a value that indicates whether the asynchronous operation has completed. - - if the operation is complete; otherwise, . - - - Gets the size of this instance. - - The size of a pointer or handle in this process, measured in bytes. The value of this property is 4 in a 32-bit process, and 8 in a 64-bit process. You can define the process type by setting the switch when you compile your code with the C# and Visual Basic compilers. - - - Exposes access to the underlying stream of the . - The underlying stream associated with the . - - - Gets the underlying stream of the . - The underlying stream associated with the . - - - Gets a value indicating whether the current stream supports reading. - - if the stream supports reading; if the stream is closed or was opened with write-only access. - - - Gets a value indicating whether the current stream supports seeking. - - if the stream supports seeking; if the stream is closed or if the stream was constructed from an operating system handle such as a pipe or output to the console. - - - Gets a value indicating whether the current stream supports writing. - - if the stream supports writing; if the stream is closed or was opened with read-only access. - - - Gets the stream length in bytes. - The stream length in bytes. - The underlying stream is or closed. - The stream does not support seeking. - Methods were called after the stream was closed. - - - Gets the position within the current stream. - The position within the current stream. - The value passed to is negative. - An I/O error occurs, such as the stream being closed. - The stream does not support seeking. - Methods were called after the stream was closed. - - - Gets a value indicating whether the directory exists. - - if the directory exists; otherwise, . - - - Gets the full path of the directory. - A string containing the full path. - - - Gets the name of this instance. - The directory name. - - - Gets the parent directory of a specified subdirectory. - The parent directory, or if the path is null or if the file path denotes a root (such as "\", "C:", or * "\\server\share"). - The caller does not have the required permission. - - - Gets the root portion of the directory. - An object that represents the root of the directory. - The caller does not have the required permission. - - - Indicates the amount of available free space on a drive, in bytes. - The amount of free space available on the drive, in bytes. - Access to the drive information is denied. - An I/O error occurred (for example, a disk error or a drive was not ready). - - - Gets the name of the file system, such as NTFS or FAT32. - The name of the file system on the specified drive. - Access to the drive information is denied. - The drive does not exist or is not mapped. - An I/O error occurred (for example, a disk error or a drive was not ready). - - - Gets the drive type, such as CD-ROM, removable, network, or fixed. - One of the enumeration values that specifies a drive type. - - - Gets a value that indicates whether a drive is ready. - - if the drive is ready; if the drive is not ready. - - - Gets the name of a drive, such as C:\. - The name of the drive. - - - Gets the root directory of a drive. - An object that contains the root directory of the drive. - - - Gets the total amount of free space available on a drive, in bytes. - The total free space available on a drive, in bytes. - Access to the drive information is denied. - The drive is not mapped or does not exist. - An I/O error occurred (for example, a disk error or a drive was not ready). - - - Gets the total size of storage space on a drive, in bytes. - The total size of the drive, in bytes. - Access to the drive information is denied. - The drive is not mapped or does not exist. - An I/O error occurred (for example, a disk error or a drive was not ready). - - - Gets or sets the volume label of a drive. - The volume label. - An I/O error occurred (for example, a disk error or a drive was not ready). - The drive is not mapped or does not exist. - The caller does not have the required permission. - The volume label is being set on a network or CD-ROM drive.-or-Access to the drive information is denied. - - - Gets an instance of the parent directory. - A object representing the parent directory of this file. - The specified path is invalid, such as being on an unmapped drive. - The caller does not have the required permission. - - - Gets a string representing the directory's full path. - A string representing the directory's full path. - - was passed in for the directory name. - The fully qualified path is 260 or more characters. - The caller does not have the required permission. - - - Gets a value indicating whether a file exists. - - if the file exists; if the file does not exist or if the file is a directory. - - - Gets or sets a value that determines if the current file is read only. - - if the current file is read only; otherwise, . - The file described by the current object could not be found. - An I/O error occurred while opening the file. - This operation is not supported on the current platform.-or- The caller does not have the required permission. - The user does not have write permission, but attempted to set this property to . - - - Gets the size, in bytes, of the current file. - The size of the current file in bytes. - - cannot update the state of the file or directory. - The file does not exist.-or- The property is called for a directory. - - - Gets the name of the file. - The name of the file. - - - Gets the name of the file that causes this exception. - A containing the name of the file with the invalid image, or a null reference if no file name was passed to the constructor for the current instance. - - - Gets the log file that describes why an assembly load failed. - A string containing errors reported by the assembly cache. - The caller does not have the required permission. - - - Gets the error message and the name of the file that caused this exception. - A string containing the error message and the name of the file that caused this exception. - - - Gets the name of the file that cannot be found. - The name of the file, or if no file name was passed to the constructor for this instance. - - - Gets the log file that describes why loading of an assembly failed. - The errors reported by the assembly cache. - The caller does not have the required permission. - - - Gets the error message that explains the reason for the exception. - The error message. - - - Gets a value indicating whether the current stream supports reading. - - if the stream supports reading; if the stream is closed or was opened with write-only access. - - - Gets a value indicating whether the current stream supports seeking. - - if the stream supports seeking; if the stream is closed or if the was constructed from an operating-system handle such as a pipe or output to the console. - - - Gets a value indicating whether the current stream supports writing. - - if the stream supports writing; if the stream is closed or was opened with read-only access. - - - Gets the operating system file handle for the file that the current object encapsulates. - The operating system file handle for the file encapsulated by this object, or -1 if the has been closed. - The caller does not have the required permission. - - - Gets a value indicating whether the was opened asynchronously or synchronously. - - if the was opened asynchronously; otherwise, . - - - Gets the length in bytes of the stream. - A long value representing the length of the stream in bytes. - - for this stream is . - An I/O error, such as the file being closed, occurred. - - - Gets the name of the that was passed to the constructor. - A string that is the name of the . - - - Gets or sets the current position of this stream. - The current position of this stream. - The stream does not support seeking. - An I/O error occurred. - or -The position was set to a very large value beyond the end of the stream in Windows 98 or earlier. - Attempted to set the position to a negative value. - Attempted seeking past the end of a stream that does not support this. - - - Gets a object that represents the operating system file handle for the file that the current object encapsulates. - An object that represents the operating system file handle for the file that the current object encapsulates. - - - Gets or sets the attributes for the current file or directory. - - of the current . - The specified file does not exist. - The specified path is invalid; for example, it is on an unmapped drive. - The caller does not have the required permission. - The caller attempts to set an invalid file attribute. -or-The user attempts to set an attribute value but does not have write permission. - - cannot initialize the data. - - - Gets or sets the creation time of the current file or directory. - The creation date and time of the current object. - - cannot initialize the data. - The specified path is invalid; for example, it is on an unmapped drive. - The current operating system is not Windows NT or later. - The caller attempts to set an invalid creation time. - - - Gets or sets the creation time, in coordinated universal time (UTC), of the current file or directory. - The creation date and time in UTC format of the current object. - - cannot initialize the data. - The specified path is invalid; for example, it is on an unmapped drive. - The current operating system is not Windows NT or later. - The caller attempts to set an invalid access time. - - - Gets a value indicating whether the file or directory exists. - - if the file or directory exists; otherwise, . - - - Gets the string representing the extension part of the file. - A string containing the extension. - - - Gets the full path of the directory or file. - A string containing the full path. - The fully qualified path and file name is 260 or more characters. - The caller does not have the required permission. - - - Gets or sets the time the current file or directory was last accessed. - The time that the current file or directory was last accessed. - - cannot initialize the data. - The current operating system is not Windows NT or later. - The caller attempts to set an invalid access time - - - Gets or sets the time, in coordinated universal time (UTC), that the current file or directory was last accessed. - The UTC time that the current file or directory was last accessed. - - cannot initialize the data. - The current operating system is not Windows NT or later. - The caller attempts to set an invalid access time. - - - Gets or sets the time when the current file or directory was last written to. - The time the current file was last written. - - cannot initialize the data. - The current operating system is not Windows NT or later. - The caller attempts to set an invalid write time. - - - Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to. - The UTC time when the current file was last written to. - - cannot initialize the data. - The current operating system is not Windows NT or later. - The caller attempts to set an invalid write time. - - - For files, gets the name of the file. For directories, gets the name of the last directory in the hierarchy if a hierarchy exists. Otherwise, the property gets the name of the directory. - A string that is the name of the parent directory, the name of the last directory in the hierarchy, or the name of a file, including the file name extension. - - - Gets an application identity that scopes isolated storage. - An that represents the identity. - The code lacks the required to access this object. These permissions are granted by the runtime based on security policy. - The object is not isolated by the application . - - - Gets an assembly identity used to scope isolated storage. - An that represents the identity. - The code lacks the required to access this object. - The assembly is not defined. - - - When overridden in a derived class, gets the available free space for isolated storage, in bytes. - The available free space for isolated storage, in bytes. - An operation was performed that requires access to , but that property is not defined for this store. Stores that are obtained by using enumerations do not have a well-defined property, because partial evidence is used to open the store. - - - Gets a value representing the current size of isolated storage. - The number of storage units currently used within the isolated storage scope. - The current size of the isolated store is undefined. - - - Gets a domain identity that scopes isolated storage. - An that represents the identity. - The code lacks the required to access this object. These permissions are granted by the runtime based on security policy. - The object is not isolated by the domain . - - - Gets a value representing the maximum amount of space available for isolated storage. When overridden in a derived class, this value can take different units of measure. - The maximum amount of isolated storage space in bytes. Derived classes can return different units of value. - The quota has not been defined. - - - When overridden in a derived class, gets a value that represents the maximum amount of space available for isolated storage. - The limit of isolated storage space, in bytes. - An operation was performed that requires access to , but that property is not defined for this store. Stores that are obtained by using enumerations do not have a well-defined property, because partial evidence is used to open the store. - - - Gets an enumeration value specifying the scope used to isolate the store. - A bitwise combination of values specifying the scope used to isolate the store. - - - Gets a backslash character that can be used in a directory string. When overridden in a derived class, another character might be returned. - The default implementation returns the '\' (backslash) character. - - - Gets a period character that can be used in a directory string. When overridden in a derived class, another character might be returned. - The default implementation returns the '.' (period) character. - - - When overridden in a derived class, gets a value that represents the amount of the space used for isolated storage. - The used amount of isolated storage space, in bytes. - An operation was performed that requires access to , but that property is not defined for this store. Stores that are obtained by using enumerations do not have a well-defined property, because partial evidence is used to open the store. - - - Gets a value that represents the amount of free space available for isolated storage. - The available free space for isolated storage, in bytes. - The isolated store is closed. - The isolated store has been removed. -or-Isolated storage is disabled. - The isolated store has been disposed. - - - Gets the current size of the isolated storage. - The total number of bytes of storage currently in use within the isolated storage scope. - The property is unavailable. The current store has a roaming scope or is not open. - The current object size is undefined. - - - Gets a value that indicates whether isolated storage is enabled. - - in all cases. - - - Gets a value representing the maximum amount of space available for isolated storage within the limits established by the quota. - The limit of isolated storage space in bytes. - The property is unavailable. cannot be determined without evidence from the assembly's creation. The evidence could not be determined when the object was created. - An isolated storage error occurred. - - - Gets a value that represents the maximum amount of space available for isolated storage. - The limit of isolated storage space, in bytes. - The isolated store has been removed. -or-Isolated storage is disabled. - The isolated store has been disposed. - - - Gets a value that represents the amount of the space used for isolated storage. - The used isolated storage space, in bytes. - The isolated store has been closed. - The isolated store has been removed. - The isolated store has been disposed. - - - Gets a Boolean value indicating whether the file can be read. - - if an object can be read; otherwise, . - - - Gets a Boolean value indicating whether seek operations are supported. - - if an object supports seek operations; otherwise, . - - - Gets a Boolean value indicating whether you can write to the file. - - if an object can be written; otherwise, . - - - Gets the file handle for the file that the current object encapsulates. Accessing this property is not permitted on an object, and throws an . - The file handle for the file that the current object encapsulates. - The property always generates this exception. - - - Gets a Boolean value indicating whether the object was opened asynchronously or synchronously. - - if the object supports asynchronous access; otherwise, . - - - Gets the length of the object. - The length of the object in bytes. - - - Gets or sets the current position of the current object. - The current position of this object. - The position cannot be set to a negative number. - - - Gets a object that represents the operating system file handle for the file that the current object encapsulates. - A object that represents the operating system file handle for the file that the current object encapsulates. - The property always generates this exception. - - - Gets the option for managing isolated storage security. - The option to increase the isolated quota storage size. - - - Gets or sets the current size of the quota for isolated storage. - The current quota size, in bytes. - - - Gets the current usage size in isolated storage. - The current usage size, in bytes. - - - Gets a value indicating whether the current stream supports reading. - - if the stream is open. - - - Gets a value indicating whether the current stream supports seeking. - - if the stream is open. - - - Gets a value indicating whether the current stream supports writing. - - if the stream supports writing; otherwise, . - - - Gets or sets the number of bytes allocated for this stream. - The length of the usable portion of the buffer for the stream. - A capacity is set that is negative or less than the current length of the stream. - The current stream is closed. - - is invoked on a stream whose capacity cannot be modified. - - - Gets the length of the stream in bytes. - The length of the stream in bytes. - The stream is closed. - - - Gets or sets the current position within the stream. - The current position within the stream. - The position is set to a negative value or a value greater than . - The stream is closed. - - - When overridden in a derived class, gets a value indicating whether the current stream supports reading. - - if the stream supports reading; otherwise, . - - - When overridden in a derived class, gets a value indicating whether the current stream supports seeking. - - if the stream supports seeking; otherwise, . - - - Gets a value that determines whether the current stream can time out. - A value that determines whether the current stream can time out. - - - When overridden in a derived class, gets a value indicating whether the current stream supports writing. - - if the stream supports writing; otherwise, . - - - When overridden in a derived class, gets the length in bytes of the stream. - A long value representing the length of the stream in bytes. - A class derived from does not support seeking. - Methods were called after the stream was closed. - - - When overridden in a derived class, gets or sets the position within the current stream. - The current position within the stream. - An I/O error occurs. - The stream does not support seeking. - Methods were called after the stream was closed. - - - Gets or sets a value, in miliseconds, that determines how long the stream will attempt to read before timing out. - A value, in miliseconds, that determines how long the stream will attempt to read before timing out. - The method always throws an . - - - Gets or sets a value, in miliseconds, that determines how long the stream will attempt to write before timing out. - A value, in miliseconds, that determines how long the stream will attempt to write before timing out. - The method always throws an . - - - Returns the underlying stream. - The underlying stream. - - - Gets the current character encoding that the current object is using. - The current character encoding used by the current reader. The value can be different after the first call to any method of , since encoding autodetection is not done until the first call to a method. - - - Gets a value that indicates whether the current stream position is at the end of the stream. - - if the current stream position is at the end of the stream; otherwise . - The underlying stream has been disposed. - - - Gets or sets a value indicating whether the will flush its buffer to the underlying stream after every call to . - - to force to flush its buffer; otherwise, . - - - Gets the underlying stream that interfaces with a backing store. - The stream this is writing to. - - - Gets the in which the output is written. - The specified in the constructor for the current instance, or if an encoding was not specified. - - - Gets the in which the output is written. - The in which the output is written. - - - When overridden in a derived class, returns the character encoding in which the output is written. - The character encoding in which the output is written. - - - Gets an object that controls formatting. - An object for a specific culture, or the formatting of the current culture if no other culture is specified. - - - Gets or sets the line terminator string used by the current . - The line terminator string for the current . - - - Determines whether the accessor is readable. - - if the accessor is readable; otherwise, . - - - Determines whether the accessory is writable. - - if the accessor is writable; otherwise, . - - - Gets the capacity of the accessor. - The capacity of the accessor. - - - Determines whether the accessor is currently open by a process. - - if the accessor is open; otherwise, . - - - Gets a value indicating whether a stream supports reading. - - if the object was created by a constructor with an parameter that did not include reading the stream and if the stream is closed; otherwise, . - - - Gets a value indicating whether a stream supports seeking. - - if the stream is closed; otherwise, . - - - Gets a value indicating whether a stream supports writing. - - if the object was created by a constructor with an parameter value that supports writing or was created by a constructor that had no parameters, or if the stream is closed; otherwise, . - - - Gets the stream length (size) or the total amount of memory assigned to a stream (capacity). - The size or capacity of the stream. - The stream is closed. - - - Gets the length of the data in a stream. - The length of the data in the stream. - The stream is closed. - - - Gets or sets the current position in a stream. - The current position in the stream. - The stream is closed. - The position is set to a value that is less than zero, or the position is larger than or results in overflow when added to the current pointer. - - - Gets or sets a byte pointer to a stream based on the current position in the stream. - A byte pointer. - The current position is larger than the capacity of the stream. - The position is being set is not a valid position in the current stream. - The pointer is being set to a lower value than the starting position of the stream. - The stream was initialized for use with a . The property is valid only for streams that are initialized with a pointer. - - - Gets a value that indicates whether a value has been created for this instance. - - if a value has been created for this instance; otherwise, . - - - Gets the lazily initialized value of the current instance. - The lazily initialized value of the current instance. - The instance is initialized to use the default constructor of the type that is being lazily initialized, and permissions to access the constructor are missing. - The instance is initialized to use the default constructor of the type that is being lazily initialized, and that type does not have a public, parameterless constructor. - The initialization function tries to access on this instance. - - - Gets the current value for this instance. - A constant. - - - Gets the text string showing the signature of the missing field, the class name, and the field name. This property is read-only. - The error message string. - - - Gets the text string showing the class name, the member name, and the signature of the missing member. - The error message string. - - - Gets the text string showing the class name, the method name, and the signature of the missing method. This property is read-only. - The error message string. - - - Gets the metadata stream version. - A 32-bit integer representing the metadata stream version. The high-order two bytes represent the major version number, and the low-order two bytes represent the minor version number. - - - Gets the invalid number that is a positive infinity, a negative infinity, or Not-a-Number (NaN). - The invalid number. - - - Gets a value indicating whether the current object has a valid value of its underlying type. - - if the current object has a value; if the current object has no value. - - - Gets the value of the current object if it has been assigned a valid underlying value. - The value of the current object if the property is . An exception is thrown if the property is . - The property is . - - - Gets the message that describes the error. - A string that describes the error. - - - Gets the name of the disposed object. - A string containing the name of the disposed object. - - - Gets a Boolean value indicating whether the compiler will treat usage of the obsolete program element as an error. - - if the obsolete element usage is considered an error; otherwise, . The default is . - - - Gets the workaround message, including a description of the alternative program elements. - The workaround text string. - - - Gets a enumeration value that identifies the operating system platform. - One of the values. - - - Gets the service pack version represented by this object. - The service pack version, if service packs are supported and at least one is installed; otherwise, an empty string (""). - - - Gets a object that identifies the operating system. - A object that describes the major version, minor version, build, and revision numbers for the operating system. - - - Gets the concatenated string representation of the platform identifier, version, and service pack that are currently installed on the operating system. - The string representation of the values returned by the , , and properties. - - - Gets a token associated with the operation that was canceled. - A token associated with the operation that was canceled, or a default token. - - - Gets the location of the assembly as specified originally, for example, in an object. - The location of the assembly as specified originally. - - - Gets a collection that contains this assembly's custom attributes. - A collection that contains this assembly's custom attributes. - - - Gets a collection of the types defined in this assembly. - A collection of the types defined in this assembly. - - - Gets the entry point of this assembly. - An object that represents the entry point of this assembly. If no entry point is found (for example, the assembly is a DLL), is returned. - - - Gets the URI, including escape characters, that represents the codebase. - A URI with escape characters. - - - Gets the evidence for this assembly. - The evidence for this assembly. - - - Gets a collection of the public types defined in this assembly that are visible outside the assembly. - A collection of the public types defined in this assembly that are visible outside the assembly. - - - Gets the display name of the assembly. - The display name of the assembly. - - - Gets a value indicating whether the assembly was loaded from the global assembly cache. - - if the assembly was loaded from the global assembly cache; otherwise, . - - - Gets the host context with which the assembly was loaded. - An value that indicates the host context with which the assembly was loaded, if any. - - - Gets a string representing the version of the common language runtime (CLR) saved in the file containing the manifest. - The CLR version folder name. This is not a full path. - - - Gets a value that indicates whether the current assembly was generated dynamically in the current process by using reflection emit. - - if the current assembly was generated dynamically in the current process; otherwise, . - - - Gets a value that indicates whether the current assembly is loaded with full trust. - - if the current assembly is loaded with full trust; otherwise, . - - - Gets the full path or UNC location of the loaded file that contains the manifest. - The location of the loaded file that contains the manifest. If the loaded file was shadow-copied, the location is that of the file after being shadow-copied. If the assembly is loaded from a byte array, such as when using the method overload, the value returned is an empty string (""). - The current assembly is a dynamic assembly, represented by an object. - - - Gets the module that contains the manifest for the current assembly. - The module that contains the manifest for the assembly. - - - Gets a collection that contains the modules in this assembly. - A collection that contains the modules in this assembly. - - - Gets the grant set of the current assembly. - The grant set of the current assembly. - - - Gets a value indicating whether this assembly was loaded into the reflection-only context. - - if the assembly was loaded into the reflection-only context, rather than the execution context; otherwise, . - - - Gets a value that indicates which set of security rules the common language runtime (CLR) enforces for this assembly. - The security rule set that the CLR enforces for this assembly. - - - Gets the hash algorithm of an assembly manifest's contents. - An unsigned integer representing the assembly hash algorithm. - - - Gets company name information. - A string containing the company name. - - - Gets assembly configuration information. - A string containing the assembly configuration information. - - - Gets copyright information. - A string containing the copyright information. - - - Gets the supported culture of the attributed assembly. - A string containing the name of the supported culture. - - - Gets default alias information. - A string containing the default alias information. - - - Gets a value indicating the state of the attribute. - - if this assembly has been built as delay-signed; otherwise, . - - - Gets assembly description information. - A string containing the assembly description. - - - Gets the Win32 file version resource name. - A string containing the file version resource name. - - - Gets an integer value representing the combination of flags specified when this attribute instance was created. - An integer value representing a bitwise combination of flags. - - - Gets an unsigned integer value representing the combination of flags specified when this attribute instance was created. - An unsigned integer value representing a bitwise combination of flags. - - - Gets version information. - A string containing the version information. - - - Gets the name of the file containing the key pair used to generate a strong name for the attributed assembly. - A string containing the name of the file that contains the key pair. - - - Gets the name of the container having the key pair that is used to generate a strong name for the attributed assembly. - A string containing the name of the container that has the relevant key pair. - - - Gets the metadata key. - The metadata key. - - - Gets the metadata value. - The metadata value. - - - Gets or sets the location of the assembly as a URL. - A string that is the URL location of the assembly. - - - - Gets or sets a value that indicates what type of content the assembly contains. - A value that indicates what type of content the assembly contains. - - - Gets or sets the culture supported by the assembly. - An object that represents the culture supported by the assembly. - - - Gets or sets the name of the culture associated with the assembly. - The culture name. - - - Gets the URI, including escape characters, that represents the codebase. - A URI with escape characters. - - - Gets or sets the attributes of the assembly. - A value that represents the attributes of the assembly. - - - Gets the full name of the assembly, also known as the display name. - A string that is the full name of the assembly, also known as the display name. - - - Gets or sets the hash algorithm used by the assembly manifest. - The hash algorithm used by the assembly manifest. - - - Gets or sets the public and private cryptographic key pair that is used to create a strong name signature for the assembly. - The public and private cryptographic key pair to be used to create a strong name for the assembly. - - - Gets or sets the simple name of the assembly. This is usually, but not necessarily, the file name of the manifest file of the assembly, minus its extension. - The simple name of the assembly. - - - Gets or sets a value that identifies the processor and bits-per-word of the platform targeted by an executable. - One of the enumeration values that identifies the processor and bits-per-word of the platform targeted by an executable. - - - Gets or sets the major, minor, build, and revision numbers of the assembly. - An object that represents the major, minor, build, and revision numbers of the assembly. - - - Gets or sets the information related to the assembly's compatibility with other assemblies. - A value that represents information about the assembly's compatibility with other assemblies. - - - Gets product name information. - A string containing the product name. - - - Gets the countersignature for the strong name for this assembly. - The countersignature for this signature key. - - - Gets the public key for the strong name used to sign the assembly. - The public key for this assembly. - - - Gets assembly title information. - The assembly title. - - - Gets trademark information. - A containing trademark information. - - - Gets the version number of the attributed assembly. - A string containing the assembly version number. - - - Gets a value indicating that this member is a constructor. - A value indicating that this member is a constructor. - - - Gets the type of the attribute. - The type of the attribute. - - - Gets a object that represents the constructor that would have initialized the custom attribute. - An object that represents the constructor that would have initialized the custom attribute represented by the current instance of the class. - - - Gets the list of positional arguments specified for the attribute instance represented by the object. - A collection of structures that represent the positional arguments specified for the custom attribute instance. - - - Gets the list of named arguments specified for the attribute instance represented by the object. - A collection of structures that represent the named arguments specified for the custom attribute instance. - - - Gets a value that indicates whether the named argument is a field. - - if the named argument is a field; otherwise, . - - - Gets the attribute member that would be used to set the named argument. - The attribute member that would be used to set the named argument. - - - Gets the name of the attribute member that would be used to set the named argument. - The name of the attribute member that would be used to set the named argument. - - - Gets a structure that can be used to obtain the type and value of the current named argument. - A structure that can be used to obtain the type and value of the current named argument. - - - Gets the type of the argument or of the array argument element. - A object representing the type of the argument or of the array element. - - - Gets the value of the argument for a simple argument or for an element of an array argument; gets a collection of values for an array argument. - An object that represents the value of the argument or element, or a generic of objects that represent the values of an array-type argument. - - - Gets the name from the attribute. - A string representing the member name. - - - Gets the location of the assembly, as specified originally (such as in an object). - The location of the assembly, as specified originally. - This method is not currently supported. - The caller does not have the required permission. - - - Returns the entry point of this assembly. - The entry point of this assembly. - The caller does not have the required permission. - - - Gets the evidence for this assembly. - The evidence for this assembly. - - - Gets the display name of the current dynamic assembly. - The display name of the dynamic assembly. - - - Gets a value that indicates whether the assembly was loaded from the global assembly cache. - Always . - - - Gets the host context where the dynamic assembly is being created. - A value that indicates the host context where the dynamic assembly is being created. - - - Gets the version of the common language runtime that will be saved in the file containing the manifest. - A string representing the common language runtime version. - The caller does not have the required permission. - - - Gets a value that indicates that the current assembly is a dynamic assembly. - Always . - - - Gets the location, in codebase format, of the loaded file that contains the manifest if it is not shadow-copied. - The location of the loaded file that contains the manifest. If the loaded file has been shadow-copied, the is that of the file before being shadow-copied. - This method is not currently supported. - The caller does not have the required permission. - - - Gets the module in the current that contains the assembly manifest. - The manifest module. - - - Gets the grant set of the current dynamic assembly. - The grant set of the current dynamic assembly. - - - Gets a value indicating whether the dynamic assembly is in the reflection-only context. - - if the dynamic assembly is in the reflection-only context; otherwise, . - - - Gets a value that indicates which set of security rules the common language runtime (CLR) enforces for this assembly. - The security rule set that the CLR enforces for this dynamic assembly. - - - Retrieves the attributes for this constructor. - Returns the attributes for this constructor. - - - Gets a value that depends on whether the declaring type is generic. - - if the declaring type is generic; otherwise, . - - - Retrieves a reference to the object for the type that declares this member. - Returns the object for the type that declares this member. - - - Gets or sets whether the local variables in this constructor should be zero-initialized. - Read/write. Gets or sets whether the local variables in this constructor should be zero-initialized. - - - Retrieves the internal handle for the method. Use this handle to access the underlying metadata handle. - Returns the internal handle for the method. Use this handle to access the underlying metadata handle. - This property is not supported on this class. - - - Gets the dynamic module in which this constructor is defined. - A object that represents the dynamic module in which this constructor is defined. - - - Retrieves the name of this constructor. - Returns the name of this constructor. - - - Holds a reference to the object from which this object was obtained. - Returns the object from which this object was obtained. - - - Gets . - Returns . - - - Retrieves the signature of the field in the form of a string. - Returns the signature of the field. - - - Gets the dynamic method whose body is generated by the current instance. - A object representing the dynamic method for which the current object is generating code. - - - Gets the attributes specified when the dynamic method was created. - A bitwise combination of the values representing the attributes for the method. - - - Gets the calling convention specified when the dynamic method was created. - One of the values that indicates the calling convention of the method. - - - Gets the type that declares the method, which is always for dynamic methods. - Always . - - - Gets or sets a value indicating whether the local variables in the method are zero-initialized. - - if the local variables in the method are zero-initialized; otherwise, . The default is . - - - Gets a value that indicates whether the current dynamic method is security-critical or security-safe-critical, and therefore can perform critical operations. - - if the current dynamic method is security-critical or security-safe-critical; if it is transparent. - The dynamic method doesn't have a method body. - - - Gets a value that indicates whether the current dynamic method is security-safe-critical at the current trust level; that is, whether it can perform critical operations and can be accessed by transparent code. - - if the dynamic method is security-safe-critical at the current trust level; if it is security-critical or transparent. - The dynamic method doesn't have a method body. - - - Gets a value that indicates whether the current dynamic method is transparent at the current trust level, and therefore cannot perform critical operations. - - if the dynamic method is security-transparent at the current trust level; otherwise, . - The dynamic method doesn't have a method body. - - - Not supported for dynamic methods. - Not supported for dynamic methods. - Not allowed for dynamic methods. - - - Gets the module with which the dynamic method is logically associated. - The with which the current dynamic method is associated. - - - Gets the name of the dynamic method. - The simple name of the method. - - - Gets the class that was used in reflection to obtain the method. - Always . - - - Gets the return parameter of the dynamic method. - Always . - - - Gets the type of return value for the dynamic method. - A representing the type of the return value of the current method; if the method has no return type. - - - Gets the custom attributes of the return type for the dynamic method. - An representing the custom attributes of the return type for the dynamic method. - - - Retrieves the dynamic assembly that contains this enum definition. - Read-only. The dynamic assembly that contains this enum definition. - - - Returns the full path of this enum qualified by the display name of the parent assembly. - Read-only. The full path of this enum qualified by the display name of the parent assembly. - - - Returns the parent of this type which is always . - Read-only. The parent of this type. - - - Returns the type that declared this . - Read-only. The type that declared this . - - - Returns the full path of this enum. - Read-only. The full path of this enum. - - - Returns the GUID of this enum. - Read-only. The GUID of this enum. - This method is not currently supported in types that are not complete. - - - Gets a value that indicates whether this object represents a constructed generic type. - - if this object represents a constructed generic type; otherwise, . - - - Retrieves the dynamic module that contains this definition. - Read-only. The dynamic module that contains this definition. - - - Returns the name of this enum. - Read-only. The name of this enum. - - - Returns the namespace of this enum. - Read-only. The namespace of this enum. - - - Returns the type that was used to obtain this . - Read-only. The type that was used to obtain this . - - - Retrieves the internal handle for this enum. - Read-only. The internal handle for this enum. - This property is not currently supported. - - - Returns the internal metadata type token of this enum. - Read-only. The type token of this enum. - - - Returns the underlying field for this enum. - Read-only. The underlying field for this enum. - - - Returns the underlying system type for this enum. - Read-only. Returns the underlying system type. - - - Retrieves the metadata token for this event. - Read-only. Retrieves the metadata token for this event. - - - Gets the token of the exception type handled by this handler. - The token of the exception type handled by this handler, or 0 if none exists. - - - Gets the byte offset at which the filter code for the exception handler begins. - The byte offset at which the filter code begins, or 0 if no filter is present. - - - Gets the length, in bytes, of the exception handler. - The length, in bytes, of the exception handler. - - - Gets the byte offset of the first instruction of the exception handler. - The byte offset of the first instruction of the exception handler. - - - Gets a value that represents the kind of exception handler this object represents. - One of the enumeration values that specifies the kind of exception handler. - - - Gets the length, in bytes, of the code protected by this exception handler. - The length, in bytes, of the code protected by this exception handler. - - - Gets the byte offset at which the code that is protected by this exception handler begins. - The byte offset at which the code that is protected by this exception handler begins. - - - Indicates the attributes of this field. This property is read-only. - The attributes of this field. - - - Indicates a reference to the object for the type that declares this field. This property is read-only. - A reference to the object for the type that declares this field. - - - Indicates the internal metadata handle for this field. This property is read-only. - The internal metadata handle for this field. - This method is not supported. - - - Indicates the object that represents the type of this field. This property is read-only. - The object that represents the type of this field. - - - Gets the module in which the type that contains this field is being defined. - A that represents the dynamic module in which this field is being defined. - - - Indicates the name of this field. This property is read-only. - A containing the name of this field. - - - Indicates the reference to the object from which this object was obtained. This property is read-only. - A reference to the object from which this instance was obtained. - - - Retrieves the metadata token for this field. - Read-only. Retrieves the metadata token of this field. - - - Gets an object representing the dynamic assembly that contains the generic type definition the current type parameter belongs to. - An object representing the dynamic assembly that contains the generic type definition the current type parameter belongs to. - - - Gets in all cases. - A null reference ( in Visual Basic) in all cases. - - - Gets the base type constraint of the current generic type parameter. - A object that represents the base type constraint of the generic type parameter, or if the type parameter has no base type constraint. - - - Gets in all cases. - - in all cases. - - - Gets a that represents the declaring method, if the current represents a type parameter of a generic method. - A that represents the declaring method, if the current represents a type parameter of a generic method; otherwise, . - - - Gets the generic type definition or generic method definition to which the generic type parameter belongs. - If the type parameter belongs to a generic type, a object representing that generic type; if the type parameter belongs to a generic method, a object representing that type that declared that generic method. - - - Gets in all cases. - A null reference ( in Visual Basic) in all cases. - - - Gets a combination of flags that describe the covariance and special constraints of the current generic type parameter. - A bitwise combination of values that describes the covariance and special constraints of the current generic type parameter. - - - Gets the position of the type parameter in the type parameter list of the generic type or method that declared the parameter. - The position of the type parameter in the type parameter list of the generic type or method that declared the parameter. - - - Not supported for incomplete generic type parameters. - Not supported for incomplete generic type parameters. - In all cases. - - - Gets a value that indicates whether this object represents a constructed generic type. - - if this object represents a constructed generic type; otherwise, . - - - Gets in all cases. - - in all cases. - - - Returns in all cases. - - in all cases. - - - Gets in all cases. - - in all cases. - - - Gets the dynamic module that contains the generic type parameter. - A object that represents the dynamic module that contains the generic type parameter. - - - Gets the name of the generic type parameter. - The name of the generic type parameter. - - - Gets in all cases. - A null reference ( in Visual Basic) in all cases. - - - Gets the object that was used to obtain the . - The object that was used to obtain the . - - - Not supported for incomplete generic type parameters. - Not supported for incomplete generic type parameters. - In all cases. - - - Gets the current generic type parameter. - The current object. - - - Gets the current offset, in bytes, in the Microsoft intermediate language (MSIL) stream that is being emitted by the . - The offset in the MSIL stream at which the next instruction will be emitted. - - - Gets a value indicating whether the object referred to by the local variable is pinned in memory. - - if the object referred to by the local variable is pinned in memory; otherwise, . - - - Gets the zero-based index of the local variable within the method body. - An integer value that represents the order of declaration of the local variable within the method body. - - - Gets the type of the local variable. - The of the local variable. - - - Retrieves the attributes for this method. - Read-only. Retrieves the for this method. - - - Returns the calling convention of the method. - Read-only. The calling convention of the method. - - - Not supported for this type. - Not supported. - The invoked method is not supported in the base class. - - - Returns the type that declares this method. - Read-only. The type that declares this method. - - - Gets or sets a Boolean value that specifies whether the local variables in this method are zero initialized. The default value of this property is . - - if the local variables in this method should be zero initialized; otherwise . - For the current method, the property is , but the property is . (Get or set.) - - - Gets a value indicating whether the method is a generic method. - - if the method is generic; otherwise, . - - - Gets a value indicating whether the current object represents the definition of a generic method. - - if the current object represents the definition of a generic method; otherwise, . - - - Throws a in all cases. - Throws a in all cases. - In all cases. This property is not supported in dynamic assemblies. See Remarks. - - - Throws a in all cases. - Throws a in all cases. - In all cases. This property is not supported in dynamic assemblies. See Remarks. - - - Throws a in all cases. - Throws a in all cases. - In all cases. This property is not supported in dynamic assemblies. See Remarks. - - - Retrieves the internal handle for the method. Use this handle to access the underlying metadata handle. - Read-only. The internal handle for the method. Use this handle to access the underlying metadata handle. - This method is not currently supported. Retrieve the method using and call on the returned . - - - Gets the module in which the current method is being defined. - The in which the member represented by the current is being defined. - - - Retrieves the name of this method. - Read-only. Retrieves a string containing the simple name of this method. - - - Retrieves the class that was used in reflection to obtain this object. - Read-only. The type used to obtain this method. - - - Gets a object that contains information about the return type of the method, such as whether the return type has custom modifiers. - A object that contains information about the return type. - The declaring type has not been created. - - - Gets the return type of the method represented by this . - The return type of the method. - - - Returns the custom attributes of the method's return type. - Read-only. The custom attributes of the method's return type. - - - Retrieves the signature of the method. - Read-only. A String containing the signature of the method reflected by this instance. - - - Returns the metadata token for this method. - Read-only. Returns the metadata token for this method. - - - Gets the dynamic assembly that defined this instance of . - The dynamic assembly that defined the current dynamic module. - - - Gets a representing the fully qualified name and path to this module. - The fully qualified module name. - - - Gets the metadata stream version. - A 32-bit integer representing the metadata stream version. The high-order two bytes represent the major version number, and the low-order two bytes represent the minor version number. - - - Gets a token that identifies the current dynamic module in metadata. - An integer token that identifies the current module in metadata. - - - Gets a universally unique identifier (UUID) that can be used to distinguish between two versions of a module. - A that can be used to distinguish between two versions of a module. - - - A string that indicates that this is an in-memory module. - Text that indicates that this is an in-memory module. - - - Gets a string that represents the name of the dynamic module. - The name of the dynamic module. - - - The flow control characteristics of the intermediate language (IL) instruction. - Read-only. The type of flow control. - - - The name of the intermediate language (IL) instruction. - Read-only. The name of the IL instruction. - - - The type of intermediate language (IL) instruction. - Read-only. The type of intermediate language (IL) instruction. - - - The operand type of an intermediate language (IL) instruction. - Read-only. The operand type of an IL instruction. - - - The size of the intermediate language (IL) instruction. - Read-only. The size of the IL instruction. - - - How the intermediate language (IL) instruction pops the stack. - Read-only. The way the IL instruction pops the stack. - - - How the intermediate language (IL) instruction pushes operand onto the stack. - Read-only. The way the IL instruction pushes operand onto the stack. - - - Gets the numeric value of the intermediate language (IL) instruction. - Read-only. The numeric value of the IL instruction. - - - Retrieves the attributes for this parameter. - Read-only. Retrieves the attributes for this parameter. - - - Retrieves whether this is an input parameter. - Read-only. Retrieves whether this is an input parameter. - - - Retrieves whether this parameter is optional. - Read-only. Specifies whether this parameter is optional. - - - Retrieves whether this parameter is an output parameter. - Read-only. Retrieves whether this parameter is an output parameter. - - - Retrieves the name of this parameter. - Read-only. Retrieves the name of this parameter. - - - Retrieves the signature position for this parameter. - Read-only. Retrieves the signature position for this parameter. - - - Retrieves the metadata token for this parameter. - Read-only. Retrieves the metadata token for this parameter. - - - Gets the attributes for this property. - Attributes of this property. - - - Gets a value indicating whether the property can be read. - - if this property can be read; otherwise, . - - - Gets a value indicating whether the property can be written to. - - if this property can be written to; otherwise, . - - - Gets the class that declares this member. - The object for the class that declares this member. - - - Gets the module in which the type that declares the current property is being defined. - The in which the type that declares the current property is defined. - - - Gets the name of this member. - A containing the name of this member. - - - Retrieves the token for this property. - Read-only. Retrieves the token for this property. - - - Gets the type of the field of this property. - The type of this property. - - - Gets the class object that was used to obtain this instance of . - The object through which this object was obtained. - - - Retrieves the metadata token for this property. - Read-only. Retrieves the metadata token for this instance. - - - Retrieves the metadata token for the local variable signature for this method. - Read-only. Retrieves the metadata token of this signature. - - - Retrieves the metadata token for this string. - Read-only. Retrieves the metadata token of this string. - - - Retrieves the dynamic assembly that contains this type definition. - Read-only. Retrieves the dynamic assembly that contains this type definition. - - - Returns the full name of this type qualified by the display name of the assembly. - Read-only. The full name of this type qualified by the display name of the assembly. - - - Retrieves the base type of this type. - Read-only. Retrieves the base type of this type. - - - Gets the method that declared the current generic type parameter. - A that represents the method that declared the current type, if the current type is a generic type parameter; otherwise, . - - - Returns the type that declared this type. - Read-only. The type that declared this type. - - - Retrieves the full path of this type. - Read-only. Retrieves the full path of this type. - - - Gets a value that indicates the covariance and special constraints of the current generic type parameter. - A bitwise combination of values that describes the covariance and special constraints of the current generic type parameter. - - - Gets the position of a type parameter in the type parameter list of the generic type that declared the parameter. - If the current object represents a generic type parameter, the position of the type parameter in the type parameter list of the generic type that declared the parameter; otherwise, undefined. - - - Retrieves the GUID of this type. - Read-only. Retrieves the GUID of this type - This method is not currently supported for incomplete types. - - - Gets a value that indicates whether this object represents a constructed generic type. - - if this object represents a constructed generic type; otherwise, . - - - Gets a value indicating whether the current type is a generic type parameter. - - if the current object represents a generic type parameter; otherwise, . - - - Gets a value indicating whether the current type is a generic type. - - if the type represented by the current object is generic; otherwise, . - - - Gets a value indicating whether the current represents a generic type definition from which other generic types can be constructed. - - if this object represents a generic type definition; otherwise, . - - - Gets a value that indicates whether the current type is security-critical or security-safe-critical, and therefore can perform critical operations. - - if the current type is security-critical or security-safe-critical; if it is transparent. - The current dynamic type has not been created by calling the method. - - - Gets a value that indicates whether the current type is security-safe-critical; that is, whether it can perform critical operations and can be accessed by transparent code. - - if the current type is security-safe-critical; if it is security-critical or transparent. - The current dynamic type has not been created by calling the method. - - - Gets a value that indicates whether the current type is transparent, and therefore cannot perform critical operations. - - if the type is security-transparent; otherwise, . - The current dynamic type has not been created by calling the method. - - - Retrieves the dynamic module that contains this type definition. - Read-only. Retrieves the dynamic module that contains this type definition. - - - Retrieves the name of this type. - Read-only. Retrieves the name of this type. - - - Retrieves the namespace where this is defined. - Read-only. Retrieves the namespace where this is defined. - - - Retrieves the packing size of this type. - Read-only. Retrieves the packing size of this type. - - - Returns the type that was used to obtain this type. - Read-only. The type that was used to obtain this type. - - - Retrieves the total size of a type. - Read-only. Retrieves this type’s total size. - - - Not supported in dynamic modules. - Read-only. - Not supported in dynamic modules. - - - Returns the type token of this type. - Read-only. Returns the of this type. - The type was previously created using . - - - Returns the underlying system type for this . - Read-only. Returns the underlying system type. - This type is an enumeration, but there is no underlying system type. - - - Retrieves the metadata token for this class. - Read-only. Retrieves the metadata token of this type. - - - Gets an unmanaged base type. This property is read-only. - An object. - The unmanaged type is not an or a . - - - Gets a number element. This property is read-only. - An integer indicating the element count. - The argument is not an unmanaged element count. - - - Indicates an unmanaged type. This property is read-only. - An object. - - - Gets a GUID. This property is read-only. - A object. - The argument is not a custom marshaler. - - - Gets the object for the method of the event, including non-public methods. - The object for the method. - - - Gets the attributes for this event. - The read-only attributes for this event. - - - Gets the object of the underlying event-handler delegate associated with this event. - A read-only object representing the delegate event handler. - The caller does not have the required permission. - - - Gets a value indicating whether the event is multicast. - - if the delegate is an instance of a multicast delegate; otherwise, . - The caller does not have the required permission. - - - Gets a value indicating whether the has a name with a special meaning. - - if this event has a special name; otherwise, . - - - Gets a value indicating that this member is an event. - A value indicating that this member is an event. - - - Gets the method that is called when the event is raised, including non-public methods. - The method that is called when the event is raised. - - - Gets the object for removing a method of the event, including non-public methods. - The object for removing a method of the event. - - - Gets the type of exception handled by this clause. - A object that represents that type of exception handled by this clause, or if the property is or . - Invalid use of property for the object's current state. - - - Gets the offset within the method body, in bytes, of the user-supplied filter code. - The offset within the method body, in bytes, of the user-supplied filter code. The value of this property has no meaning if the property has any value other than . - Cannot get the offset because the exception handling clause is not a filter. - - - Gets a value indicating whether this exception-handling clause is a finally clause, a type-filtered clause, or a user-filtered clause. - An value that indicates what kind of action this clause performs. - - - Gets the length, in bytes, of the body of this exception-handling clause. - An integer that represents the length, in bytes, of the MSIL that forms the body of this exception-handling clause. - - - Gets the offset within the method body, in bytes, of this exception-handling clause. - An integer that represents the offset within the method body, in bytes, of this exception-handling clause. - - - The total length, in bytes, of the try block that includes this exception-handling clause. - The total length, in bytes, of the try block that includes this exception-handling clause. - - - The offset within the method, in bytes, of the try block that includes this exception-handling clause. - An integer that represents the offset within the method, in bytes, of the try block that includes this exception-handling clause. - - - Gets the attributes associated with this field. - The for this field. - - - Gets a , which is a handle to the internal metadata representation of a field. - A handle to the internal metadata representation of a field. - - - Gets the type of this field object. - The type of this field object. - - - Gets a value indicating whether the potential visibility of this field is described by ; that is, the field is visible at most to other types in the same assembly, and is not visible to derived types outside the assembly. - - if the visibility of this field is exactly described by ; otherwise, . - - - Gets a value indicating whether the visibility of this field is described by ; that is, the field is visible only within its class and derived classes. - - if access to this field is exactly described by ; otherwise, . - - - Gets a value indicating whether the visibility of this field is described by ; that is, the field can be accessed from derived classes, but only if they are in the same assembly. - - if access to this field is exactly described by ; otherwise, . - - - Gets a value indicating whether the potential visibility of this field is described by ; that is, the field can be accessed by derived classes wherever they are, and by classes in the same assembly. - - if access to this field is exactly described by ; otherwise, . - - - Gets a value indicating whether the field can only be set in the body of the constructor. - - if the field has the attribute set; otherwise, . - - - Gets a value indicating whether the value is written at compile time and cannot be changed. - - if the field has the attribute set; otherwise, . - - - Gets a value indicating whether this field has the attribute. - - if the field has the attribute set; otherwise, . - - - Gets a value indicating whether the corresponding attribute is set in . - - if the attribute is set in ; otherwise, . - - - Gets a value indicating whether the field is private. - - if the field is private; otherwise; . - - - Gets a value indicating whether the field is public. - - if this field is public; otherwise, . - - - Gets a value that indicates whether the current field is security-critical or security-safe-critical at the current trust level. - - if the current field is security-critical or security-safe-critical at the current trust level; if it is transparent. - - - Gets a value that indicates whether the current field is security-safe-critical at the current trust level. - - if the current field is security-safe-critical at the current trust level; if it is security-critical or transparent. - - - Gets a value that indicates whether the current field is transparent at the current trust level. - - if the field is security-transparent at the current trust level; otherwise, . - - - Gets a value indicating whether the corresponding attribute is set in the enumerator. - - if the attribute is set in ; otherwise, . - - - Gets a value indicating whether the field is static. - - if this field is static; otherwise, . - - - Gets a value indicating that this member is a field. - A value indicating that this member is a field. - - - Gets the underlying type that represents the object. - The underlying type that represents the object. - - - Gets a value that indicates whether the object referred to by the local variable is pinned in memory. - - if the object referred to by the variable is pinned in memory; otherwise, . - - - Gets the index of the local variable within the method body. - An integer value that represents the order of declaration of the local variable within the method body. - - - Gets the type of the local variable. - The type of the local variable. - - - Gets the name of the file that contains the manifest resource, if it is not the same as the manifest file. - The manifest resource's file name. - - - Gets the containing assembly for the manifest resource. - The manifest resource's containing assembly. - - - Gets the manifest resource's location. - A bitwise combination of flags that indicates the location of the manifest resource. - - - Gets a collection that contains this member's custom attributes. - A collection that contains this member's custom attributes. - - - Gets the class that declares this member. - The object for the class that declares this member. - - - When overridden in a derived class, gets a value indicating the type of the member — method, constructor, event, and so on. - A value indicating the type of member. - - - Gets a value that identifies a metadata element. - A value which, in combination with , uniquely identifies a metadata element. - The current represents an array method, such as , on an array type whose element type is a dynamic type that has not been completed. To get a metadata token in this case, pass the object to the method; or use the method to get the token directly, instead of using the method to get a first. - - - Gets the module in which the type that declares the member represented by the current is defined. - The in which the type that declares the member represented by the current is defined. - This method is not implemented. - - - Gets the name of the current member. - A containing the name of this member. - - - Gets the class object that was used to obtain this instance of . - The object through which this object was obtained. - - - Gets the attributes associated with this method. - One of the values. - - - Gets a value indicating the calling conventions for this method. - The for this method. - - - Gets a value indicating whether the generic method contains unassigned generic type parameters. - - if the current object represents a generic method that contains unassigned generic type parameters; otherwise, . - - - Gets a value indicating whether the method is abstract. - - if the method is abstract; otherwise, . - - - Gets a value indicating whether the potential visibility of this method or constructor is described by ; that is, the method or constructor is visible at most to other types in the same assembly, and is not visible to derived types outside the assembly. - - if the visibility of this method or constructor is exactly described by ; otherwise, . - - - Gets a value indicating whether the method is a constructor. - - if this method is a constructor represented by a object (see note in Remarks about objects); otherwise, . - - - Gets a value indicating whether the visibility of this method or constructor is described by ; that is, the method or constructor is visible only within its class and derived classes. - - if access to this method or constructor is exactly described by ; otherwise, . - - - Gets a value indicating whether the visibility of this method or constructor is described by ; that is, the method or constructor can be called by derived classes, but only if they are in the same assembly. - - if access to this method or constructor is exactly described by ; otherwise, . - - - Gets a value indicating whether the potential visibility of this method or constructor is described by ; that is, the method or constructor can be called by derived classes wherever they are, and by classes in the same assembly. - - if access to this method or constructor is exactly described by ; otherwise, . - - - Gets a value indicating whether this method is . - - if this method is ; otherwise, . - - - Gets a value indicating whether the method is generic. - - if the current represents a generic method; otherwise, . - - - Gets a value indicating whether the method is a generic method definition. - - if the current object represents the definition of a generic method; otherwise, . - - - Gets a value indicating whether only a member of the same kind with exactly the same signature is hidden in the derived class. - - if the member is hidden by signature; otherwise, . - - - Gets a value indicating whether this member is private. - - if access to this method is restricted to other members of the class itself; otherwise, . - - - Gets a value indicating whether this is a public method. - - if this method is public; otherwise, . - - - Gets a value that indicates whether the current method or constructor is security-critical or security-safe-critical at the current trust level, and therefore can perform critical operations. - - if the current method or constructor is security-critical or security-safe-critical at the current trust level; if it is transparent. - - - Gets a value that indicates whether the current method or constructor is security-safe-critical at the current trust level; that is, whether it can perform critical operations and can be accessed by transparent code. - - if the method or constructor is security-safe-critical at the current trust level; if it is security-critical or transparent. - - - Gets a value that indicates whether the current method or constructor is transparent at the current trust level, and therefore cannot perform critical operations. - - if the method or constructor is security-transparent at the current trust level; otherwise, . - - - Gets a value indicating whether this method has a special name. - - if this method has a special name; otherwise, . - - - Gets a value indicating whether the method is . - - if this method is ; otherwise, . - - - Gets a value indicating whether the method is . - - if this method is ; otherwise, . - - - Gets a handle to the internal metadata representation of a method. - A object. - - - Gets the flags that specify the attributes of a method implementation. - The method implementation flags. - - - For a description of this member, see . - For a description of this member, see . - - - For a description of this member, see . - For a description of this member, see . - - - For a description of this member, see . - For a description of this member, see . - - - For a description of this member, see . - For a description of this member, see . - - - For a description of this member, see . - For a description of this member, see . - - - For a description of this member, see . - For a description of this member, see . - - - For a description of this member, see . - For a description of this member, see . - - - For a description of this member, see . - For a description of this member, see . - - - For a description of this member, see . - For a description of this member, see . - - - For a description of this member, see . - For a description of this member, see . - - - For a description of this member, see . - For a description of this member, see . - - - For a description of this member, see . - For a description of this member, see . - - - For a description of this member, see . - For a description of this member, see . - - - Gets a list that includes all the exception-handling clauses in the method body. - An of objects representing the exception-handling clauses in the body of the method. - - - Gets a value indicating whether local variables in the method body are initialized to the default values for their types. - - if the method body contains code to initialize local variables to for reference types, or to the zero-initialized value for value types; otherwise, . - - - Gets a metadata token for the signature that describes the local variables for the method in metadata. - An integer that represents the metadata token. - - - Gets the list of local variables declared in the method body. - An of objects that describe the local variables declared in the method body. - - - Gets the maximum number of items on the operand stack when the method is executing. - The maximum number of items on the operand stack when the method is executing. - - - Gets a value indicating that this member is a method. - A value indicating that this member is a method. - - - Gets a object that contains information about the return type of the method, such as whether the return type has custom modifiers. - A object that contains information about the return type. - This method is not implemented. - - - Gets the return type of this method. - The return type of this method. - - - Gets the custom attributes for the return type. - An object representing the custom attributes for the return type. - - - Gets the appropriate for this instance of . - An object. - - - Gets a collection that contains this module's custom attributes. - A collection that contains this module's custom attributes. - - - Gets a string representing the fully qualified name and path to this module. - The fully qualified module name. - The caller does not have the required permissions. - - - Gets the metadata stream version. - A 32-bit integer representing the metadata stream version. The high-order two bytes represent the major version number, and the low-order two bytes represent the minor version number. - - - Gets a token that identifies the module in metadata. - An integer token that identifies the current module in metadata. - - - Gets a handle for the module. - A structure for the current module. - - - Gets a universally unique identifier (UUID) that can be used to distinguish between two versions of a module. - A that can be used to distinguish between two versions of a module. - - - Gets a representing the name of the module with the path removed. - The module name with no path. - - - Gets a string representing the name of the module. - The module name. - - - Gets a value indicating whether the assembly was marked private. - - if the assembly was marked private; otherwise, . - - - Gets or sets a value indicating whether the obfuscation tool should remove the attribute after processing. - - if the obfuscation tool should remove the attribute after processing; otherwise, . The default value for this property is . - - - Gets or sets a value indicating whether the attribute of a type is to apply to the members of the type. - - if the attribute is to apply to the members of the type; otherwise, . The default is . - - - Gets or sets a value indicating whether the obfuscation tool should exclude the type or member from obfuscation. - - if the type or member to which this attribute is applied should be excluded from obfuscation; otherwise, . The default is . - - - Gets or sets a string value that is recognized by the obfuscation tool, and which specifies processing options. - A string value that is recognized by the obfuscation tool, and which specifies processing options. The default is "all". - - - Gets or sets a value indicating whether the obfuscation tool should remove this attribute after processing. - - if an obfuscation tool should remove the attribute after processing; otherwise, . The default is . - - - Gets the attributes for this parameter. - A object representing the attributes for this parameter. - - - Gets a collection that contains this parameter's custom attributes. - A collection that contains this parameter's custom attributes. - - - Gets a value indicating the default value if the parameter has a default value. - The default value of the parameter, or if the parameter has no default value. - - - Gets a value that indicates whether this parameter has a default value. - - if this parameter has a default value; otherwise, . - - - Gets a value indicating whether this is an input parameter. - - if the parameter is an input parameter; otherwise, . - - - Gets a value indicating whether this parameter is a locale identifier (lcid). - - if the parameter is a locale identifier; otherwise, . - - - Gets a value indicating whether this parameter is optional. - - if the parameter is optional; otherwise, . - - - Gets a value indicating whether this is an output parameter. - - if the parameter is an output parameter; otherwise, . - - - Gets a value indicating whether this is a parameter. - - if the parameter is a ; otherwise, . - - - Gets a value indicating the member in which the parameter is implemented. - The member which implanted the parameter represented by this . - - - Gets a value that identifies this parameter in metadata. - A value which, in combination with the module, uniquely identifies this parameter in metadata. - - - Gets the name of the parameter. - The simple name of this parameter. - - - Gets the of this parameter. - The object that represents the of this parameter. - - - Gets the zero-based position of the parameter in the formal parameter list. - An integer representing the position this parameter occupies in the parameter list. - - - Gets a value indicating the default value if the parameter has a default value. - The default value of the parameter, or if the parameter has no default value. - - - Gets or sets a value that specifies whether the parameter at the specified index position is to be modified by the current . - The index position of the parameter whose modification status is being examined or set. - - if the parameter at this index position is to be modified by this ; otherwise, . - - - Gets the attributes for this property. - The attributes of this property. - - - Gets a value indicating whether the property can be read. - - if this property can be read; otherwise, . - - - Gets a value indicating whether the property can be written to. - - if this property can be written to; otherwise, . - - - Gets the accessor for this property. - The accessor for this property. - - - Gets a value indicating whether the property is the special name. - - if this property is the special name; otherwise, . - - - Gets a value indicating that this member is a property. - A value indicating that this member is a property. - - - Gets the type of this property. - The type of this property. - - - Gets the accessor for this property. - The accessor for this property, or if the property is read-only. - - - Gets the array of exceptions thrown by the class loader. - An array of type containing the exceptions thrown by the class loader. The null values in the array of this instance line up with the exceptions in this array. - - - Gets the array of classes that were defined in the module and loaded. - An array of type containing the classes that were defined in the module and loaded. This array can contain some values. - - - Gets the public part of the public key or public key token of the key pair. - An array of type containing the public key or public key token of the key pair. - - - Gets the assembly of the implemented type. - An object representing the assembly of the implemented type. - - - Gets the assembly's fully qualified name. - A containing the assembly's fully qualified name. - - - Gets the base type for the current type. - The base type for a type. - - - Gets the fully qualified name of the implemented type. - A containing the type's fully qualified name. - - - Gets the GUID (globally unique identifier) of the implemented type. - A GUID. - - - Gets a value that indicates whether this object represents a constructed generic type. - - if this object represents a constructed generic type; otherwise, . - - - Gets a value that identifies this entity in metadata. - A value which, in combination with the module, uniquely identifies this entity in metadata. - - - Gets the module that contains the implemented type. - A object representing the module of the implemented type. - - - Gets the name of the implemented type, with the path removed. - A containing the type's non-qualified name. - - - Gets the namespace of the implemented type. - A containing the type's namespace. - - - Gets a handle to the internal metadata representation of an implemented type. - A object. - - - Gets the underlying that represents the implemented type. - The underlying type. - - - Gets a collection of the constructors declared by the current type. - A collection of the constructors declared by the current type. - - - Gets a collection of the events defined by the current type. - A collection of the events defined by the current type. - - - Gets a collection of the fields defined by the current type. - A collection of the fields defined by the current type. - - - Gets a collection of the members defined by the current type. - A collection of the members defined by the current type. - - - Gets a collection of the methods defined by the current type. - A collection of the methods defined by the current type. - - - Gets a collection of the nested types defined by the current type. - A collection of nested types defined by the current type. - - - Gets a collection of the properties defined by the current type. - A collection of the properties defined by the current type. - - - Gets an array of the generic type parameters of the current instance. - An array that contains the current instance's generic type parameters, or an array of zero if the current instance has no generic type parameters. - - - Gets a collection of the interfaces implemented by the current type. - A collection of the interfaces implemented by the current type. - - - Gets the name of the item to resolve. - The name of the item to resolve. - - - Gets the assembly whose dependency is being resolved. - The assembly that requested the item specified by the property. - - - Gets the name of the default culture. - The name of the default culture. - - - Gets the culture name. - The name of the default culture for the main assembly. - - - Gets the location for the class to use to retrieve neutral resources by using the resource fallback process. - One of the enumeration values that indicates the location (main assembly or satellite) from which to retrieve neutral resources. - - - Gets the root name of the resource files that the searches for resources. - The root name of the resource files that the searches for resources. - - - Gets or sets the location from which to retrieve default fallback resources. - One of the enumeration values that specifies where the resource manager can look for fallback resources. - - - Gets or sets a value that indicates whether the resource manager allows case-insensitive resource lookups in the and methods. - - to ignore case during resource lookup; otherwise, . - - - Gets the type of the resource set object that the resource manager uses to construct a object. - The type of the resource set object that the resource manager uses to construct a object. - - - Gets or sets a delegate that enables resource assemblies to be written that target versions of the .NET Framework prior to the .NET Framework 4 by using qualified assembly names. - The type that is encapsulated by the delegate. - - - Gets the version of the satellite assemblies with the required resources. - A string that contains the version of the satellite assemblies with the required resources. - - - Gets the patch band. - The patch band information. - - - Gets the name of the property used to access the attributed field. - The name of the property used to access the attributed field. - - - Gets the task for this builder. - The task for this builder. - The builder is not initialized. - - - Gets the task for this builder. - The task for this builder. - - - Gets the compilation relaxations specified when the current object was constructed. - The compilation relaxations specified when the current object was constructed.Use the enumeration with the property. - - - Gets a value that specifies whether the task being awaited is completed. - - if the task being awaited is completed; otherwise, . - The awaiter was not properly initialized. - - - Gets a value that specifies whether the task being awaited has been completed. - - if the task being awaited has been completed; otherwise, . - The awaiter was not properly initialized. - - - Gets the constant value stored by this attribute. - The constant value stored by this attribute. - - - Gets the number of 100-nanosecond ticks that represent the date and time of this instance. - The number of 100-nanosecond ticks that represent the date and time of this instance. - - - Gets the decimal constant stored in this attribute. - The decimal constant stored in this attribute. - - - Gets the value that indicates when an assembly loads a dependency. - One of the values. - - - Gets the value of the dependent assembly. - The name of the dependent assembly. - - - Gets the value that indicates when an assembly is to load a dependency. - One of the values. - - - Gets the type of the elements contained in the fixed buffer. - The type of the elements. - - - Gets the number of elements in the fixed buffer. - The number of elements in the fixed buffer. - - - Gets the constant stored in this attribute. - The constant stored in this attribute. Only is allowed for an constant value. - - - This property is not implemented. - This property does not return a value. - - - Gets the name of the friend assembly to which all types and type members that are marked with the keyword are to be made visible. - A string that represents the name of the friend assembly. - - - Returns the value of the specified element. - The index of the specified element. can range from 0 for of the to one less than the number of elements in the . - The value of the specified element. - - - Gets the number of elements in this instance. - The number of elements in this instance. - - - Gets the constant stored in this attribute. - The constant stored in this attribute. Only is allowed for an constant value. - - - Gets the value describing the attributed method. - The value describing the attributed method. - - - Gets the description of the reference assembly. - The description of the reference assembly. - - - Gets a type that an importing compiler must fully understand. - A type that an importing compiler must fully understand. - - - Gets or sets a value that indicates whether to wrap exceptions that do not derive from the class with a object. - - if exceptions that do not derive from the class should appear wrapped with a object; otherwise, . - - - Gets the offset, in bytes, to the data in the given string. - The byte offset, from the start of the object to the first character in the string. - - - Gets the object that was wrapped by the object. - The object that was wrapped by the object. - - - Returns the type object for the underlying state machine type that was generated by the compiler to implement the state machine method. - Gets the type object for the underlying state machine type that was generated by the compiler to implement the state machine method. - - - Gets a value that indicates whether the asynchronous task has completed. - - if the task has completed; otherwise, . - The object was not properly initialized. - - - Gets a value that indicates whether the asynchronous task has completed. - - if the task has completed; otherwise, . - The object was not properly initialized. - - - Specifies, in a pre-order depth-first traversal of a type's construction, which value tuple elements are meant to carry element names. - An array that indicates which value tuple elements are meant to carry element names. - - - Gets the assembly-qualified name of the source type. - The assembly-qualified name of the source type. - - - Gets the destination in another assembly. - The destination in another assembly. - - - Gets a value that indicates whether a yield is not required. - Always , which indicates that a yield is always required for . - - - Gets the value that determines the behavior of a method, type, or assembly when called under a Constrained Execution Region (CER). - One of the values. - - - Gets the value of the reliability contract. - One of the values. - - - Gets the name of the designer binding context. - The name of the context. - - - Gets the exception that is represented by the current instance. - The exception that is represented by the current instance. - - - The managed exception object that corresponds to the exception thrown in managed code. - The newly thrown exception. - - - Gets a value that indicates whether server garbage collection is enabled. - - if server garbage collection is enabled; otherwise, . - - - [Supported in the .NET Framework 4.5.1 and later versions] Gets or sets a value that indicates whether a full blocking garbage collection compacts the large object heap (LOH). - One of the enumeration values that indicates whether a full blocking garbage collection compacts the LOH. - - - Gets or sets the current latency mode for garbage collection. - One of the enumeration values that specifies the latency mode. - The property is being set to an invalid value. -or-The property cannot be set to . - - - Gets the activation context for manifest-based activation of an application. - An object that identifies a manifest-based activation application. - - - Gets activation data from the host. - An array of strings containing host-provided activation data. - - - Gets the application identity for a manifest-activated application. - An object that identifies an application for manifest-based activation. - - - Provides COM objects with version-independent access to the property. - The location of the assembly as specified originally. - - - Provides COM objects with version-independent access to the property. - A object that represents the entry point of this assembly. If no entry point is found (for example, the assembly is a DLL), is returned. - - - Provides COM objects with version-independent access to the property. - A Uniform Resource Identifier (URI) with escape characters. - - - Provides COM objects with version-independent access to the property. - An object for this assembly. - - - Provides COM objects with version-independent access to the property. - The display name of the assembly. - - - Provides COM objects with version-independent access to the property. - - if the assembly was loaded from the global assembly cache; otherwise, . - - - Provides COM objects with version-independent access to the property. - The location of the loaded file that contains the manifest. If the loaded file was shadow-copied, the location is that of the file after being shadow-copied. If the assembly is loaded from a byte array, such as when using the method overload, the value returned is an empty string (""). - - - Provides COM objects with version-independent access to the property. - One of the values. - - - Provides COM objects with version-independent access to the property. - The for this method. - - - Provides COM objects with version-independent access to the property. - The object for the class that declares this member. - - - Provides COM objects with version-independent access to the property. - - if the method is abstract; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method can be called by other classes in the same assembly; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is a constructor; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if access to the class is restricted to members of the class itself and to members of its derived classes; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if access to this method is restricted to members of the class itself and to members of derived classes that are in the same assembly; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if access to this method is restricted to members of the class itself, members of derived classes wherever they are, and members of other classes in the same assembly; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the member is hidden by signature; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if access to this method is restricted to other members of the class itself; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is public; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method has a special name; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is ; otherwise, . - - - Provides COM objects with version-independent access to the property. - A value indicating the type of member. - - - Provides COM objects with version-independent access to the property. - A object. - - - Provides COM objects with version-independent access to the property. - A containing the name of this member. - - - Provides COM objects with version-independent access to the property. - The object through which this object was obtained. - - - Provides COM objects with version-independent access to the property. - The read-only attributes for this event. - - - Provides COM objects with version-independent access to the property. - The object for the class that declares this member. - - - Provides COM objects with version-independent access to the property. - A read-only object representing the delegate event handler. - - - Provides COM objects with version-independent access to the property. - - if the delegate is an instance of a multicast delegate; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this event has a special name; otherwise, . - - - Provides COM objects with version-independent access to the property. - A value indicating that this member is an event. - - - Provides COM objects with version-independent access to the property. - A object containing the name of this member. - - - Provides COM objects with version-independent access to the property. - The object that was used to obtain this object. - - - Provides COM objects with version-independent access to the property. - The Uniform Resource Name (URN) or Uniform Resource Locator (URL) to a help file. - - - Provides COM objects with version-independent access to the property. - An instance of that describes the error that caused the current exception. The property returns the same value that was passed to the constructor, or a null reference ( in Visual Basic) if the inner exception value was not supplied to the constructor. This property is read-only. - - - Provides COM objects with version-independent access to the property. - The error message that explains the reason for the exception, or an empty string(""). - - - Provides COM objects with version-independent access to the property. - The name of the application or the object that causes the error. - - - Provides COM objects with version-independent access to the property. - A string that describes the contents of the call stack, with the most recent method call appearing first. - - - Provides COM objects with version-independent access to the property. - The object that threw the current exception. - - - Provides COM objects with version-independent access to the property. - The for this field. - - - Provides COM objects with version-independent access to the property. - The object for the class that declares this member. - - - Provides COM objects with version-independent access to the property. - A handle to the internal metadata representation of a field. - - - Provides COM objects with version-independent access to the property. - The type of this field object. - - - Provides COM objects with version-independent access to the property. - - if the field has the attribute set; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the field has the attribute set; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the field has the attribute set; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the field has the attribute set; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the field has the attribute set; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the field has the attribute set; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the field has the attribute set; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the attribute is set in ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the field is private; otherwise; . - - - Provides COM objects with version-independent access to the property. - - if this field is public; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the attribute is set in ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this field is static; otherwise, . - - - Provides COM objects with version-independent access to the property. - A value indicating that this member is a field. - - - Provides COM objects with version-independent access to the property. - A containing the name of this member. - - - Provides COM objects with version-independent access to the property. - The object through which this object was obtained. - - - Provides COM objects with version-independent access to the property. - The object for the class that declares this member. - - - Provides COM objects with version-independent access to the property. - One of the values indicating the type of member. - - - Provides COM objects with version-independent access to the property. - A object containing the name of this member. - - - Provides COM objects with version-independent access to the property. - The object that was used to obtain this object. - - - Provides COM objects with version-independent access to the property. - One of the values. - - - Provides COM objects with version-independent access to the property. - One of the values. - - - Provides COM objects with version-independent access to the property. - The object for the class that declares this member. - - - Provides COM objects with version-independent access to the property. - - if the method is abstract; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method can be called by other classes in the same assembly; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is a constructor; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if access to the class is restricted to members of the class itself and to members of its derived classes; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if access to this method is restricted to members of the class itself and to members of derived classes that are in the same assembly; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if access to this method is restricted to members of the class itself, members of derived classes wherever they are, and members of other classes in the same assembly; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the member is hidden by signature; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if access to this method is restricted to other members of the class itself; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is public; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method has a special name; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is ; otherwise, . - - - Provides COM objects with version-independent access to the property. - One of the values indicating the type of member. - - - Provides COM objects with version-independent access to the property. - A object. - - - Provides COM objects with version-independent access to the property. - A object containing the name of this member. - - - Provides COM objects with version-independent access to the property. - The object that was used to obtain this object. - - - Provides COM objects with version-independent access to the property. - One of the values. - - - Provides COM objects with version-independent access to the property. - One of the values. - - - Provides COM objects with version-independent access to the property. - The object for the class that declares this member. - - - Provides COM objects with version-independent access to the property. - - if the method is abstract; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method can be called by other classes in the same assembly; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is a constructor; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if access to the class is restricted to members of the class itself and to members of its derived classes; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if access to this method is restricted to members of the class itself and to members of derived classes that are in the same assembly; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if access to this method is restricted to members of the class itself, members of derived classes wherever they are, and members of other classes in the same assembly; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the member is hidden by signature; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if access to this method is restricted to other members of the class itself; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is public; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method has a special name; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this method is ; otherwise, . - - - Provides COM objects with version-independent access to the property. - One of the values indicating the type of member. - - - Provides COM objects with version-independent access to the property. - A object. - - - Provides COM objects with version-independent access to the property. - A object containing the name of this member. - - - Provides COM objects with version-independent access to the property. - The object that was used to obtain this object. - - - Provides COM objects with version-independent access to the property. - The return type of this method. - - - Provides COM objects with version-independent access to the property. - An object representing the custom attributes for the return type. - - - Provides COM objects with version-independent access to the property. - The attributes of this property. - - - Provides COM objects with version-independent access to the property. - - if this property can be read; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if this property can be written to; otherwise, . - - - Provides COM objects with version-independent access to the property. - The object for the class that declares this member. - - - Provides COM objects with version-independent access to the property. - - if this property is the special name; otherwise, . - - - Provides COM objects with version-independent access to the property. - One of the values indicating that this member is a property. - - - Provides COM objects with version-independent access to the property. - A object containing the name of this member. - - - Provides COM objects with version-independent access to the property. - The type of this property. - - - Provides COM objects with version-independent access to the property. - The object through which this object was obtained. - - - Provides COM objects with version-independent access to the property. - An instance that describes the assembly containing the current type. - - - Provides COM objects with version-independent access to the property. - The assembly-qualified name of the , including the name of the assembly from which the was loaded. - - - Provides COM objects with version-independent access to the property. - A object representing the attribute set of the , unless the represents a generic type parameter, in which case the value is unspecified. - - - Provides COM objects with version-independent access to the property. - The from which the current directly inherits, or if the current represents the class. - - - Provides COM objects with version-independent access to the property. - The object for the class that declares this member. If the type is a nested type, this property returns the enclosing type. - - - Provides COM objects with version-independent access to the property. - A string containing the fully qualified name of the , including the namespace of the but not the assembly. - - - Provides COM objects with version-independent access to the property. - The GUID associated with the . - - - Provides COM objects with version-independent access to the property. - - if the is an array, a pointer, or is passed by reference; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is abstract; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the string format attribute is selected for the ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is an array; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the string format attribute is selected for the ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the class layout attribute is selected for the ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is passed by reference; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is a class; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is a COM object; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the can be hosted in a context; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the current represents an enumeration; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the class layout attribute is selected for the ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the has ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is an interface; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the class layout attribute is selected for the ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is marshaled by reference; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is nested and visible only within its own assembly; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is nested and visible only to classes that belong to both its own family and its own assembly; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is nested and visible only within its own family; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is nested and visible only to classes that belong to its own family or to its own assembly; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is nested and declared private; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the class is nested and declared public; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the top-level is not declared public; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is a pointer; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is one of the primitive types; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the top-level is declared public; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is declared sealed; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is serializable; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the has a name that requires special handling; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the string format attribute is selected for the ; otherwise, . - - - Provides COM objects with version-independent access to the property. - - if the is a value type; otherwise, . - - - Provides COM objects with version-independent access to the property. - A value indicating that this member is a type or a nested type. - - - Provides COM objects with version-independent access to the property. - The name of the module in which the current is defined. - - - Provides COM objects with version-independent access to the property. - The name of the . - - - Provides COM objects with version-independent access to the property. - The namespace of the . - - - Provides COM objects with version-independent access to the property. - The object through which this object was obtained. - - - Provides COM objects with version-independent access to the property. - The handle for the current . - - - Provides COM objects with version-independent access to the property. - A containing the name of the class constructor for the . - - - Provides COM objects with version-independent access to the property. - The underlying system type for the . - - - Gets a value indicating the type of marshaler to use. - - if the class should be marshaled using the Automation Marshaler; if a proxy stub marshaler should be used. - - - Gets the best-fit mapping behavior when converting Unicode characters to ANSI characters. - - if best-fit mapping is enabled; otherwise, . The default is . - - - Gets the wrapped object to marshal as type . - The object that is wrapped by . - - - Gets the value that describes which type of interface should be generated for the class. - The value that describes which type of interface should be generated for the class. - - - Gets the class identifier of the original coclass. - A containing the class identifier of the original coclass. - - - Gets the alias for the field or parameter as found in the type library when it was imported. - The alias for the field or parameter as found in the type library when it was imported. - - - Gets the build number of the assembly. - The build number of the assembly. - - - Gets the major version number of the assembly. - The major version number of the assembly. - - - Gets the minor version number of the assembly. - The minor version number of the assembly. - - - Gets the revision number of the assembly. - The revision number of the assembly. - - - Gets the object that specifies the default interface to expose to COM. - The object that specifies the default interface to expose to COM. - - - Gets the class that implements the methods of the event interface. - A that contains the class that implements the methods of the event interface. - - - Gets the original source interface from the type library. - A containing the source interface. - - - Gets the fully qualified name of the event source interface. - The fully qualified name of the event source interface. - - - Gets a value that indicates whether the COM type is visible. - - if the type is visible; otherwise, . The default value is . - - - Gets a value indicating whether the handle is closed. - - if the handle is closed; otherwise, . - - - When overridden in a derived class, gets a value indicating whether the handle value is invalid. - - if the handle is valid; otherwise, . - - - Gets the wrapped object to be marshaled as type . - The wrapped object to be marshaled as type . - - - Gets the default value of for any call to . - The default value of for any call to . - - - Gets a bitwise combination of enumeration values that specify the paths that the LoadLibraryEx function searches during platform invokes. - A bitwise combination of enumeration values that specify search paths for platform invokes. - - - Gets the object wrapped by the . - The object wrapped by the . - - - Gets the DISPID for the member. - The DISPID for the member. - - - Gets the name of the DLL file that contains the entry point. - The name of the DLL file that contains the entry point. - - - Gets the error code of the wrapper. - The HRESULT of the error. - - - Gets the of the error. - The of the error. - - - Gets the offset from the beginning of the structure to the beginning of the field. - The offset from the beginning of the structure to the beginning of the field. - - - Gets a value indicating whether the handle is allocated. - - if the handle is allocated; otherwise, . - - - Gets or sets the object this handle represents. - The object this handle represents. - The handle was freed, or never initialized. - - - Gets the of the class. - The of the class. - - - Gets the handle to a resource. - The handle to a resource. - - - Gets the object holding the handle to a resource. - The object holding the handle to a resource. - - - Gets the value used by the class. - The value used by the class. - - - Gets the name of the original type library file. - The name of the original type library file. - - - Gets the value that describes how the interface should be exposed to COM. - The value that describes how the interface should be exposed to COM. - - - Gets the position of the LCID argument in the unmanaged signature. - The position of the LCID argument in the unmanaged signature, where 0 is the first argument. - - - Gets the class that contains the required stub method. - The class that contains the customized interop stub. - - - Gets the name of the stub method. - The name of a customized interop stub. - - - Gets the value the data is to be marshaled as. - The value the data is to be marshaled as. - - - Gets an object that represents the Linux operating system. - An object that represents the Linux operating system. - - - Gets an object that represents the OSX operating system. - An object that represents the OSX operating system. - - - Gets an object that represents the Windows operating system. - An object that represents the Windows operating system. - - - Gets the major version number of the type library for which this assembly is the primary interop assembly. - The major version number of the type library for which this assembly is the primary interop assembly. - - - Gets the minor version number of the type library for which this assembly is the primary interop assembly. - The minor version number of the type library for which this assembly is the primary interop assembly. - - - Gets the ProgID of the class. - The ProgID of the class. - - - Gets the path to the system configuration file. - The path to the system configuration file. - - - Returns a string that indicates the name of the .NET installation on which an app is running. - The name of the .NET installation on which the app is running. - - - Gets the platform architecture on which the current app is running. - The platform architecture on which the current app is running. - - - Gets a string that indicates the name of the operating system on which the app is running. - The name of the operating system on which the app is running. - - - Gets the process architecture of the currently running app. - The process architecture of the currently running app. - - - Gets the size of the buffer, in bytes. - The number of bytes in the memory buffer. - The method has not been called. - - - Gets a value indicating whether the handle is closed. - - if the handle is closed; otherwise, . - - - When overridden in a derived class, gets a value indicating whether the handle value is invalid. - - if the handle value is invalid; otherwise, . - - - Gets the value that specifies how the class or structure is arranged. - One of the enumeration values that specifies how the class or structure is arranged. - - - Gets the value of the parameter that was passed to the constructor. - The value of the constructor's parameter. - - - Gets the value of the parameter that was passed to the constructor. - The value of the constructor's parameter. - - - Gets the value for this method. - The value for this method. - - - Gets the name of a object that exclusively uses an interface. - The name of a object that exclusively uses an interface. - - - Gets the value for this type. - The value for this type. - - - Gets the value for this field. - The value for this field. - - - Gets the major version number of the type library. - The major version number of the type library. - - - Gets the minor version number of the type library. - The minor version number of the type library. - - - Gets the object contained by this wrapper. - The wrapped object. - - - Gets the value of the calling convention. - The value of the calling convention specified by the constructor. - - - Gets the object wrapped by the object. - The object wrapped by the object. - - - Gets the type of the default interface. - The type of the default interface. - - - - Gets the name of the namespace to resolve. - The name of the namespace to resolve. - - - - Gets a collection of assembly file paths; when the event handler for the event is invoked, the collection is empty, and the event handler is responsible for adding the necessary assembly files. - A collection of assembly files that define the requested namespace. - - - Gets or sets a delegate of type whose invocation list includes all the event handler delegates that have been added, and that have not yet been removed. Invoking this delegate invokes all the event handlers. - A delegate of type that represents all the event handler delegates that are currently registered for an event. - - - Gets the build component of the version of the target type that first implemented the interface. - The build component of the version. - - - Gets the type of the interface that the target type implements. - The type of the interface. - - - Gets the major component of the version of the target type that first implemented the interface. - The major component of the version. - - - Gets the minor component of the version of the target type that first implemented the interface. - The minor component of the version. - - - Gets the revision component of the version of the target type that first implemented the interface. - The revision component of the version. - - - Gets the name of the namespace to resolve. - The name of the namespace to resolve. - - - Gets the name of the assembly whose dependency is being resolved. - The name of the assembly whose dependency is being resolved. - - - Gets a collection of assemblies; when the event handler for the event is invoked, the collection is empty, and the event handler is responsible for adding the necessary assemblies. - A collection of assemblies that define the requested namespace. - - - Gets the name that was specified for the return value of a method in a Windows Runtime component. - The name of the method's return value. - - - Gets the URL of the application to activate the type in. - The URL of the application to activate the type in. - - - Gets or sets the context attributes for the client-activated type. - The context attributes for the client activated type. - - - Gets the of the client-activated type. - Gets the of the client-activated type. - - - Gets or sets the context attributes for the client-activated service type. - The context attributes for the client-activated service type. - - - Gets the of the client-activated service type. - The of the client-activated service type. - - - Gets the where this activator is active. - The where this activator is active. - - - Gets or sets the next activator in the chain. - The next activator in the chain. - The immediate caller does not have infrastructure permission. - - - Gets the type of the remote object to activate. - The type of the remote object to activate. - The immediate caller does not have infrastructure permission. - - - Gets the full type name of the remote type to activate. - The full type name of the remote type to activate. - The immediate caller does not have infrastructure permission. - - - Gets or sets the activator that activates the remote object. - The activator that activates the remote object. - The immediate caller does not have infrastructure permission. - - - Gets the call site activation attributes. - The call site activation attributes. - The immediate caller does not have infrastructure permission. - - - Gets a list of context properties that define the context in which the object is to be created. - A list of properties of the context in which to construct the object. - The immediate caller does not have infrastructure permission. - - - Gets the URL value of the . - The URL value of the . - The immediate caller does not have infrastructure permission. - - - Gets the number of properties associated with the channel object. - The number of properties associated with the channel object. - - - Gets a value that indicates whether the number of properties that can be entered into the channel object is fixed. - - if the number of properties that can be entered into the channel object is fixed; otherwise, . - - - Gets a value that indicates whether the collection of properties in the channel object is read-only. - - if the collection of properties in the channel object is read-only; otherwise, . - - - Gets a value that indicates whether the dictionary of channel object properties is synchronized. - - if the dictionary of channel object properties is synchronized; otherwise, . - - - When overridden in a derived class, gets or sets the property that is associated with the specified key. - The key of the property to get or set. - The property that is associated with the specified key. - The property is accessed. - - - When overridden in a derived class, gets a of keys that the channel object properties are associated with. - A of keys that the channel object properties are associated with. - - - Gets a of the channel properties associated with the channel object. - A of the channel properties associated with the channel object. - The immediate caller does not have infrastructure permission. - - - Gets an object that is used to synchronize access to the . - An object that is used to synchronize access to the . - - - Gets a of the values of the properties associated with the channel object. - A of the values of the properties associated with the channel object. - - - Gets a of the channel properties associated with the current channel object. - A of the channel properties associated with the current channel object. - The immediate caller does not have infrastructure permission. - - - Gets or sets an array of channel URIs that the current channel maps to. - An array of channel URIs that the current channel maps to. - - - Gets or sets the data object that is associated with the specified key for the implementing channel. - The key that the data object is associated with. - The specified data object for the implementing channel. - - - Gets a list of currently registered channels. - An array of all the currently registered channels. - The immediate caller does not have infrastructure permission. - - - Gets the name of the channel. - The name of the channel. - The immediate caller does not have infrastructure permission. - - - Gets the priority of the channel. - An integer that indicates the priority of the channel. - The immediate caller does not have infrastructure permission. - - - Gets an array of channel URIs to which the current channel maps. - An array of channel URIs to which the current channel maps. - The immediate caller does not have infrastructure permission. - - - Gets or sets the data object associated with the specified key for the implementing channel. - The key the data object is associated with. - The specified data object for the implementing channel. - The immediate caller does not have infrastructure permission. - - - Gets the channel-specific data. - The channel data. - The immediate caller does not have infrastructure permission. - - - Gets the type of listener to hook into. - The type of listener to hook into (for example, "http"). - The immediate caller does not have infrastructure permission. - - - Gets the channel sink chain that the current channel is using. - The channel sink chain that the current channel is using. - The immediate caller does not have infrastructure permission. - - - Gets a Boolean value that indicates whether needs to be hooked into the outside listener service. - A Boolean value that indicates whether needs to be hooked into the outside listener service. - The immediate caller does not have infrastructure permission. - - - Gets a dictionary through which properties on the sink can be accessed. - A dictionary through which properties on the sink can be accessed, or if the channel sink does not support properties. - The immediate caller does not have infrastructure permission. - - - Gets the next client channel sink in the client sink chain. - The next client channel sink in the client sink chain. - The immediate caller does not have infrastructure permission. - - - Gets or sets the next sink provider in the channel sink provider chain. - The next sink provider in the channel sink provider chain. - The immediate caller does not have infrastructure permission. - - - Gets or sets a Boolean value that indicates whether the current channel is secure. - A Boolean value that indicates whether the current channel is secure. - - - Gets the next server channel sink in the server sink chain. - The next server channel sink in the server sink chain. - The immediate caller does not have the required permission. - - - Gets or sets the next sink provider in the channel sink provider chain. - The next sink provider in the channel sink provider chain. - The immediate caller does not have infrastructure permission. - - - Gets or sets a transport header associated with the given key. - The key the requested transport header is associated with. - A transport header associated with the given key. - The immediate caller does not have infrastructure permission. - - - Gets a list of the child nodes. - A of the child nodes. - - - Gets the name of the sink provider that the data in the current object is associated with. - A with the name of the XML node that the data in the current object is associated with. - - - Gets a dictionary through which properties on the sink provider can be accessed. - A dictionary through which properties on the sink provider can be accessed. - - - Gets or sets a transport header that is associated with the given key. - The that the requested header is associated with. - A transport header that is associated with the given key, or if the key was not found. - - - Gets the context ID for the current context. - The context ID for the current context. - - - Gets the array of the current context properties. - The current context properties array; otherwise, if the context does not have any properties attributed to it. - - - Gets the default context for the current application domain. - The default context for the namespace. - - - Gets the name of the context attribute. - The name of the context attribute. - - - Gets the name of the T:System.Runtime.Remoting.Contexts.ContextProperty class. - The name of the class. - - - Gets the object representing the property of a context. - The object representing the property of a context. - - - Gets the name of the property under which it will be added to the context. - The name of the property. - - - Gets the name of the dynamic property. - The name of the dynamic property. - - - Gets or sets a Boolean value indicating whether reentry is required. - A Boolean value indicating whether reentry is required. - - - Gets or sets a Boolean value indicating whether the implementing this instance of is locked. - A Boolean value indicating whether the implementing this instance of is locked. - - - Gets and sets the channel data for each channel. - The channel data for each channel. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets or sets the list of envoys that were contributed by the server context and object chains when the object was marshaled. - A chain of envoy sinks. - - - Gets or sets the fully qualified type name of the server object in a . - The fully qualified type name of the server object in a . - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets or sets the by which to increase the lifetime of the sponsored objects when renewal is requested. - The by which to increase the lifetime of the sponsored objects when renewal is requested. - - - Gets the amount of time remaining on the lease. - The amount of time remaining on the lease. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets the current of the lease. - The current of the lease. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets or sets the initial time for the lease. - The initial time for the lease. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets or sets the amount of time by which a call to the remote object renews the . - The amount of time by which a call to the remote object renews the . - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets or sets the amount of time to wait for a sponsor to return with a lease renewal time. - The amount of time to wait for a sponsor to return with a lease renewal time. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets or sets the time interval between each activation of the lease manager to clean up expired leases. - The default amount of time the lease manager sleeps after checking for expired leases. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. This exception is thrown only when setting the property value. - - - Gets or sets the initial lease time span for an . - The initial lease for objects that can have leases in the . - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. This exception is thrown only when setting the property value. - - - Gets or sets the amount of time by which the lease is extended every time a call comes in on the server object. - The by which a lifetime lease in the current is extended after each call. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. This exception is thrown only when setting the property value. - - - Gets or sets the amount of time the lease manager waits for a sponsor to return with a lease renewal time. - The initial sponsorship time-out. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. This exception is thrown only when setting the property value. - - - Gets the delegate object on which the asynchronous call was invoked. - The delegate object on which the asynchronous call was invoked. - - - Gets the object provided as the last parameter of a method call. - The object provided as the last parameter of a method call. - - - Gets a that encapsulates Win32 synchronization handles, and allows the implementation of various synchronization schemes. - A that encapsulates Win32 synchronization handles, and allows the implementation of various synchronization schemes. - - - Gets a value indicating whether the call completed synchronously. - - if the call completed synchronously; otherwise, . - - - Gets or sets a value indicating whether has been called on the current . - - if has been called on the current ; otherwise, . - - - Gets a value indicating whether the server has completed the call. - - after the server has completed the call; otherwise, . - - - Gets the next message sink in the sink chain. - An interface that represents the next message sink in the sink chain. - - - Gets or sets the host context associated with the current thread. - The host context associated with the current thread. - The immediate caller does not have infrastructure permission. - - - Gets the type of the remote object to activate. - The of the remote object to activate. - - - Gets the full type name of the remote object to activate. - A containing the full type name of the remote object to activate. - - - Gets or sets the activator that activates the remote object. - The that activates the remote object. - - - Gets the call site activation attributes for the remote object. - An array of type containing the call site activation attributes for the remote object. - - - Gets a list of properties that define the context in which the remote object is to be created. - A that contains a list of properties that define the context in which the remote object is to be created. - - - Gets an interface that represents a collection of the remoting message's properties. - An interface that represents a collection of the remoting message's properties. - - - Gets an interface that represents a collection of the remoting message's properties. - An interface that represents a collection of the remoting message's properties. - - - Gets an that represents a collection of the message's properties. - A dictionary that represents a collection of the message's properties. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets the next message sink in the sink chain. - The next message sink in the sink chain. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets the number of arguments in the call that are not marked as parameters. - The number of arguments in the call that are not marked as parameters. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets an array of arguments that are not marked as parameters. - An array of arguments that are not marked as parameters. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets the number of arguments passed to the method. - The number of arguments passed to the method. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets an array of arguments passed to the method. - An array containing the arguments passed to the method. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets a value indicating whether the message has variable arguments. - - if the method can accept a variable number of arguments; otherwise, . - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets the for the current method call. - Gets the for the current method call. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets the of the called method. - The of the called method. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets the name of the invoked method. - The name of the invoked method. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets an object containing the method signature. - An object containing the method signature. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets the full name of the specific object that the call is destined for. - The full name of the specific object that the call is destined for. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets the URI of the specific object that the call is destined for. - The URI of the remote object that contains the invoked method. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets the exception thrown during the method call. - The exception object for the method call, or if the method did not throw an exception. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets the number of arguments in the method call marked as or parameters. - The number of arguments in the method call marked as or parameters. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Returns the specified argument marked as a or an parameter. - The specified argument marked as a or an parameter. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets the return value of the method call. - The return value of the method call. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - Gets a value indicating whether the current contains information. - A Boolean value indicating whether the current contains information. - - - Gets the number of arguments passed to a method. - A that represents the number of arguments passed to a method. - - - Gets an array of arguments passed to a method. - An array of type that represents the arguments passed to a method. - - - Gets a value that indicates whether the method can accept a variable number of arguments. - - if the method can accept a variable number of arguments; otherwise, . - - - Gets the number of arguments in the method call that are not marked as parameters. - A that represents the number of arguments in the method call that are not marked as parameters. - - - Gets an array of arguments in the method call that are not marked as parameters. - An array of type that represents arguments in the method call that are not marked as parameters. - - - Gets the for the current method call. - The for the current method call. - - - Gets the of the called method. - The of the called method. - - - Gets the name of the invoked method. - A that contains the name of the invoked method. - - - Gets an object that contains the method signature. - A that contains the method signature. - - - Gets an interface that represents a collection of the remoting message's properties. - An interface that represents a collection of the remoting message's properties. - - - Gets the full type name of the remote object on which the method call is being made. - A that contains the full type name of the remote object on which the method call is being made. - - - Gets or sets the Uniform Resource Identifier (URI) of the remote object on which the method call is being made. - The URI of a remote object. - - - Gets the number of arguments passed to the method. - A that represents the number of arguments passed to a method. - - - Gets an array of arguments passed to the method. - An array of type that represents the arguments passed to a method. - - - Gets a value indicating whether the method can accept a variable number of arguments. - - if the method can accept a variable number of arguments; otherwise, . - - - Gets the number of arguments in the method call that are not marked as parameters. - A that represents the number of arguments in the method call that are not marked as parameters. - - - Gets an array of arguments in the method call that are not marked as parameters. - An array of type that represents arguments in the method call that are not marked as parameters. - - - Gets the for the current method call. - The for the current method call. - - - Gets the of the called method. - The of the called method. - - - Gets the name of the invoked method. - A that contains the name of the invoked method. - - - Gets an object that contains the method signature. - A that contains the method signature. - - - An that represents a collection of the remoting message's properties. - An interface that represents a collection of the remoting message's properties. - - - Gets the full type name of the remote object on which the method call is being made. - A that contains the full type name of the remote object on which the method call is being made. - - - Gets the Uniform Resource Identifier (URI) of the remote object on which the method call is being made. - The URI of a remote object. - - - Gets the number of arguments passed to the method. - A that represents the number of arguments passed to a method. - - - Gets an array of arguments passed to the method. - An array of type that represents the arguments passed to a method. - - - Gets the exception thrown during the method call, or if the method did not throw an exception. - The thrown during the method call, or if the method did not throw an exception. - - - Gets a value that indicates whether the method can accept a variable number of arguments. - - if the method can accept a variable number of arguments; otherwise, . - - - Gets the for the current method call. - The for the current method call. - - - Gets the of the called method. - The of the called method. - - - Gets the name of the invoked method. - A that contains the name of the invoked method. - - - Gets an object that contains the method signature. - A that contains the method signature. - - - Gets the number of arguments in the method call marked as or parameters. - A that represents the number of arguments in the method call marked as or parameters. - - - Gets an array of arguments in the method call that are marked as or parameters. - An array of type that represents the arguments in the method call that are marked as or parameters. - - - Gets an interface that represents a collection of the remoting message's properties. - An interface that represents a collection of the remoting message's properties. - - - Gets the return value of the method call. - A that represents the return value of the method call. - - - Gets the full type name of the remote object on which the method call is being made. - A that contains the full type name of the remote object on which the method call is being made. - - - Gets the Uniform Resource Identifier (URI) of the remote object on which the method call is being made. - The URI of a remote object. - - - Gets the number of arguments passed to the method. - A that represents the number of arguments passed to a method. - - - Gets an array of arguments passed to the method. - An array of type that represents the arguments passed to a method. - - - Gets the exception thrown during the method call, or if the method did not throw an exception. - The thrown during the method call, or if the method did not throw an exception. - - - Gets a flag that indicates whether the method can accept a variable number of arguments. - - if the method can accept a variable number of arguments; otherwise, . - - - Gets the for the current method call. - The for the current method call. - - - Gets the of the called method. - The of the called method. - - - Gets the name of the invoked method. - A that contains the name of the invoked method. - - - Gets an object that contains the method signature. - A that contains the method signature. - - - Gets the number of arguments in the method call that are marked as parameters or parameters. - A that represents the number of arguments in the method call that are marked as parameters or parameters. - - - Gets an array of arguments in the method call that are marked as parameters or parameters. - An array of type that represents the arguments in the method call that are marked as parameters or parameters. - - - An interface that represents a collection of the remoting message's properties. - An interface that represents a collection of the remoting message's properties. - - - Gets the return value of the method call. - A that represents the return value of the method call. - - - Gets the full type name of the remote object on which the method call is being made. - A that contains the full type name of the remote object on which the method call is being made. - - - Gets the Uniform Resource Identifier (URI) of the remote object on which the method call is being made. - The URI of a remote object. - - - Gets or sets the delegate for the current instance of the . - The delegate for the current instance of the . - - - Gets the number of arguments of the called method. - The number of arguments of the called method. - - - Gets a specified argument passed to the method called on the remote object. - An argument passed to the method called on the remote object. - - - Gets the exception that was thrown during the remote method call. - The exception thrown during the method call, or if an exception did not occur during the call. - - - Gets a value indicating whether the called method accepts a variable number of arguments. - - if the called method accepts a variable number of arguments; otherwise, . - - - Gets the of the called method. - The of the called method. - - - Gets the of the called method. - The of the called method. - - - Gets the name of the called method. - The name of the method that the current originated from. - - - Gets an array of objects containing the method signature. - An array of objects containing the method signature. - - - Gets the number of or arguments on the called method. - The number of or arguments on the called method. - - - Gets a specified object passed as an or parameter to the called method. - An object passed as an or parameter to the called method. - - - Gets an of properties contained in the current . - An of properties contained in the current . - - - Gets the object returned by the called method. - The object returned by the called method. - - - Gets the name of the type on which the remote method was called. - The type name of the remote object on which the remote method was called. - - - Gets or sets the URI of the remote object on which the remote method was called. - The URI of the remote object on which the remote method was called. - - - Gets or sets a value indicating whether the type must be nested during SOAP serialization. - - if the target object must be nested during SOAP serialization; otherwise, . - - - Gets or sets a value indicating whether the target of the current attribute will be serialized as an XML attribute instead of an XML field. - - if the target object of the current attribute must be serialized as an XML attribute; if the target object must be serialized as a subelement. - - - Gets or sets the XML namespace name. - The XML namespace name under which the target of the current attribute is serialized. - - - Gets or sets the order of the current field attribute. - The order of the current field attribute. - - - Gets or sets the XML element name of the field contained in the attribute. - The XML element name of the field contained in this attribute. - - - Gets or sets the XML element name to use for the method response to the target method. - The XML element name to use for the method response to the target method. - - - Gets or sets the XML element namesapce used for method response to the target method. - The XML element namesapce used for method response to the target method. - - - Gets or sets the XML element name used for the return value from the target method. - The XML element name used for the return value from the target method. - - - Gets or sets the SOAPAction header field used with HTTP requests sent with this method. This property is currently not implemented. - The SOAPAction header field used with HTTP requests sent with this method. - - - Gets or sets a value indicating whether the target of the current attribute will be serialized as an XML attribute instead of an XML field. - The current implementation always returns . - An attempt was made to set the current property. - - - Gets or sets the XML namespace that is used during serialization of remote method calls of the target method. - The XML namespace that is used during serialization of remote method calls of the target method. - - - Gets or sets a configuration value. - A configuration value. - - - Gets or sets a value indicating whether the target of the current attribute will be serialized as an XML attribute instead of an XML field. - The current implementation always returns . - An attempt was made to set the current property. - - - Gets or sets the XML element name. - The XML element name. - - - Gets or sets the XML field order for the target object type. - The XML field order for the target object type. - - - Gets or sets the XML namespace that is used during serialization of the target object type. - The XML namespace that is used during serialization of the target object type. - - - Gets or sets the XML type name for the target object type. - The XML type name for the target object type. - - - Gets or sets the XML type namespace for the current object type. - The XML type namespace for the current object type. - - - Gets or sets a URI. - A that contains a URI. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets the binary representation of a 64-bit number. - A array that contains the binary representation of a 64-bit number. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets whether the date and time of the current instance is positive or negative. - An integer that indicates whether is positive or negative. - - - Gets or sets the date and time of the current instance. - The object that contains the date and time of the current instance. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets the date and time of the current instance. - The object that contains the date and time of the current instance. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets an XML attribute. - A that contains an XML attribute. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets an XML attribute. - A that contains an XML attribute. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets the hexadecimal representation of a number. - A array containing the hexadecimal representation of a number. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A indicating the XSD of the current SOAP type. - - - Gets or sets an XML attribute. - A that contains an XML attribute. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets an XML attribute. - A that contains an XML attribute. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets an XML attribute. - A that contains an XML attribute. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets the numeric value of the current instance. - A that indicates the numeric value of the current instance. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets the language identifier of a attribute. - A that contains the language identifier of a attribute. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets the date and time of the current instance. - The object that contains the date and time of the current instance. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets the date and time of the current instance. - The object that contains the date and time of the current instance. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets an XML type. - A that contains an XML type. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets an XML type. - A that contains an XML type. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets the numeric value of the current instance. - A that indicates the numeric value of the current instance. - - is greater than -1. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets an XML attribute. - A that contains an XML attribute. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets an XML attribute. - A that contains an XML attribute. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets the numeric value of the current instance. - A that indicates the numeric value of the current instance. - - is less than 0. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets the numeric value of the current instance. - A that indicates the numeric value of the current instance. - - is greater than zero. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets a normalized string. - A object that contains a normalized string. - - contains invalid characters (0xD, 0xA, or 0x9). - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets an XML attribute. - A that contains an XML attribute. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets the numeric value of the current instance. - A indicating the numeric value of the current instance. - - is less than 1. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets the namespace alias of a qualified name. - A that contains the namespace alias of a qualified name. - - - Gets or sets the name portion of a qualified name. - A that contains the name portion of a qualified name. - - - Gets or sets the namespace that is referenced by . - A that contains the namespace that is referenced by . - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets the date and time of the current instance. - The object that contains the date and time of the current instance. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets an XML . - A that contains an XML . - One of the following: contains invalid characters (0xD or 0x9). - [0] or [ .Length - 1] contains white space. - contains any spaces. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets whether the date and time of the current instance is positive or negative. - An integer that indicates whether is positive or negative. - - - Gets or sets the date and time of the current instance. - The object that contains the date and time of the current instance. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets whether the date and time of the current instance is positive or negative. - An integer that indicates whether is positive or negative. - - - Gets or sets the date and time of the current instance. - The object that contains the date and time of the current instance. - - - Gets the XML Schema definition language (XSD) of the current SOAP type. - A that indicates the XSD of the current SOAP type. - - - Gets or sets the for the . - The interface for the . - - - Gets or sets the for the . - The interface for the . - - - Gets or sets the for the object that the describes. - The for the object that the describes. - - - Gets or sets the URI of the specific object instance. - The URI of the specific object instance. - - - Gets the ID of the currently executing application. - A that contains the ID of the currently executing application. - The immediate caller does not have infrastructure permission. - - - Gets or sets the name of a remoting application. - The name of a remoting application. - At least one of the callers higher in the callstack does not have permission to configure remoting types and channels. This exception is thrown only when setting the property value. - - - Gets or sets value that indicates how custom errors are handled. - A member of the enumeration that indicates how custom errors are handled. - - - Gets the ID of the currently executing process. - A that contains the ID of the currently executing process. - The immediate caller does not have infrastructure permission. - - - Gets an array of the tracking handlers that are currently registered with in the current . - An array of the tracking handlers that are currently registered with in the current . - - - Gets the XML namespace prefix for common language runtime types. - The XML namespace prefix for common language runtime types. - The immediate caller does not have infrastructure permission. - - - Gets the default XML namespace prefix that should be used for XML encoding of a common language runtime class that has an assembly, but no native namespace. - The default XML namespace prefix that should be used for XML encoding of a common language runtime class that has an assembly, but no native namespace. - The immediate caller does not have infrastructure permission. - - - Gets the XML namespace prefix that should be used for XML encoding of a common language runtime class that is part of the mscorlib.dll file. - The XML namespace prefix that should be used for XML encoding of a common language runtime class that is part of the mscorlib.dll file. - The immediate caller does not have infrastructure permission. - - - Gets the default XML namespace prefix that should be used for XML encoding of a common language runtime class that has both a common language runtime namespace and an assembly. - The default XML namespace prefix that should be used for XML encoding of a common language runtime class that has both a common language runtime namespace and an assembly. - The immediate caller does not have infrastructure permission. - - - Gets the assembly name of the object type configured to be a remote-activated type. - The assembly name of the object type configured to be a remote-activated type. - - - Gets the full type name of the object type configured to be a remote-activated type. - The full type name of the object type configured to be a remote-activated type. - - - Gets or sets the URL of the application to activate the type in. - The URL of the application to activate the type in. - - - Gets the of the server-activated client type. - Gets the of the server-activated client type. - - - Gets the URL of the server-activated client object. - The URL of the server-activated client object. - - - Gets or sets the context attributes for the server-activated service type. - Gets or sets the context attributes for the server-activated service type. - - - Gets the of the server-activated service type. - The of the server-activated service type. - - - Gets the of the server-activated service type. - The of the server-activated service type. - - - Gets the URI of the well-known service type. - The URI of the server-activated service type. - - - When overridden in a derived class, gets or sets the used with the current formatter. - The used with the current formatter. - - - When overridden in a derived class, gets or sets the used for the current serialization. - The used for the current serialization. - - - When overridden in a derived class, gets or sets the used with the current formatter. - The used with the current formatter. - - - Gets or sets the behavior of the deserializer with regards to finding and loading assemblies. - One of the values that specifies the deserializer behavior. - - - Gets or sets an object of type that controls the binding of a serialized object to a type. - The serialization binder to use with this formatter. - - - Gets or sets the for this formatter. - The streaming context to use with this formatter. - - - Gets or sets the of automatic deserialization the performs. - The that represents the current automatic deserialization level. - - - Gets or sets a that controls type substitution during serialization and deserialization. - The surrogate selector to use with this formatter. - - - Gets or sets the format in which type descriptions are laid out in the serialized stream. - The style of type layouts to use. - - - Gets or sets the field names of serialized objects. - The field names of serialized objects. - The caller does not have the required permission. - - - Gets or sets the field types of the serialized objects. - The field types of the serialized objects. - The caller does not have the required permission. - - - Gets or sets the out-of-band data of the method call. - The out-of-band data of the method call. - - - Gets or sets the name of the called method. - The name of the called method. - - - Gets or sets the parameter names of the method call. - The parameter names of the method call. - - - Gets or sets the parameter types of a method call. - The parameter types of a method call. - - - Gets or sets the parameter values of a method call. - The parameter values of a method call. - - - Gets or sets the XML namespace of the SOAP RPC (Remote Procedure Call) element. - The XML namespace name where the object that contains the called method is located. - - - Gets or sets the exception message that accompanied the exception thrown on the server. - The exception message that accompanied the exception thrown on the server. - - - Gets or sets the type of exception that was thrown by the server. - The type of exception that was thrown by the server. - - - Gets or sets the stack trace of the thread that threw the exception on the server. - The stack trace of the thread that threw the exception on the server. - - - Gets or sets additional information required for the . - Additional information required for the . - - - Gets or sets the fault actor for the . - The fault actor for the . - - - Gets or sets the fault code for the . - The fault code for this . - - - Gets or sets the fault message for the . - The fault message for the . - - - Gets or sets the out-of-band data of the called method. - The out-of-band data of the called method. - - - Gets or sets the name of the called method. - The name of the called method. - - - Gets or sets the parameter names for the called method. - The parameter names for the called method. - - - This property is reserved. Use the and/or properties instead. - Parameter types for the called method. - - - Gets or sets the parameter values for the called method. - Parameter values for the called method. - - - Gets or sets the XML namespace name where the object that contains the called method is located. - The XML namespace name where the object that contains the called method is located. - - - Gets or sets the that performs type lookups during deserialization. - The that performs type lookups during deserialization. - - - Gets or sets the used for serialization and deserialization. - The used for serialization and deserialization. - - - Gets or sets the used by the current formatter. - The used by this formatter. - - - This property is unused and is reserved. - This property is reserved. - - - Gets or sets an object that describes the source and destination of a serialized stream. - An object that describes the source and destination of a serialized stream. - - - Gets the name of the object. - The name of the object. - - - Gets the of the object. - The of the object. - - - Gets the value contained in the object. - The value contained in the object. - - - Gets or sets the assembly name of the type to serialize during serialization only. - The full name of the assembly of the type to serialize. - The value the property is set to is . - - - Gets or sets the full name of the to serialize. - The full name of the type to serialize. - The value this property is set to is . - - - Gets whether the assembly name has been explicitly set. - - if the assembly name has been explicitly set; otherwise . - - - Gets whether the full type name has been explicitly set. - - if the full type name has been explicitly set; otherwise . - - - Gets the number of members that have been added to the store. - The number of members that have been added to the current . - - - Returns the type of the object to be serialized. - The type of the object being serialized. - - - Gets the item currently being examined. - The item currently being examined. - The enumerator has not started enumerating items or has reached the end of the enumeration. - - - Gets the name for the item currently being examined. - The item name. - The enumerator has not started enumerating items or has reached the end of the enumeration. - - - Gets the type of the item currently being examined. - The type of the item currently being examined. - The enumerator has not started enumerating items or has reached the end of the enumeration. - - - Gets the current item in the collection. - A that contains the current serialization data. - The enumeration has not started or has already ended. - - - Gets the value of the item currently being examined. - The value of the item currently being examined. - The enumerator has not started enumerating items or has reached the end of the enumeration. - - - Gets context specified as part of the additional context. - The context specified as part of the additional context. - - - Gets the source or destination of the transmitted data. - During serialization, the destination of the transmitted data. During deserialization, the source of the data. - - - Gets the reason why the method to which this attribute is applied is considered to be eligible for inlining across Native Image Generator (NGen) images. - The reason why the method is considered to be eligible for inlining across NGen images. - - - Gets a value that indicates the guaranteed level of compatibility of a library, type, or type member that spans multiple versions. - One of the enumeration values that specifies the level of compatibility that is guaranteed across multiple versions. - - - Gets the consumption scope for this member. - A object specifying the resource scope used by this member. - - - Gets the resource scope for the consumed resource. - A object specifying the resource scope of the consumed member. - - - Gets the resource exposure scope. - A object. - - - Gets the display name of the .NET Framework version against which an assembly was built. - The display name of the .NET Framework version. - - - Gets the name of the .NET Framework version against which a particular assembly was compiled. - The name of the .NET Framework version with which the assembly was compiled. - - - Gets a handle to the field represented by the current instance. - An that contains the handle to the field represented by the current instance. - - - Gets the value of this instance. - A that is the internal metadata representation of a method. - - - Gets a handle to the type represented by this instance. - A handle to the type represented by this instance. - - - Gets the value associated with this object. - The value associated with this object. - - - Gets the rights of the current instance. - The rights, cast as type <T>, of the current instance. - - - Gets the current element in the collection. This property gets the type-friendly version of the object. - The current element in the collection. - - - Gets the current element in the collection. - Returns the current element in the collection. - The collection was modified after the enumerator was created. - - - Gets the audit flags for this audit rule. - A bitwise combination of the enumeration values. This combination specifies the audit conditions for this audit rule. - - - Gets the rights of the audit rule. - The rights of the audit rule. - - - Gets the access mask for this rule. - The access mask for this rule. - - - Gets the to which this rule applies. - The to which this rule applies. - - - Gets the value of flags that determine how this rule is inherited by child objects. - A bitwise combination of the enumeration values. - - - Gets a value indicating whether this rule is explicitly set or is inherited from a parent container object. - - if this rule is not explicitly set but is instead inherited from a parent container. - - - Gets the value of the propagation flags, which determine how inheritance of this rule is propagated to child objects. This property is significant only when the value of the enumeration is not . - A bitwise combination of the enumeration values. - - - Gets the object at the specified index of the collection. - The zero-based index of the object to get. - The object at the specified index. - - - Gets the length, in bytes, of the binary representation of the current object. Use this length with the method before marshaling the ACL into a binary array. - The length, in bytes, of the binary representation of the current object. - - - Gets the length, in bytes, of the binary representation of the current object. This length should be used before marshaling the access control list (ACL) into a binary array by using the method. - The length, in bytes, of the binary representation of the current object. - - - Gets the number of access control entries (ACEs) in the current object. - The number of ACEs in the current object. - - - Gets a Boolean value that specifies whether the access control entries (ACEs) in the current object are in canonical order. - - if the ACEs in the current object are in canonical order; otherwise, . - - - Sets whether the object is a container. - - if the current object is a container. - - - Sets whether the current object is a directory object access control list (ACL). - - if the current object is a directory object ACL. - - - Gets or sets the at the specified index. - The zero-based index of the to get or set. - The at the specified index. - - - Gets the revision level of the . - A byte value that specifies the revision level of the . - - - Gets values that specify behavior of the object. - One or more values of the enumeration combined with a logical OR operation. - - - Gets or sets the discretionary access control list (DACL) for this object. The DACL contains access rules. - The DACL for this object. - - - Gets or sets the primary group for this object. - The primary group for this object. - - - Gets a Boolean value that specifies whether the object associated with this object is a container object. - - if the object associated with this object is a container object; otherwise, . - - - Gets a Boolean value that specifies whether the Discretionary Access Control List (DACL) associated with this object is in canonical order. - - if the DACL associated with this object is in canonical order; otherwise, . - - - Gets a Boolean value that specifies whether the object associated with this object is a directory object. - - if the object associated with this object is a directory object; otherwise, . - - - Gets a Boolean value that specifies whether the System Access Control List (SACL) associated with this object is in canonical order. - - if the SACL associated with this object is in canonical order; otherwise, . - - - Gets or sets the owner of the object associated with this object. - The owner of the object associated with this object. - - - Gets or sets the System Access Control List (SACL) for this object. The SACL contains audit rules. - The SACL for this object. - - - Gets the length, in bytes, of the binary representation of the current object. This length should be used before marshaling the ACL into a binary array with the method. - The length, in bytes, of the binary representation of the current object. - - - Gets or sets the type of this object. - The type of this object. - - - Gets the cryptographic key operation to which this access rule controls access. - The cryptographic key operation to which this access rule controls access. - - - Gets the cryptographic key operation for which this audit rule generates audits. - The cryptographic key operation for which this audit rule generates audits. - - - Gets the of the securable object associated with this object. - The type of the securable object associated with this object. - - - Gets the of the object associated with the access rules of this object. The object must be an object that can be cast as a object. - The type of the object associated with the access rules of this object. - - - Gets the object associated with the audit rules of this object. The object must be an object that can be cast as a object. - The type of the object associated with the audit rules of this object. - - - Gets the length, in bytes, of the binary representation of the current object. This length should be used before marshaling the ACL into a binary array with the method. - The length, in bytes, of the binary representation of the current object. - - - Gets the length of the opaque data associated with this object. - The length of the opaque callback data. - - - Gets the rights allowed or denied by the access rule. - A bitwise combination of values indicating the rights allowed or denied by the access rule. - - - Gets the access rights affected by the audit rule. - A bitwise combination of values that indicates the rights affected by the audit rule. - - - Gets the enumeration type that the class uses to represent access rights. - A object representing the enumeration. - - - Gets the type that the class uses to represent access rules. - A object representing the class. - - - Gets the type that the class uses to represent audit rules. - A object representing the class. - - - Gets the flags associated with the current object. - The flags associated with the current object. - - - Gets the flags associated with the current object. - The flags associated with the current object. - - - Gets the enumeration that the class uses to represent access rights. - A object representing the enumeration. - - - Gets the enumeration that the class uses to represent access rules. - A object representing the class. - - - Gets the type that the class uses to represent audit rules. - A object representing the class. - - - Gets or sets the associated with this object. - The associated with this object. - - - Gets the type of this Access Control Entry (ACE). - The type of this ACE. - - - Gets the audit information associated with this Access Control Entry (ACE). - The audit information associated with this Access Control Entry (ACE). - - - Gets the length, in bytes, of the binary representation of the current object. This length should be used before marshaling the ACL into a binary array with the method. - The length, in bytes, of the binary representation of the current object. - - - Gets flags that specify the inheritance properties of this Access Control Entry (ACE). - Flags that specify the inheritance properties of this ACE. - - - Gets a Boolean value that specifies whether this Access Control Entry (ACE) is inherited or is set explicitly. - - if this ACE is inherited; otherwise, . - - - Gets flags that specify the inheritance propagation properties of this Access Control Entry (ACE). - Flags that specify the inheritance propagation properties of this ACE. - - - Gets the length, in bytes, of the binary representation of the current object. This length should be used before marshaling the ACL into a binary array with the method. - The length, in bytes, of the binary representation of the current object. - - - Gets the number of access control entries (ACEs) in the current object. - The number of ACEs in the current object. - - - This property is always set to . It is implemented only because it is required for the implementation of the interface. - Always . - - - Gets or sets the at the specified index. - The zero-based index of the to get or set. - The at the specified index. - - - Gets the revision level of the . - A byte value that specifies the revision level of the . - - - This property always returns . It is implemented only because it is required for the implementation of the interface. - Always returns . - - - Gets the length, in bytes, of the binary representation of the current object. This length should be used before marshaling the ACL into a binary array with the method. - The length, in bytes, of the binary representation of the current object. - - - Gets values that specify behavior of the object. - One or more values of the enumeration combined with a logical OR operation. - - - Gets or sets the primary group for this object. - The primary group for this object. - - - Gets or sets the owner of the object associated with this object. - The owner of the object associated with this object. - - - Gets the revision level of the object. - A byte value that specifies the revision level of the . - - - Gets or sets the access mask for this object. - The access mask for this object. - - - Gets or sets the object associated with this object. - The object associated with this object. - - - Gets the rights allowed or denied by the access rule. - A bitwise combination of values indicating the rights allowed or denied by the access rule. - - - Gets the access rights affected by the audit rule. - A bitwise combination of values that indicates the rights affected by the audit rule. - - - Gets the enumeration that the class uses to represent access rights. - A object representing the enumeration. - - - Gets the type that the class uses to represent access rules. - A object representing the class. - - - Gets the type that the class uses to represent audit rules. - A object representing the class. - - - Gets the type of child object that can inherit the object. - The type of child object that can inherit the object. - - - Gets flags that specify if the and properties of the object contain valid values. - - specifies that the property contains a valid value. specifies that the property contains a valid value. These values can be combined with a logical OR. - - - Gets the type of object to which the applies. - The type of object to which the applies. - - - Gets the length, in bytes, of the binary representation of the current object. This length should be used before marshaling the ACL into a binary array with the method. - The length, in bytes, of the binary representation of the current object. - - - Gets or sets the GUID of the object type that can inherit the Access Control Entry (ACE) that this object represents. - The GUID of the object type that can inherit the Access Control Entry (ACE) that this object represents. - - - Gets or sets flags that specify whether the and properties contain values that identify valid object types. - On or more members of the enumeration combined with a logical OR operation. - - - Gets or sets the GUID of the object type associated with this object. - The GUID of the object type associated with this object. - - - Gets the type of child object that can inherit the object. - The type of child object that can inherit the object. - - - - and properties of the object contain valid values. - - specifies that the property contains a valid value. specifies that the property contains a valid value. These values can be combined with a logical OR. - - - Gets the type of object to which the applies. - The type of object to which the applies. - - - Gets the of the securable object associated with this object. - The type of the securable object associated with this object. - - - Gets or sets a Boolean value that specifies whether the access rules associated with this object have been modified. - - if the access rules associated with this object have been modified; otherwise, . - - - Gets the of the object associated with the access rules of this object. The object must be an object that can be cast as a object. - The type of the object associated with the access rules of this object. - - - Gets a Boolean value that specifies whether the access rules associated with this object are in canonical order. - - if the access rules are in canonical order; otherwise, . - - - Gets a Boolean value that specifies whether the Discretionary Access Control List (DACL) associated with this object is protected. - - if the DACL is protected; otherwise, . - - - Gets a Boolean value that specifies whether the audit rules associated with this object are in canonical order. - - if the audit rules are in canonical order; otherwise, . - - - Gets a Boolean value that specifies whether the System Access Control List (SACL) associated with this object is protected. - - if the SACL is protected; otherwise, . - - - Gets or sets a Boolean value that specifies whether the audit rules associated with this object have been modified. - - if the audit rules associated with this object have been modified; otherwise, . - - - Gets the object associated with the audit rules of this object. The object must be an object that can be cast as a object. - The type of the object associated with the audit rules of this object. - - - Gets or sets a Boolean value that specifies whether the group associated with the securable object has been modified. - - if the group associated with the securable object has been modified; otherwise, . - - - Gets a Boolean value that specifies whether this object is a container object. - - if the object is a container object; otherwise, . - - - Gets a Boolean value that specifies whether this object is a directory object. - - if the object is a directory object; otherwise, . - - - Gets or sets a Boolean value that specifies whether the owner of the securable object has been modified. - - if the owner of the securable object has been modified; otherwise, . - - - Gets the Type of the securable object associated with this ObjectSecurity`1 object. - The type of the securable object associated with the current instance. - - - Gets the Type of the object associated with the access rules of this ObjectSecurity`1 object. - The Type of the object associated with the access rules of the current instance. - - - Gets the Type object associated with the audit rules of this ObjectSecurity`1 object. - The Type object associated with the audit rules of the current instance. - - - Gets the name of the privilege that is not enabled. - The name of the privilege that the method failed to enable. - - - Gets a value that specifies whether the ACE allows access, denies access, causes system audits, or causes system alarms. - A value that specifies whether the ACE allows access, denies access, causes system audits, or causes system alarms. - - - Specifies whether this object contains callback data. - - if this object contains callback data; otherwise, false. - - - Gets the length of the opaque callback data associated with this object. This property is valid only for callback Access Control Entries (ACEs). - The length of the opaque callback data. - - - Gets the length, in bytes, of the binary representation of the current object. This length should be used before marshaling the ACL into a binary array with the method. - The length, in bytes, of the binary representation of the current object. - - - Gets the number of access control entries (ACEs) in the current object. - The number of ACEs in the current object. - - - Gets or sets the Access Control Entry (ACE) at the specified index. - The zero-based index of the ACE to get or set. - The ACE at the specified index. - - - Gets the revision level of the . - A byte value that specifies the revision level of the . - - - Gets values that specify behavior of the object. - One or more values of the enumeration combined with a logical OR operation. - - - Gets or sets the Discretionary Access Control List (DACL) for this object. The DACL contains access rules. - The DACL for this object. - - - Gets or sets the primary group for this object. - The primary group for this object. - - - Gets or sets the owner of the object associated with this object. - The owner of the object associated with this object. - - - Gets or sets a byte value that represents the resource manager control bits associated with this object. - A byte value that represents the resource manager control bits associated with this object. - - - Gets or sets the System Access Control List (SACL) for this object. The SACL contains audit rules. - The SACL for this object. - - - Gets the rights allowed or denied by the access rule. - A bitwise combination of values indicating the rights allowed or denied by the access rule. - - - Gets the access rights affected by the audit rule. - A bitwise combination of values that indicates the rights affected by the audit rule. - - - Gets the enumeration type that the class uses to represent access rights. - A object representing the enumeration. - - - Gets the type that the class uses to represent access rules. - A object representing the class. - - - Gets the type that the class uses to represent audit rules. - A object representing the class. - - - Gets or sets the default partial trust visibility for code that is marked with the (APTCA) attribute. - One of the enumeration values. The default is . - - - - Returns . - - - Gets the issuer of the claim. - A name that refers to the issuer of the claim. - - - Gets the original issuer of the claim. - A name that refers to the original issuer of the claim. - - - Gets a dictionary that contains additional properties associated with this claim. - A dictionary that contains additional properties associated with the claim. The properties are represented as name-value pairs. - - - Gets the subject of the claim. - The subject of the claim. - - - Gets the claim type of the claim. - The claim type. - - - Gets the value of the claim. - The claim value. - - - Gets the value type of the claim. - The claim value type. - - - Gets or sets the identity of the calling party that was granted delegation rights. - The calling party that was granted delegation rights. - An attempt to set the property to the current instance occurs. - - - Gets the authentication type. - The authentication type. - - - Gets or sets the token that was used to create this claims identity. - The bootstrap context. - - - Gets the claims associated with this claims identity. - The collection of claims associated with this claims identity. - - - - - - Gets a value that indicates whether the identity has been authenticated. - - if the identity has been authenticated; otherwise, false. - - - Gets or sets the label for this claims identity. - The label. - - - Gets the name of this claims identity. - The name or . - - - Gets the claim type that is used to determine which claims provide the value for the property of this claims identity. - The name claim type. - - - Gets the claim type that will be interpreted as a .NET Framework role among the claims in this claims identity. - The role claim type. - - - Gets a collection that contains all of the claims from all of the claims identities associated with this claims principal. - The claims associated with this principal. - - - Gets and sets the delegate used to select the claims principal returned by the property. - The delegate. The default is . - - - Gets the current claims principal. - The current claims principal. - - - - - - Gets a collection that contains all of the claims identities associated with this claims principal. - The collection of claims identities. - - - Gets the primary claims identity associated with this claims principal. - The primary claims identity associated with this claims principal. - - - Gets and sets the delegate used to select the claims identity returned by the property. - The delegate. The default is . - - - When overridden in a derived class, gets the name of the key exchange algorithm. Otherwise, throws an . - The name of the key exchange algorithm. - - - Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm. - The size, in bits, of the key modulus used by the asymmetric algorithm. - The key modulus size is invalid. - - - Gets the key sizes that are supported by the asymmetric algorithm. - An array that contains the key sizes supported by the asymmetric algorithm. - - - When implemented in a derived class, gets the name of the signature algorithm. Otherwise, always throws a . - The name of the signature algorithm. - - - When overridden in a derived class, gets or sets the parameters for the asymmetric key exchange. - A string in XML format containing the parameters of the asymmetric key exchange operation. - - - When overridden in a derived class, gets the parameters for the asymmetric key exchange. - A string in XML format containing the parameters of the asymmetric key exchange operation. - - - Gets a value indicating whether the current transform can be reused. - Always . - - - Gets a value indicating whether multiple blocks can be transformed. - - if multiple blocks can be transformed; otherwise, . - - - Gets the input block size. - The input block size in bytes. - - - Gets the key handle. - The key handle. - - - Gets the output block size. - The output block size in bytes. - - - Indicates whether the runtime should enforce the policy to create only Federal Information Processing Standard (FIPS) certified algorithms. - - to enforce the policy; otherwise, . - - - Gets a value indicating whether the current is readable. - - if the current stream is readable; otherwise, . - - - Gets a value indicating whether you can seek within the current . - Always . - - - Gets a value indicating whether the current is writable. - - if the current stream is writable; otherwise, . - - - Gets a value indicating whether the final buffer block has been written to the underlying stream. - - if the final block has been flushed; otherwise, . - - - Gets the length in bytes of the stream. - This property is not supported. - This property is not supported. - - - Gets or sets the position within the current stream. - This property is not supported. - This property is not supported. - - - Gets a value indicating whether a key in a key container is accessible. - - if the key is accessible; otherwise, . - The key type is not supported. - - - Gets a object that represents access rights and audit rules for a container. - A object that represents access rights and audit rules for a container. - The key type is not supported. - The cryptographic service provider cannot be found.-or-The key container was not found. - - - Gets a value indicating whether a key can be exported from a key container. - - if the key can be exported; otherwise, . - The key type is not supported. - The cryptographic service provider cannot be found.-or-The key container was not found. - - - Gets a value indicating whether a key is a hardware key. - - if the key is a hardware key; otherwise, . - The cryptographic service provider cannot be found. - - - Gets a key container name. - The key container name. - - - Gets a value that describes whether an asymmetric key was created as a signature key or an exchange key. - One of the values that describes whether an asymmetric key was created as a signature key or an exchange key. - - - Gets a value indicating whether a key is from a machine key set. - - if the key is from the machine key set; otherwise, . - - - Gets a value indicating whether a key pair is protected. - - if the key pair is protected; otherwise, . - The key type is not supported. - The cryptographic service provider cannot be found.-or-The key container was not found. - - - Gets the provider name of a key. - The provider name. - - - Gets the provider type of a key. - The provider type. The default is 1. - - - Gets a value indicating whether a key container was randomly generated by a managed cryptography class. - - if the key container was randomly generated; otherwise, . - - - Gets a value indicating whether a key can be removed from a key container. - - if the key is removable; otherwise, . - The cryptographic service provider (CSP) was not found. - - - Gets a unique key container name. - The unique key container name. - The key type is not supported. - The cryptographic service provider cannot be found.-or-The key container was not found. - - - Gets or sets a object that represents access rights and audit rules for a container. - A object that represents access rights and audit rules for a container. - - - Represents the flags for that modify the behavior of the cryptographic service provider (CSP). - An enumeration value, or a bitwise combination of enumeration values. - Value is not a valid enumeration value. - - - Gets or sets a password associated with a smart card key. - A password associated with a smart card key. - - - Gets or sets a handle to the unmanaged parent window for a smart card password dialog box. - A handle to the parent window for a smart card password dialog box. - - - Gets or sets the secret key for the Data Encryption Standard () algorithm. - The secret key for the algorithm. - An attempt was made to set the key to . - An attempt was made to set a key whose length is not equal to . - An attempt was made to set a weak key (see ) or a semi-weak key (see ). - - - Gets a object that describes additional information about a cryptographic key pair. - A object that describes additional information about a cryptographic key pair. - - - Gets the name of the key exchange algorithm. - The name of the key exchange algorithm. - - - Gets the size of the key used by the asymmetric algorithm in bits. - The size of the key used by the asymmetric algorithm. - - - Gets or sets a value indicating whether the key should be persisted in the cryptographic service provider (CSP). - - if the key should be persisted in the CSP; otherwise, . - - - Gets a value that indicates whether the object contains only a public key. - - if the object contains only a public key; otherwise, . - - - Gets the name of the signature algorithm. - The name of the signature algorithm. - - - Gets or sets a value indicating whether the key should be persisted in the computer's key store instead of the user profile store. - - if the key should be persisted in the computer key store; otherwise, . - - - Gets a value indicating whether the current transform can be reused. - Always . - - - Gets a value that indicates whether multiple blocks can be transformed. - Always . - - - Gets the input block size. - The size of the input data blocks in bytes. - - - Gets the output block size. - The size of the output data blocks in bytes. - - - Gets a value indicating whether the current transform can be reused. - Always . - - - When overridden in a derived class, gets a value indicating whether multiple blocks can be transformed. - - if multiple blocks can be transformed; otherwise, . - - - Gets the value of the computed hash code. - The current value of the computed hash code. - - is . - The object has already been disposed. - - - Gets the size, in bits, of the computed hash code. - The size, in bits, of the computed hash code. - - - When overridden in a derived class, gets the input block size. - The input block size. - - - When overridden in a derived class, gets the output block size. - The output block size. - - - Gets a hash algorithm name that represents "MD5". - A hash algorithm name that represents "MD5". - - - Gets the underlying string representation of the algorithm name. - The string representation of the algorithm name, or or if no hash algorithm is available. - - - Gets a hash algorithm name that represents "SHA1". - A hash algorithm name that represents "SHA1". - - - Gets a hash algorithm name that represents "SHA256". - A hash algorithm name that represents "SHA256". - - - Gets a hash algorithm name that represents "SHA384". - A hash algorithm name that represents "SHA384". - - - Gets a hash algorithm name that represents "SHA512". - A hash algorithm name that represents "SHA512". - - - Gets or sets the block size to use in the hash value. - The block size to use in the hash value. - - - Gets or sets the name of the hash algorithm to use for hashing. - The name of the hash algorithm. - The current hash algorithm cannot be changed. - - - Gets or sets the key to use in the hash algorithm. - The key to use in the hash algorithm. - An attempt is made to change the property after hashing has begun. - - - Provides a workaround for the .NET Framework 2.0 implementation of the algorithm, which is inconsistent with the .NET Framework 2.0 Service Pack 1 implementation of the algorithm. - - to enable .NET Framework 2.0 Service Pack 1 applications to interact with .NET Framework 2.0 applications; otherwise, . - - - Provides a workaround for the .NET Framework 2.0 implementation of the algorithm, which is inconsistent with the .NET Framework 2.0 Service Pack 1 implementation. - - to enable .NET Framework 2.0 Service Pack 1 applications to interact with .NET Framework 2.0 applications; otherwise, . - - - Gets a value indicating whether the current transform can be reused. - - if the current transform can be reused; otherwise, . - - - Gets a value indicating whether multiple blocks can be transformed. - - if multiple blocks can be transformed; otherwise, . - - - Gets the input block size. - The size of the input data blocks in bytes. - - - Gets the output block size. - The size of the output data blocks in bytes. - - - Gets a object that describes additional information about a cryptographic key pair. - A object that describes additional information about a cryptographic key pair. - - - Gets or sets the key to use in the hash algorithm. - The key to use in the hash algorithm. - An attempt was made to change the property after hashing has begun. - - - Specifies the maximum key size in bits. - The maximum key size in bits. - - - Specifies the minimum key size in bits. - The minimum key size in bits. - - - Specifies the interval between valid key sizes in bits. - The interval between valid key sizes in bits. - - - Gets or sets the padding mode used in the hashing algorithm. - The padding mode used in the hashing algorithm. - The property cannot be set because the padding mode is invalid. - - - Gets or sets the name of the hash algorithm for the operation. - The name of the hash algorithm for the operation. - The name of the hash value is fixed and an attempt is made to change this value. - - - Gets or sets the number of iterations for the operation. - The number of iterations for the operation. - The number of iterations is fixed and an attempt is made to change this value. - The property cannot be set because its value is out of range. This property requires a non-negative number. - - - Gets or sets the key salt value for the operation. - The key salt value for the operation. - The key salt value is fixed and an attempt is made to change this value. - - - Gets or sets the name of the hash algorithm type to use for generating the mask. - The name of the type that implements the hash algorithm to use for computing the mask. - - - Gets or sets the effective size of the secret key used by the algorithm in bits. - The effective key size used by the algorithm. - The effective key size is invalid. - - - Gets or sets the size of the secret key used by the algorithm in bits. - The size of the secret key used by the algorithm. - The value for the RC2 key size is less than the effective key size value. - - - Gets or sets the effective size, in bits, of the secret key used by the algorithm. - The effective key size, in bits, used by the algorithm. - The property was set to a value other than the property. - - - Gets or sets a value that determines whether to create a key with an 11-byte-long, zero-value salt. - - if the key should be created with an 11-byte-long, zero-value salt; otherwise, . The default is . - - - Gets or sets the number of iterations for the operation. - The number of iterations for the operation. - The number of iterations is less than 1. - - - Gets or sets the key salt value for the operation. - The key salt value for the operation. - The specified salt size is smaller than 8 bytes. - The salt is . - - - Gets the block size. - The size of the data blocks in bytes. - - - Gets a value indicating whether the current transform can be reused. - Always . - - - Gets a value indicating whether multiple blocks can be transformed. - - if multiple blocks can be transformed; otherwise, . - - - Gets the input block size. - The size of the input data blocks in bytes. - - - Gets the output block size. - The size of the output data blocks in bytes. - - - Gets the name of the key exchange algorithm available with this implementation of . - Returns "RSA". - - - Gets the name of the signature algorithm available with this implementation of . - Returns "RSA". - - - Gets a object that describes additional information about a cryptographic key pair. - A object that describes additional information about a cryptographic key pair. - - - Gets the name of the key exchange algorithm available with this implementation of . - The name of the key exchange algorithm if it exists; otherwise, . - - - Gets the size of the current key. - The size of the key in bits. - - - Gets or sets a value indicating whether the key should be persisted in the cryptographic service provider (CSP). - - if the key should be persisted in the CSP; otherwise, . - - - Gets a value that indicates whether the object contains only a public key. - - if the object contains only a public key; otherwise, . - - - Gets the name of the signature algorithm available with this implementation of . - The name of the signature algorithm. - - - Gets or sets a value indicating whether the key should be persisted in the computer's key store instead of the user profile store. - - if the key should be persisted in the computer key store; otherwise, . - - - Gets the padding mode represented by this instance. - A padding mode. - - - Gets the hash algorithm used in conjunction with the padding mode. If the value of the property is not , is . - The hash algorithm. - - - Gets an object that represents the Optimal Asymmetric Encryption Padding (OAEP) encryption standard with a SHA1 hash algorithm. - An object that represents the OAEP encryption standard with a SHA1 hash algorithm. - - - Gets an object that represents the Optimal Asymmetric Encryption Padding (OAEP) encryption standard with a SHA256 hash algorithm. - An object that represents the OAEP encryption standard with a SHA256 hash algorithm. - - - Gets an object that represents the Optimal Asymmetric Encryption Padding (OAEP) encryption standard with a SHA-384 hash algorithm. - An object that represents the OAEP encryption standard with a SHA384 hash algorithm. - - - Gets an object that represents the Optimal Asymmetric Encryption Padding (OAEP) encryption standard with a SHA512 hash algorithm. - An object that represents the OAEP encryption standard with a SHA512 hash algorithm. - - - Gets an object that represents the PKCS #1 encryption standard. - An object that represents the PKCS #1 encryption standard. - - - Gets the parameters for the Optimal Asymmetric Encryption Padding (OAEP) key exchange. - An XML string containing the parameters of the OAEP key exchange operation. - - - Gets or sets the parameter used to create padding in the key exchange creation process. - The parameter value. - - - Gets the parameters for the Optimal Asymmetric Encryption Padding (OAEP) key exchange. - An XML string containing the parameters of the OAEP key exchange operation. - - - Gets or sets the random number generator algorithm to use in the creation of the key exchange. - The instance of a random number generator algorithm to use. - - - Gets the parameters for the PKCS #1 key exchange. - An XML string containing the parameters of the PKCS #1 key exchange operation. - - - Gets or sets the random number generator algorithm to use in the creation of the key exchange. - The instance of a random number generator algorithm to use. - - - Gets the parameters for the PKCS #1 key exchange. - An XML string containing the parameters of the PKCS #1 key exchange operation. - - - Gets or sets the random number generator algorithm to use in the creation of the key exchange. - The instance of a random number generator algorithm to use. - - - Gets the padding mode of this instance. - The padding mode (either or ) of this instance. - - - Gets an object that uses the PKCS #1 v1.5 padding mode. - An object that uses the padding mode. - - - Gets an object that uses PSS padding mode. - An object that uses the padding mode with the number of salt bytes equal to the size of the hash. - - - Gets or sets the deformatter algorithm for the signature description. - The deformatter algorithm for the signature description. - - - Gets or sets the digest algorithm for the signature description. - The digest algorithm for the signature description. - - - Gets or sets the formatter algorithm for the signature description. - The formatter algorithm for the signature description. - - - Gets or sets the key algorithm for the signature description. - The key algorithm for the signature description. - - - Gets or sets the block size, in bits, of the cryptographic operation. - The block size, in bits. - The block size is invalid. - - - Gets or sets the feedback size, in bits, of the cryptographic operation. - The feedback size in bits. - The feedback size is larger than the block size. - - - Gets or sets the initialization vector () for the symmetric algorithm. - The initialization vector. - An attempt was made to set the initialization vector to . - An attempt was made to set the initialization vector to an invalid size. - - - Gets or sets the secret key for the symmetric algorithm. - The secret key to use for the symmetric algorithm. - An attempt was made to set the key to . - The key size is invalid. - - - Gets or sets the size, in bits, of the secret key used by the symmetric algorithm. - The size, in bits, of the secret key used by the symmetric algorithm. - The key size is not valid. - - - Gets the block sizes, in bits, that are supported by the symmetric algorithm. - An array that contains the block sizes supported by the algorithm. - - - Gets the key sizes, in bits, that are supported by the symmetric algorithm. - An array that contains the key sizes supported by the algorithm. - - - Gets or sets the mode for operation of the symmetric algorithm. - The mode for operation of the symmetric algorithm. The default is . - The cipher mode is not one of the values. - - - Gets or sets the padding mode used in the symmetric algorithm. - The padding mode used in the symmetric algorithm. The default is . - The padding mode is not one of the values. - - - Gets a value indicating whether the current transform can be reused. - Always . - - - Gets a value that indicates whether multiple blocks can be transformed. - Always . - - - Gets the input block size. - The size of the input data blocks in bytes. - - - Gets the output block size. - The size of the output data blocks in bytes. - - - Gets or sets the secret key for the algorithm. - The secret key for the algorithm. - An attempt was made to set the key to . - An attempt was made to set a key whose length is invalid.-or- An attempt was made to set a weak key (see ). - - - Gets a handle to a Microsoft Cryptographic API certificate context described by an unmanaged structure. - An structure that represents an unmanaged structure. - - - Gets the name of the certificate authority that issued the X.509v3 certificate. - The name of the certificate authority that issued the X.509v3 certificate. - The certificate handle is invalid. - - - Gets the subject distinguished name from the certificate. - The subject distinguished name from the certificate. - The certificate handle is invalid. - - - Gets or sets the demanded host protection resources that caused the exception to be thrown. - A bitwise combination of the values identifying the protection resources causing the exception to be thrown. The default is . - - - Gets or sets the host protection resources that are inaccessible to partially trusted code. - A bitwise combination of the values identifying the inaccessible host protection categories. The default is . - - - When overridden in a derived class, gets the security policy for the current application domain. - The security policy for the current application domain. The default is . - This method uses code access security (CAS) policy, which is obsolete in the .NET Framework 4. To enable CAS policy for compatibility with earlier versions of the .NET Framework, use the <legacyCasPolicy> element. - - - Gets the flag representing the security policy components of concern to the host. - One of the enumeration values that specifies security policy components. The default is . - - - Gets that verifies the current object's identity. - - of the current object's identity. - - - Gets or sets the text description of the current named permission set. - A text description of the named permission set. - - - Gets or sets the name of the current named permission set. - The name of the named permission set. - The name is or is an empty string (""). - - - Sets full access for the environment variables specified by the string value. - A list of environment variables for full access. - The get method is not supported for this property. - - - Gets or sets read access for the environment variables specified by the string value. - A list of environment variables for read access. - - - Gets or sets write access for the environment variables specified by the string value. - A list of environment variables for write access. - - - Gets or sets the permitted access to files. - The permitted access to files. - An attempt is made to set the parameter to a value that is not a valid combination of the values. - - - Gets or sets a value indicating whether permission to open files through the file dialog is declared. - - if permission to open files through the file dialog is declared; otherwise, . - - - Gets or sets a value indicating whether permission to save files through the file dialog is declared. - - if permission to save files through the file dialog is declared; otherwise, . - - - Gets or sets the permitted access to all files. - The set of file I/O flags for all files. - - - Gets or sets the permitted access to all local files. - The set of file I/O flags for all local files. - - - Gets or sets full access for the file or directory that is specified by the string value. - The absolute path of the file or directory for full access. - The get method is not supported for this property. - - - Gets or sets the permitted access to all files. - A bitwise combination of the values that represents the permissions for all files. The default is . - - - Gets or sets the permitted access to all local files. - A bitwise combination of the values that represents the permissions for all local files. The default is . - - - Gets or sets append access for the file or directory that is specified by the string value. - The absolute path of the file or directory for append access. - - - Gets or sets the file or directory in which access control information can be changed. - The absolute path of the file or directory in which access control information can be changed. - - - Gets or sets the file or directory to which to grant path discovery. - The absolute path of the file or directory. - - - Gets or sets read access for the file or directory specified by the string value. - The absolute path of the file or directory for read access. - - - Gets or sets the file or directory in which access control information can be viewed. - The absolute path of the file or directory in which access control information can be viewed. - - - Gets or sets the file or directory in which file data can be viewed and modified. - The absolute path of the file or directory in which file data can be viewed and modified. - The accessor is called. The accessor is provided only for C# compiler compatibility. - - - Gets or sets write access for the file or directory specified by the string value. - The absolute path of the file or directory for write access. - - - Gets or sets a value indicating whether external process management is exposed. - - if external process management is exposed; otherwise, . The default is . - - - Gets or sets a value indicating whether external threading is exposed. - - if external threading is exposed; otherwise, . The default is . - - - Gets or sets a value indicating whether resources might leak memory if the operation is terminated. - - if resources might leak memory on termination; otherwise, . - - - Gets or sets flags specifying categories of functionality that are potentially harmful to the host. - A bitwise combination of the values. The default is . - - - Gets or sets a value indicating whether the security infrastructure is exposed. - - if the security infrastructure is exposed; otherwise, . The default is . - - - Gets or sets a value indicating whether self-affecting process management is exposed. - - if self-affecting process management is exposed; otherwise, . The default is . - - - Gets or sets a value indicating whether self-affecting threading is exposed. - - if self-affecting threading is exposed; otherwise, . The default is . - - - Gets or sets a value indicating whether shared state is exposed. - - if shared state is exposed; otherwise, . The default is . - - - Gets or sets a value indicating whether synchronization is exposed. - - if synchronization is exposed; otherwise, . The default is . - - - Gets or sets a value indicating whether the user interface is exposed. - - if the user interface is exposed; otherwise, . The default is . - - - Gets or sets the type of isolated storage containment allowed. - One of the values. - - - Gets or sets the quota on the overall size of each user's total store. - The size, in bytes, of the resource allocated to the user. - - - Gets or sets the level of isolated storage that should be declared. - One of the values. - - - Gets or sets the maximum user storage quota size. - The maximum user storage quota size in bytes. - - - Gets the collection of objects associated with the current permission. - A containing the objects for this . - - - Gets the key container permission flags that apply to all key containers associated with the permission. - A bitwise combination of the values. - - - Gets or sets the key container permissions. - A bitwise combination of the values. The default is . - - - Gets or sets the key container name. - The name of the key container. - The resulting entry would have unrestricted access. - - - Gets or sets the key specification. - One of the AT_ values defined in the Wincrypt.h header file. - The resulting entry would have unrestricted access. - - - Gets or sets the name of the key store. - The name of the key store. - The resulting entry would have unrestricted access. - - - Gets or sets the provider name. - The name of the provider. - The resulting entry would have unrestricted access. - - - Gets or sets the provider type. - One of the PROV_ values defined in the Wincrypt.h header file. - The resulting entry would have unrestricted access. - - - Gets the number of items in the collection. - The number of objects in the collection. - - - Gets a value indicating whether the collection is synchronized (thread safe). - - in all cases. - - - Gets the item at the specified index in the collection. - The zero-based index of the element to access. - The object at the specified index in the collection. - - is greater than or equal to the collection count. - - is negative. - - - Gets an object that can be used to synchronize access to the collection. - An object that can be used to synchronize access to the collection. - - - Gets the current entry in the collection. - The current object in the collection. - The property is accessed before first calling the method. The cursor is located before the first object in the collection.-or- The property is accessed after a call to the method returns , which indicates that the cursor is located after the last object in the collection. - - - Gets the current object in the collection. - The current object in the collection. - - - Gets or sets the key container permissions. - A bitwise combination of the values. The default is . - - - Gets or sets the name of the key container. - The name of the key container. - - - Gets or sets the key specification. - One of the AT_ values defined in the Wincrypt.h header file. - - - Gets or sets the name of the key store. - The name of the key store. The default is "*". - - - Gets or sets the provider name. - The name of the provider. - - - Gets or sets the provider type. - One of the PROV_ values defined in the Wincrypt.h header file. - - - Gets or sets a file containing the XML representation of a custom permission set to be declared. - The physical path to the file containing the XML representation of the permission set. - - - Gets or sets the hexadecimal representation of the XML encoded permission set. - The hexadecimal representation of the XML encoded permission set. - - - Gets or sets the name of the permission set. - The name of an immutable (one of several permission sets that are contained in the default policy and cannot be altered). - - - Gets or sets a value indicating whether the file specified by is Unicode or ASCII encoded. - - if the file is Unicode encoded; otherwise, . - - - Gets or sets the XML representation of a permission set. - The XML representation of a permission set. - - - Gets or sets a value indicating whether the current principal has been authenticated by the underlying role-based security provider. - - if the current principal has been authenticated; otherwise, . - - - Gets or sets the name of the identity associated with the current principal. - A name to match against that provided by the underlying role-based security provider. - - - Gets or sets membership in a specified security role. - The name of a role from the underlying role-based security provider. - - - Gets or sets an Authenticode X.509v3 certificate that represents the identity of the software publisher. - An X.509 certificate representing the identity of the software publisher. - The is . - The is not a valid certificate. - The property cannot be set because the identity is ambiguous. - - - Gets or sets a certification file containing an Authenticode X.509v3 certificate. - The file path of an X.509 certificate file (usually has the extension.cer). - - - Gets or sets a signed file from which to extract an Authenticode X.509v3 certificate. - The file path of a file signed with the Authenticode signature. - - - Gets or sets an Authenticode X.509v3 certificate that identifies the publisher of the calling code. - A hexadecimal representation of the X.509 certificate. - - - Gets or sets the type of reflection allowed for the current permission. - The set flags for the current permission. - An attempt is made to set this property to an invalid value. See for the valid values. - - - Gets or sets the current allowed uses of reflection. - One or more of the values combined using a bitwise OR. - An attempt is made to set this property to an invalid value. See for the valid values. - - - Gets or sets a value that indicates whether invocation of operations on non-public members is allowed. - - if invocation of operations on non-public members is allowed; otherwise, . - - - Gets or sets a value that indicates whether use of certain features in , such as emitting debug symbols, is allowed. - - if use of the affected features is allowed; otherwise, . - - - Gets or sets a value that indicates whether restricted invocation of non-public members is allowed. Restricted invocation means that the grant set of the assembly that contains the non-public member that is being invoked must be equal to, or a subset of, the grant set of the invoking assembly. - - if restricted invocation of non-public members is allowed; otherwise, . - - - Gets or sets a value that indicates whether reflection on members that are not visible is allowed. - - if reflection on members that are not visible is allowed; otherwise, . - - - Gets or sets full access for the specified registry keys. - A semicolon-separated list of registry key paths, for full access. - The get accessor is called; it is only provided for C# compiler compatibility. - - - Gets or sets change access control for the specified registry keys. - A semicolon-separated list of registry key paths, for change access control. . - - - Gets or sets create-level access for the specified registry keys. - A semicolon-separated list of registry key paths, for create-level access. - - - Gets or sets read access for the specified registry keys. - A semicolon-separated list of registry key paths, for read access. - - - Gets or sets view access control for the specified registry keys. - A semicolon-separated list of registry key paths, for view access control. - - - Gets or sets a specified set of registry keys that can be viewed and modified. - A semicolon-separated list of registry key paths, for create, read, and write access. - The get accessor is called; it is only provided for C# compiler compatibility. - - - Gets or sets write access for the specified registry keys. - A semicolon-separated list of registry key paths, for write access. - - - Gets or sets a security action. - One of the values. - - - Gets or sets a value indicating whether full (unrestricted) permission to the resource protected by the attribute is declared. - - if full permission to the protected resource is declared; otherwise, . - - - Gets or sets the security permission flags. - The state of the current permission, represented by a bitwise OR combination of any permission bits defined by . - An attempt is made to set this property to an invalid value. See for the valid values. - - - Gets or sets a value indicating whether permission to assert that all this code's callers have the requisite permission for the operation is declared. - - if permission to assert is declared; otherwise, . - - - Gets or sets a value that indicates whether code has permission to perform binding redirection in the application configuration file. - - if code can perform binding redirects; otherwise, . - - - Gets or sets a value indicating whether permission to manipulate is declared. - - if permission to manipulate is declared; otherwise, . - - - Gets or sets a value indicating whether permission to alter or manipulate domain security policy is declared. - - if permission to alter or manipulate security policy in an application domain is declared; otherwise, . - - - Gets or sets a value indicating whether permission to alter or manipulate evidence is declared. - - if the ability to alter or manipulate evidence is declared; otherwise, . - - - Gets or sets a value indicating whether permission to view and manipulate security policy is declared. - - if permission to manipulate security policy is declared; otherwise, . - - - Gets or sets a value indicating whether permission to manipulate the current principal is declared. - - if permission to manipulate the current principal is declared; otherwise, . - - - Gets or sets a value indicating whether permission to manipulate threads is declared. - - if permission to manipulate threads is declared; otherwise, . - - - Gets or sets a value indicating whether permission to execute code is declared. - - if permission to execute code is declared; otherwise, . - - - Gets or sets all permission flags comprising the permissions. - One or more of the values combined using a bitwise OR. - An attempt is made to set this property to an invalid value. See for the valid values. - - - Gets or sets a value indicating whether code can plug into the common language runtime infrastructure, such as adding Remoting Context Sinks, Envoy Sinks and Dynamic Sinks. - - if code can plug into the common language runtime infrastructure; otherwise, . - - - Gets or sets a value indicating whether code can configure remoting types and channels. - - if code can configure remoting types and channels; otherwise, . - - - Gets or sets a value indicating whether code can use a serialization formatter to serialize or deserialize an object. - - if code can use a serialization formatter to serialize or deserialize an object; otherwise, . - - - Gets or sets a value indicating whether permission to bypass code verification is declared. - - if permission to bypass code verification is declared; otherwise, . - - - Gets or sets a value indicating whether permission to call unmanaged code is declared. - - if permission to call unmanaged code is declared; otherwise, . - - - Gets or sets the current site. - The current site. - The site identity cannot be retrieved because it has an ambiguous identity. - - - Gets or sets the site name of the calling code. - The site name to compare against the site name specified by the security provider. - - - Gets or sets the simple name portion of the strong name identity. - The simple name of the identity. - The value is an empty string (""). - The property value cannot be retrieved because it contains an ambiguous identity. - - - Gets or sets the public key blob that defines the strong name identity namespace. - A that contains the public key of the identity, or if there is no key. - The property value is set to . - The property value cannot be retrieved because it contains an ambiguous identity. - - - Gets or sets the version number of the identity. - The version of the identity. - The property value cannot be retrieved because it contains an ambiguous identity. - - - Gets or sets the name of the strong name identity. - A name to compare against the name specified by the security provider. - - - Gets or sets the public key value of the strong name identity expressed as a hexadecimal string. - The public key value of the strong name identity expressed as a hexadecimal string. - - - Gets or sets the version of the strong name identity. - The version number of the strong name identity. - - - Gets or sets the Clipboard access represented by the permission. - One of the values. - - - Gets or sets the window access represented by the permission. - One of the values. - - - Gets or sets the type of access to the clipboard that is permitted. - One of the values. - - - Gets or sets the type of access to the window resources that is permitted. - One of the values. - - - Gets or sets a URL representing the identity of Internet code. - A URL representing the identity of Internet code. - The URL cannot be retrieved because it has an ambiguous identity. - - - Gets or sets the full URL of the calling code. - The URL to match with the URL specified by the host. - - - Gets or sets the zone represented by the current . - One of the values. - The parameter value is not a valid value of . - - - Gets or sets membership in the content zone specified by the property value. - One of the values. - - - Gets the number of permission objects contained in the permission set. - The number of permission objects contained in the . - - - Gets a value indicating whether the collection is read-only. - Always . - - - Gets a value indicating whether the collection is guaranteed to be thread safe. - Always . - - - Gets the root object of the current collection. - The root object of the current collection. - - - Gets the path of the application directory. - The path of the application directory. - - - Gets or sets the evidence for the application. - An object for the application. - - is set to . - - - Gets or sets the application identity information. - An object. - - is set to . - - - Gets or sets the default permission set. - A object representing the default permissions for the application. The default is a with a permission state of - - is set to . - - - Gets or sets the top element in the application, which is described in the deployment identity. - An object describing the top element of the application. - - is set to . - - - Gets the current application trust manager. - An that represents the current trust manager. - The policy on this application does not have a trust manager. - - - Gets an application trust collection that contains the cached trust decisions for the user. - An that contains the cached trust decisions for the user. - - - Gets or sets the application identity for the application trust object. - An for the application trust object. - - cannot be set because it has a value of . - - - Gets or sets the policy statement defining the default grant set. - A describing the default grants. - - - Gets or sets extra security information about the application. - An object containing additional security information about the application. - - - Gets the list of full-trust assemblies for this application trust. - A list of full-trust assemblies. - - - Gets or sets a value indicating whether the application has the required permission grants and is trusted to run. - - if the application is trusted to run; otherwise, . The default is . - - - Gets or sets a value indicating whether application trust information is persisted. - - if application trust information is persisted; otherwise, . The default is . - - - Gets the number of items contained in the collection. - The number of items contained in the collection. - - - Gets a value indicating whether access to the collection is synchronized (thread safe). - - in all cases. - - - Gets the object located at the specified index in the collection. - The zero-based index of the object within the collection. - The object at the specified index in the collection. - - is greater than or equal to the count of objects in the collection. - - is negative. - - - Gets the object for the specified application. - The full name of the application. - The object for the specified application, or if the object cannot be found. - - - Gets an object that can be used to synchronize access to the collection. - The object to use to synchronize access to the collection. - - - Gets the current object in the collection. - The current in the . - - - Gets the current in the collection. - The current in the . - - - Gets the port represented by the current instance. - A value that identifies a computer port used in conjunction with the property. - - - Gets the URI scheme represented by the current instance. - A that identifies a URI scheme, converted to lowercase. - - - Gets a string representation of the attributes of the policy statement for the code group. - A string representation of the attributes of the policy statement for the code group. - - - Gets or sets an ordered list of the child code groups of a code group. - A list of child code groups. - An attempt is made to set this property to . - An attempt is made to set this property with a list of children that are not objects. - - - Gets or sets the description of the code group. - The description of the code group. - - - Gets or sets the code group's membership condition. - The membership condition that determines to which evidence the code group is applicable. - An attempt is made to set this parameter to . - - - When overridden in a derived class, gets the merge logic for the code group. - A description of the merge logic for the code group. - - - Gets or sets the name of the code group. - The name of the code group. - - - Gets the name of the named permission set for the code group. - The name of a named permission set of the policy level. - - - Gets or sets the policy statement associated with the code group. - The policy statement for the code group. - - - Gets the number of evidence objects in the evidence set. - The number of evidence objects in the evidence set. - - - Gets a value indicating whether the evidence set is read-only. - Always , because read-only evidence sets are not supported. - - - Gets a value indicating whether the evidence set is thread-safe. - Always because thread-safe evidence sets are not supported. - - - Gets or sets a value indicating whether the evidence is locked. - - if the evidence is locked; otherwise, . The default is . - - - Gets the synchronization root. - Always ( in Visual Basic), because synchronization of evidence sets is not supported. - - - Gets a string representation of the attributes of the policy statement for the code group. - Always . - - - Gets the merge logic. - The string "Union". - - - Gets the name of the named permission set for the code group. - The concatenatation of the string "Same directory FileIO - " and the access type. - - - Gets the merge logic. - The string "First Match". - - - Gets the hash value for the assembly. - A byte array that represents the hash value for the assembly. - - - Gets the hash value for the assembly. - A byte array that represents the hash value for the assembly. - - - Gets the hash value for the assembly. - A byte array that represents the hash value for the assembly. - - - Gets or sets the hash algorithm to use for the membership condition. - The hash algorithm to use for the membership condition. - An attempt is made to set to . - - - Gets or sets the hash value for which the membership condition tests. - The hash value for which the membership condition tests. - An attempt is made to set to . - - - Gets a string representation of the attributes of the policy statement for the code group. - Always . - - - Gets the logic to use for merging groups. - The string "Union". - - - Gets the name of the for the code group. - Always the string "Same site Web." - - - Gets the permissions the code explicitly asks not to be granted. - The permissions the code explicitly asks not to be granted. - - - Gets the permissions the code can use if they are granted, but are not required. - The permissions the code can use if they are granted, but are not required. - - - Gets the minimum permissions the code requires to run. - The minimum permissions the code requires to run. - - - Gets a list of objects used to determine whether an assembly is a member of the group of assemblies used to evaluate security policy. - A list of objects used to determine whether an assembly is a member of the group of assemblies used to evaluate security policy. These assemblies are granted full trust during security policy evaluation of assemblies not in the list. - - - Gets a descriptive label for the policy level. - The label associated with the policy level. - - - Gets a list of named permission sets defined for the policy level. - A list of named permission sets defined for the policy level. - - - Gets or sets the root code group for the policy level. - The that is the root of the tree of policy level code groups. - The value for is . - - - Gets the path where the policy file is stored. - The path where the policy file is stored, or if the does not have a storage location. - - - Gets the type of the policy level. - One of the values. - - - Gets or sets the attributes of the policy statement. - The attributes of the policy statement. - - - Gets a string representation of the attributes of the policy statement. - A text string representing the attributes of the policy statement. - - - Gets or sets the of the policy statement. - The of the policy statement. - - - Gets the publisher's Authenticode X.509v3 certificate. - The publisher's . - - - Gets or sets the Authenticode X.509v3 certificate for which the membership condition tests. - The for which the membership condition tests. - The property value is . - - - Gets the website from which the code assembly originates. - The name of the website from which the code assembly originates. - - - Gets or sets the site for which the membership condition tests. - The site for which the membership condition tests. - An attempt is made to set to . - An attempt is made to set to an invalid . - - - Gets the simple name of the current . - The simple name part of the . - - - Gets the of the current . - The of the current . - - - Gets the of the current . - The of the current . - - - Gets or sets the simple name of the for which the membership condition tests. - The simple name of the for which the membership condition tests. - The value is .-or-The value is an empty string (""). - - - Gets or sets the of the for which the membership condition tests. - The of the for which the membership condition tests. - An attempt is made to set the to . - - - Gets or sets the of the for which the membership condition tests. - The of the for which the membership condition tests. - - - Gets or sets a value indicating whether the application security manager should ignore any persisted decisions and call the trust manager. - - to call the trust manager; otherwise, . - - - Gets or sets a value indicating whether the trust manager should cache state for this application, to facilitate future requests to determine application trust. - - to cache state data; otherwise, . The default is . - - - Gets or sets a value indicating whether the trust manager should prompt the user for trust decisions. - - to not prompt the user; to prompt the user. The default is . - - - Gets or sets a value indicating whether the user's response to the consent dialog should be persisted. - - to cache state data; otherwise, . The default is . - - - Gets or sets the identity of the previous application identity. - An object representing the previous . - - - Gets or sets the type of user interface the trust manager should display. - One of the values. The default is . - - - Gets the merge logic. - Always the string "Union". - - - Gets the URL from which the code assembly originates. - The URL from which the code assembly originates. - - - Gets or sets the URL for which the membership condition tests. - The URL for which the membership condition tests. - An attempt is made to set to . - Value is not an absolute URL. - - - Gets the zone from which the code assembly originates. - The zone from which the code assembly originates. - - - Gets or sets the zone for which the membership condition tests. - The zone for which the membership condition tests. - The value is . - An attempt is made to set to an invalid . - - - Gets the type of authentication used to identify the user. - The type of authentication used to identify the user. - - - Gets all claims for the user represented by this generic identity. - A collection of claims for this object. - - - Gets a value indicating whether the user has been authenticated. - - if the user was has been authenticated; otherwise, . - - - Gets the user's name. - The name of the user on whose behalf the code is being run. - - - Gets the of the user represented by the current . - The of the user represented by the . - - - Represents the collection of unmapped identities for an exception. - The collection of unmapped identities. - - - Gets the string value of the identity represented by the object. - The string value of the identity represented by the object. - - - Gets the number of items in the collection. - The number of objects in the collection. - - - Gets a value that indicates whether the collection is read-only. - Always returns . - - - Sets or gets the node at the specified index of the collection. - The zero-based index in the collection. - The at the specified index in the collection. If is greater than or equal to the number of nodes in the collection, the return value is . - - - Gets the type of authentication used. - The type of authentication used to identify the user. - - - Gets a value that indicates whether the user has been authenticated. - - if the user was authenticated; otherwise, . - - - Gets the name of the current user. - The name of the user on whose behalf the code is running. - - - Gets the identity of the current principal. - The object associated with the current principal. - - - Returns an uppercase string representation of this object. - The uppercase string representation of this object. - - - Returns the account domain security identifier (SID) portion from the SID represented by the object if the SID represents a Windows account SID. If the SID does not represent a Windows account SID, this property returns . - The account domain SID portion from the SID represented by the object if the SID represents a Windows account SID; otherwise, it returns . - - - Returns the length, in bytes, of the security identifier (SID) represented by the object. - The length, in bytes, of the SID represented by the object. - - - Returns an uppercase Security Descriptor Definition Language (SDDL) string for the security identifier (SID) represented by this object. - An uppercase SDDL string for the SID represented by the object. - - - Gets this for this instance. - Returns a . - - - Gets the type of authentication used to identify the user. - The type of authentication used to identify the user. - Windows returned the Windows NT status code STATUS_ACCESS_DENIED. - There is insufficient memory available. - The caller does not have the correct permissions. -or-The computer is not attached to a Windows 2003 or later domain.-or-The computer is not running Windows 2003 or later.-or-The user is not a member of the domain the computer is attached to. - - - Gets all claims for the user represented by this Windows identity. - A collection of claims for this object. - - - Gets claims that have the property key. - A collection of claims that have the property key. - - - Gets the groups the current Windows user belongs to. - An object representing the groups the current Windows user belongs to. - - - Gets the impersonation level for the user. - One of the enumeration values that specifies the impersonation level. - - - Gets a value that indicates whether the user account is identified as an anonymous account by the system. - - if the user account is an anonymous account; otherwise, . - - - Gets a value indicating whether the user has been authenticated by Windows. - - if the user was authenticated; otherwise, . - - - Gets a value indicating whether the user account is identified as a account by the system. - - if the user account is a account; otherwise, . - - - Gets a value indicating whether the user account is identified as a account by the system. - - if the user account is a account; otherwise, . - - - Gets the user's Windows logon name. - The Windows logon name of the user on whose behalf the code is being run. - - - Gets the security identifier (SID) for the token owner. - An object for the token owner. - - - Gets the Windows account token for the user. - The handle of the access token associated with the current execution thread. - - - Gets the security identifier (SID) for the user. - An object for the user. - - - Gets claims that have the property key. - A collection of claims that have the property key. - - - Gets all Windows device claims from this principal. - A collection of all Windows device claims from this principal. - - - Gets the identity of the current principal. - The object of the current principal. - - - Gets all Windows user claims from this principal. - A collection of all Windows user claims from this principal. - - - Gets a value that indicates whether the collection is read-only. - Always . - - - Gets the number of characters in the current secure string. - The number of objects in this secure string. - This secure string has already been disposed. - - - Gets the scope for the attribute. - One of the enumeration values that specifies the scope of the attribute. The default is , which indicates that the attribute applies only to the immediate target. - - - Gets or sets the attributes of an XML element as name/value pairs. - The object for the attribute values of the XML element. - The name or value of the object is invalid. - The name is not a valid XML attribute name. - - - Gets or sets the array of child elements of the XML element. - The ordered child elements of the XML element as security elements. - A child of the XML parent node is . - - - Gets or sets the tag name of an XML element. - The tag name of an XML element. - The tag is . - The tag is not valid in XML. - - - Gets or sets the text within an XML element. - The value of the text within an XML element. - The text is not valid in XML. - - - Gets or sets the security action that caused the exception. - One of the values. - - - Gets or sets the demanded security permission, permission set, or permission set collection that failed. - A permission, permission set, or permission set collection object. - - - Gets or sets the denied security permission, permission set, or permission set collection that caused a demand to fail. - A permission, permission set, or permission set collection object. - - - Gets or sets information about the failed assembly. - An that identifies the failed assembly. - - - Gets or sets the first permission in a permission set or permission set collection that failed the demand. - An object representing the first permission that failed. - - - Gets or sets the granted permission set of the assembly that caused the . - The XML representation of the granted set of the assembly. - - - Gets or sets the information about the method associated with the exception. - A object describing the method. - - - Gets or sets the state of the permission that threw the exception. - The state of the permission at the time the exception was thrown. - - - Gets or sets the type of the permission that failed. - The type of the permission that failed. - - - Gets or sets the permission, permission set, or permission set collection that is part of the permit-only stack frame that caused a security check to fail. - A permission, permission set, or permission set collection object. - - - Gets or sets the refused permission set of the assembly that caused the . - The XML representation of the refused permission set of the assembly. - - - Gets or sets the URL of the assembly that caused the exception. - A URL that identifies the location of the assembly. - - - Gets or sets the zone of the assembly that caused the exception. - One of the values that identifies the zone of the assembly that caused the exception. - - - Gets or sets a value indicating whether code must have in order to execute. - - if code must have in order to execute; otherwise, . - The code that calls this method does not have . - - - Gets or sets a value indicating whether security is enabled. - - if security is enabled; otherwise, . - The code that calls this method does not have . - - - Gets the rule set to be applied. - One of the enumeration values that specifies the transparency rules to be applied. - - - Determines whether fully trusted transparent code should skip Microsoft intermediate language (MSIL) verification. - - if MSIL verification should be skipped; otherwise, . The default is . - - - Gets the object at a specified position in the current object. - A position in the current string. - The object at position . - - is greater than or equal to the length of this object or less than zero. - - - Gets the number of characters in the current object. - The number of characters in the current string. - - - Gets a object that performs a case-sensitive string comparison using the word comparison rules of the current culture. - A new object. - - - Gets a object that performs case-insensitive string comparisons using the word comparison rules of the current culture. - A new object. - - - Gets a object that performs a case-sensitive string comparison using the word comparison rules of the invariant culture. - A new object. - - - Gets a object that performs a case-insensitive string comparison using the word comparison rules of the invariant culture. - A new object. - - - Gets a object that performs a case-sensitive ordinal string comparison. - A object. - - - Gets a object that performs a case-insensitive ordinal string comparison. - A object. - - - Gets a value indicating whether the current encoding uses single-byte code points. - This property is always . - - - Gets or sets a object for the current object. - A object. - The value in a set operation is (). - A new value cannot be assigned in a set operation because the current object contains data that has not been decoded yet. - - - Gets the object associated with the current object. - A object. - - - Gets the maximum number of characters this instance can return. - The return value is always zero. - - - Gets the number of characters in the current object that remain to be processed. - The return value is always zero. A return value is defined, although it is unchanging, because this method implements an abstract method. - - - Gets an object that throws an exception when an input byte sequence cannot be decoded. - A type derived from the class. The default value is a object. - - - When overridden in a derived class, gets the maximum number of characters the current object can return. - The maximum number of characters the current object can return. - - - Gets an object that outputs a substitute string in place of an input byte sequence that cannot be decoded. - A type derived from the class. The default value is a object that emits the QUESTION MARK character ("?", U+003F) in place of unknown byte sequences. - - - When overridden in a derived class, gets the number of characters in the current object that remain to be processed. - The number of characters in the current fallback buffer that have not yet been processed. - - - Gets the input byte sequence that caused the exception. - The input byte array that cannot be decoded. - - - Gets the index position in the input byte sequence of the byte that caused the exception. - The index position in the input byte array of the byte that cannot be decoded. The index position is zero-based. - - - Gets the replacement string that is the value of the object. - A substitute string that is emitted in place of an input byte sequence that cannot be decoded. - - - Gets the number of characters in the replacement string for the object. - The number of characters in the string that is emitted in place of a byte sequence that cannot be decoded, that is, the length of the string returned by the property. - - - Gets the number of characters in the replacement fallback buffer that remain to be processed. - The number of characters in the replacement fallback buffer that have not yet been processed. - - - Gets or sets a object for the current object. - A object. - The value in a set operation is (). - A new value cannot be assigned in a set operation because the current object contains data that has not been encoded yet. - A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation)-and- - is set to . - - - Gets the object associated with the current object. - A object. - - - Gets the maximum number of characters this instance can return. - The return value is always zero. - - - Gets the number of characters in the current object that remain to be processed. - The return value is always zero.A return value is defined, although it is unchanging, because this method implements an abstract method. - - - Gets an object that throws an exception when an input character cannot be encoded. - A type derived from the class. The default value is a object. - - - When overridden in a derived class, gets the maximum number of characters the current object can return. - The maximum number of characters the current object can return. - - - Gets an object that outputs a substitute string in place of an input character that cannot be encoded. - A type derived from the class. The default value is a object that replaces unknown input characters with the QUESTION MARK character ("?", U+003F). - - - When overridden in a derived class, gets the number of characters in the current object that remain to be processed. - The number of characters in the current fallback buffer that have not yet been processed. - - - Gets the input character that caused the exception. - The character that cannot be encoded. - - - Gets the high component character of the surrogate pair that caused the exception. - The high component character of the surrogate pair that cannot be encoded. - - - Gets the low component character of the surrogate pair that caused the exception. - The low component character of the surrogate pair that cannot be encoded. - - - Gets the index position in the input buffer of the character that caused the exception. - The index position in the input buffer of the character that cannot be encoded. - - - Gets the replacement string that is the value of the object. - A substitute string that is used in place of an input character that cannot be encoded. - - - Gets the number of characters in the replacement string for the object. - The number of characters in the string used in place of an input character that cannot be encoded. - - - Gets the number of characters in the replacement fallback buffer that remain to be processed. - The number of characters in the replacement fallback buffer that have not yet been processed. - - - Gets an encoding for the ASCII (7-bit) character set. - An encoding for the ASCII (7-bit) character set. - - - Gets an encoding for the UTF-16 format that uses the big endian byte order. - An encoding object for the UTF-16 format that uses the big endian byte order. - - - When overridden in a derived class, gets a name for the current encoding that can be used with mail agent body tags. - A name for the current that can be used with mail agent body tags.-or- An empty string (""), if the current cannot be used. - - - When overridden in a derived class, gets the code page identifier of the current . - The code page identifier of the current . - - - Gets or sets the object for the current object. - The decoder fallback object for the current object. - The value in a set operation is . - A value cannot be assigned in a set operation because the current object is read-only. - - - Gets an encoding for the operating system's current ANSI code page. - An encoding for the operating system's current ANSI code page. - - - Gets or sets the object for the current object. - The encoder fallback object for the current object. - The value in a set operation is . - A value cannot be assigned in a set operation because the current object is read-only. - - - When overridden in a derived class, gets the human-readable description of the current encoding. - The human-readable description of the current . - - - When overridden in a derived class, gets a name for the current encoding that can be used with mail agent header tags. - A name for the current to use with mail agent header tags.-or- An empty string (""), if the current cannot be used. - - - When overridden in a derived class, gets a value indicating whether the current encoding can be used by browser clients for displaying content. - - if the current can be used by browser clients for displaying content; otherwise, . - - - When overridden in a derived class, gets a value indicating whether the current encoding can be used by browser clients for saving content. - - if the current can be used by browser clients for saving content; otherwise, . - - - When overridden in a derived class, gets a value indicating whether the current encoding can be used by mail and news clients for displaying content. - - if the current can be used by mail and news clients for displaying content; otherwise, . - - - When overridden in a derived class, gets a value indicating whether the current encoding can be used by mail and news clients for saving content. - - if the current can be used by mail and news clients for saving content; otherwise, . - - - When overridden in a derived class, gets a value indicating whether the current encoding is read-only. - - if the current is read-only; otherwise, . The default is . - - - When overridden in a derived class, gets a value indicating whether the current encoding uses single-byte code points. - - if the current uses single-byte code points; otherwise, . - - - Gets an encoding for the UTF-16 format using the little endian byte order. - An encoding for the UTF-16 format using the little endian byte order. - - - Gets an encoding for the UTF-32 format using the little endian byte order. - An encoding object for the UTF-32 format using the little endian byte order. - - - Gets an encoding for the UTF-7 format. - An encoding for the UTF-7 format. - - - Gets an encoding for the UTF-8 format. - An encoding for the UTF-8 format. - - - When overridden in a derived class, gets the name registered with the Internet Assigned Numbers Authority (IANA) for the current encoding. - The IANA name for the current . - - - When overridden in a derived class, gets the Windows operating system code page that most closely corresponds to the current encoding. - The Windows operating system code page that most closely corresponds to the current . - - - Gets the code page identifier of the encoding. - The code page identifier of the encoding. - - - Gets the human-readable description of the encoding. - The human-readable description of the encoding. - - - Gets the name registered with the Internet Assigned Numbers Authority (IANA) for the encoding. - The IANA name for the encoding. For more information about the IANA, see www.iana.org. - - - Gets or sets the maximum number of characters that can be contained in the memory allocated by the current instance. - The maximum number of characters that can be contained in the memory allocated by the current instance. Its value can range from to . - The value specified for a set operation is less than the current length of this instance.-or- The value specified for a set operation is greater than the maximum capacity. - - - Gets or sets the character at the specified character position in this instance. - The position of the character. - The Unicode character at position . - - is outside the bounds of this instance while setting a character. - - is outside the bounds of this instance while getting a character. - - - Gets or sets the length of the current object. - The length of this instance. - The value specified for a set operation is less than zero or greater than . - - - Gets the maximum capacity of this instance. - The maximum number of characters this instance can hold. - - - Gets the abandoned mutex that caused the exception, if known. - A object that represents the abandoned mutex, or if the abandoned mutex could not be identified. - - - Gets the index of the abandoned mutex that caused the exception, if known. - The index, in the array of wait handles passed to the method, of the object that represents the abandoned mutex, or –1 if the index of the abandoned mutex could not be determined. - - - Gets or sets the value of the ambient data. - The value of the ambient data. - - - Gets the data's current value. - The data's current value. - - - Gets the data's previous value. - The data's previous value. - - - Returns a value that indicates whether the value changes because of a change of execution context. - - if the value changed because of a change of execution context; otherwise, . - - - Gets whether this token is capable of being in the canceled state. - - if this token is capable of being in the canceled state; otherwise, . - - - Gets whether cancellation has been requested for this token. - - if cancellation has been requested for this token; otherwise, . - - - Returns an empty value. - An empty cancellation token. - - - Gets a that is signaled when the token is canceled. - A that is signaled when the token is canceled. - The associated has been disposed. - - - Gets whether cancellation has been requested for this . - - if cancellation has been requested for this ; otherwise, . - - - Gets the associated with this . - The associated with this . - The token source has been disposed. - - - Gets the number of remaining signals required to set the event. - The number of remaining signals required to set the event. - - - Gets the numbers of signals initially required to set the event. - The number of signals initially required to set the event. - - - Indicates whether the object's current count has reached zero.. - - if the current count is zero; otherwise, . - - - Gets a that is used to wait for the event to be set. - A that is used to wait for the event to be set. - The current instance has already been disposed. - - - Gets or sets the state of the host execution context. - An object representing the host execution context state. - - - Gets whether the event is set. - true if the event has is set; otherwise, false. - - - Gets the number of spin waits that will occur before falling back to a kernel-based wait operation. - Returns the number of spin waits that will occur before falling back to a kernel-based wait operation. - - - Gets the underlying object for this . - The underlying event object fore this . - - - Gets or sets the object that provides status information on the I/O operation. - An object that implements the interface. - - - Gets or sets the 32-bit integer handle to a synchronization event that is signaled when the I/O operation is complete. - An value representing the handle of the synchronization event. - - - Gets or sets the handle to the synchronization event that is signaled when the I/O operation is complete. - An representing the handle of the event. - - - Gets or sets the high-order word of the file position at which to start the transfer. The file position is a byte offset from the start of the file. - An value representing the high word of the file position. - - - Gets or sets the low-order word of the file position at which to start the transfer. The file position is a byte offset from the start of the file. - An value representing the low word of the file position. - - - Gets a value indicating whether the current thread holds a reader lock. - - if the current thread holds a reader lock; otherwise, . - - - Gets a value indicating whether the current thread holds the writer lock. - - if the current thread holds the writer lock; otherwise, . - - - Gets the current sequence number. - The current sequence number. - - - Returns a that can be used to wait on the semaphore. - A that can be used to wait on the semaphore. - The has been disposed. - - - Gets the number of remaining threads that can enter the object. - The number of remaining threads that can enter the semaphore. - - - Gets whether the lock is currently held by any thread. - true if the lock is currently held by any thread; otherwise false. - - - Gets whether the lock is held by the current thread. - true if the lock is held by the current thread; otherwise false. - Thread ownership tracking is disabled. - - - Gets whether thread ownership tracking is enabled for this instance. - true if thread ownership tracking is enabled for this instance; otherwise false. - - - Gets the number of times has been called on this instance. - Returns an integer that represents the number of times has been called on this instance. - - - Gets whether the next call to will yield the processor, triggering a forced context switch. - Whether the next call to will yield the processor, triggering a forced context switch. - - - Gets the synchronization context for the current thread. - A object representing the current synchronization context. - - - Gets a that will complete when the scheduler has completed processing. - The asynchronous operation that will complete when the scheduler finishes processing. - - - Gets a that can be used to schedule tasks to this pair that may run concurrently with other tasks on this pair. - An object that can be used to schedule tasks concurrently. - - - Gets a that can be used to schedule tasks to this pair that must run exclusively with regards to other tasks on this pair. - An object that can be used to schedule tasks that do not run concurrently with other tasks. - - - Gets whether the loop ran to completion, such that all iterations of the loop were executed and the loop didn't receive a request to end prematurely. - true if the loop ran to completion; otherwise false; - - - Gets the index of the lowest iteration from which was called. - Returns an integer that represents the lowest iteration from which the Break statement was called. - - - Gets whether any iteration of the loop has thrown an exception that went unhandled by that iteration. - - if an unhandled exception was thrown; otherwise, . - - - Gets whether any iteration of the loop has called the method. - - if any iteration has stopped the loop by calling the method; otherwise, . - - - Gets the lowest iteration of the loop from which was called. - The lowest iteration from which was called. In the case of a loop, the value is based on an internally-generated index. - - - Gets whether the current iteration of the loop should exit based on requests made by this or other iterations. - - if the current iteration should exit; otherwise, . - - - Gets or sets the associated with this instance. - The token that is associated with this instance. - - - Gets or sets the maximum number of concurrent tasks enabled by this instance. - An integer that represents the maximum degree of parallelism. - The property is being set to zero or to a value that is less than -1. - - - Gets or sets the associated with this instance. Setting this property to null indicates that the current scheduler should be used. - The task scheduler that is associated with this instance. - - - Gets the state object supplied when the was created, or null if none was supplied. - An that represents the state data that was passed in to the task when it was created. - - - Gets a task that has already completed successfully. - The successfully completed task. - - - Gets the used to create this task. - The used to create this task. - - - Returns the ID of the currently executing . - An integer that was assigned by the system to the currently-executing task. - - - Gets the that caused the to end prematurely. If the completed successfully or has not yet thrown any exceptions, this will return . - The that caused the to end prematurely. - - - Provides access to factory methods for creating and configuring and instances. - A factory object that can create a variety of and objects. - - - Gets an ID for this instance. - The identifier that is assigned by the system to this instance. - - - Gets whether this instance has completed execution due to being canceled. - - if the task has completed due to being canceled; otherwise . - - - Gets whether this has completed. - - if the task has completed; otherwise . - - - Gets whether the completed due to an unhandled exception. - - if the task has thrown an unhandled exception; otherwise . - - - Gets the of this task. - The current of this task instance. - - - Gets a that can be used to wait for the task to complete. - A that can be used to wait for the task to complete. - The has been disposed. - - - Gets an indication of whether the operation completed synchronously. - - if the operation completed synchronously; otherwise, . - - - Provides access to factory methods for creating and configuring instances. - A factory object that can create a variety of objects. - - - Gets the result value of this . - The result value of this , which is the same type as the task's type parameter. - The task was canceled. The collection contains a object. -or-An exception was thrown during the execution of the task. The collection contains information about the exception or exceptions. - - - Gets the task associated with this exception. - A reference to the that is associated with this exception. - - - Gets the created by this . - Returns the created by this . - - - Gets the default cancellation token for this task factory. - The default task cancellation token for this task factory. - - - Gets the default task continuation options for this task factory. - The default task continuation options for this task factory. - - - Gets the default task creation options for this task factory. - The default task creation options for this task factory. - - - Gets the default task scheduler for this task factory. - The default task scheduler for this task factory. - - - Gets the default cancellation token for this task factory. - The default cancellation token for this task factory. - - - Gets the enumeration value for this task factory. - One of the enumeration values that specifies the default continuation options for this task factory. - - - Gets the enumeration value for this task factory. - One of the enumeration values that specifies the default creation options for this task factory. - - - Gets the task scheduler for this task factory. - The task scheduler for this task factory. - - - Gets the associated with the currently executing task. - Returns the associated with the currently executing task. - - - Gets the default instance that is provided by the .NET Framework. - Returns the default instance. - - - Gets the unique ID for this . - Returns the unique ID for this . - - - Indicates the maximum concurrency level this is able to support. - Returns an integer that represents the maximum concurrency level. The default scheduler returns . - - - The Exception that went unobserved. - The Exception that went unobserved. - - - Gets whether this exception has been marked as "observed." - true if this exception has been marked as "observed"; otherwise false. - - - Gets or sets the apartment state of this thread. - One of the values. The initial value is . - An attempt is made to set this property to a state that is not a valid apartment state (a state other than single-threaded apartment () or multithreaded apartment ()). - - - Gets the current context in which the thread is executing. - A representing the current thread context. - The caller does not have the required permission. - - - Gets or sets the culture for the current thread. - An object that represents the culture for the current thread. - - The property is set to . - - - Gets or sets the thread's current principal (for role-based security). - An value representing the security context. - The caller does not have the permission required to set the principal. - - - Gets the currently running thread. - A that is the representation of the currently running thread. - - - Gets or sets the current culture used by the Resource Manager to look up culture-specific resources at run time. - An object that represents the current culture. - The property is set to . - The property is set to a culture name that cannot be used to locate a resource file. Resource filenames must include only letters, numbers, hyphens or underscores. - - - Gets an object that contains information about the various contexts of the current thread. - An object that consolidates context information for the current thread. - - - Gets a value indicating the execution status of the current thread. - - if this thread has been started and has not terminated normally or aborted; otherwise, . - - - Gets or sets a value indicating whether or not a thread is a background thread. - - if this thread is or is to become a background thread; otherwise, . - The thread is dead. - - - Gets a value indicating whether or not a thread belongs to the managed thread pool. - - if this thread belongs to the managed thread pool; otherwise, . - - - Gets a unique identifier for the current managed thread. - An integer that represents a unique identifier for this managed thread. - - - Gets or sets the name of the thread. - A string containing the name of the thread, or if no name was set. - A set operation was requested, but the property has already been set. - - - Gets or sets a value indicating the scheduling priority of a thread. - One of the values. The default value is . - The thread has reached a final state, such as . - The value specified for a set operation is not a valid value. - - - Gets a value containing the states of the current thread. - One of the values indicating the state of the current thread. The initial value is . - - - Gets an object that contains application-specific information related to the thread abort. - An object containing application-specific information. - - - Gets whether is initialized on the current thread. - true if is initialized on the current thread; otherwise false. - The instance has been disposed. - - - Gets or sets the value of this instance for the current thread. - Returns an instance of the object that this ThreadLocal is responsible for initializing. - The instance has been disposed. - The initialization function attempted to reference recursively. - No default constructor is provided and no value factory is supplied. - - - Gets a list for all of the values currently stored by all of the threads that have accessed this instance. - A list for all of the values currently stored by all of the threads that have accessed this instance. - Values stored by all threads are not available because this instance was initialized with the argument set to in the call to a class constructor. - The instance has been disposed. - - - Gets the bound operating system handle. - An object that holds the bound operating system handle. - - - Gets or sets the native operating system handle. - An representing the native operating system handle. The default is the value of the field. - - - Gets or sets the native operating system handle. - A representing the native operating system handle. - - - Gets the days component of the time interval represented by the current structure. - The day component of this instance. The return value can be positive or negative. - - - Gets the hours component of the time interval represented by the current structure. - The hour component of the current structure. The return value ranges from -23 through 23. - - - Gets the milliseconds component of the time interval represented by the current structure. - The millisecond component of the current structure. The return value ranges from -999 through 999. - - - Gets the minutes component of the time interval represented by the current structure. - The minute component of the current structure. The return value ranges from -59 through 59. - - - Gets the seconds component of the time interval represented by the current structure. - The second component of the current structure. The return value ranges from -59 through 59. - - - Gets the number of ticks that represent the value of the current structure. - The number of ticks contained in this instance. - - - Gets the value of the current structure expressed in whole and fractional days. - The total number of days represented by this instance. - - - Gets the value of the current structure expressed in whole and fractional hours. - The total number of hours represented by this instance. - - - Gets the value of the current structure expressed in whole and fractional milliseconds. - The total number of milliseconds represented by this instance. - - - Gets the value of the current structure expressed in whole and fractional minutes. - The total number of minutes represented by this instance. - - - Gets the value of the current structure expressed in whole and fractional seconds. - The total number of seconds represented by this instance. - - - Gets the time zone of the current computer. - A object that represents the current local time zone. - - - Gets the daylight saving time zone name. - The daylight saving time zone name. - - - Gets the standard time zone name. - The standard time zone name. - An attempt was made to set this property to . - - - Gets the date when the adjustment rule ceases to be in effect. - A value that indicates the end date of the adjustment rule. - - - Gets the date when the adjustment rule takes effect. - A value that indicates when the adjustment rule takes effect. - - - Gets the amount of time that is required to form the time zone's daylight saving time. This amount of time is added to the time zone's offset from Coordinated Universal Time (UTC). - A object that indicates the amount of time to add to the standard time changes as a result of the adjustment rule. - - - Gets information about the annual transition from daylight saving time back to standard time. - A object that defines the annual transition from daylight saving time back to the time zone's standard time. - - - Gets information about the annual transition from standard time to daylight saving time. - A object that defines the annual transition from a time zone's standard time to daylight saving time. - - - Gets the time difference between the current time zone's standard time and Coordinated Universal Time (UTC). - An object that indicates the time difference between the current time zone's standard time and Coordinated Universal Time (UTC). - - - Gets the display name for the current time zone's daylight saving time. - The display name for the time zone's daylight saving time. - - - Gets the general display name that represents the time zone. - The time zone's general display name. - - - Gets the time zone identifier. - The time zone identifier. - - - Gets a object that represents the local time zone. - An object that represents the local time zone. - - - Gets the display name for the time zone's standard time. - The display name of the time zone's standard time. - - - Gets a value indicating whether the time zone has any daylight saving time rules. - - if the time zone supports daylight saving time; otherwise, . - - - Gets the day on which the time change occurs. - The day on which the time change occurs. - - - Gets the day of the week on which the time change occurs. - The day of the week on which the time change occurs. - - - Gets a value indicating whether the time change occurs at a fixed date and time (such as November 1) or a floating date and time (such as the last Sunday of October). - - if the time change rule is fixed-date; if the time change rule is floating-date. - - - Gets the month in which the time change occurs. - The month in which the time change occurs. - - - Gets the hour, minute, and second at which the time change occurs. - The time of day at which the time change occurs. - - - Gets the week of the month in which a time change occurs. - The week of the month in which the time change occurs. - - - Gets a object that represents the Coordinated Universal Time (UTC) zone. - An object that represents the Coordinated Universal Time (UTC) zone. - - - Gets the value of the object's single component. - The value of the current object's single component. - - - Gets the value of the element. - The index of the element. must be 0. - The value of the element. - - is less than 0 or greater than 0. - - - Gets the number of elements in the . - 1, the number of elements in a object. - - - Gets the value of the current object's first component. - The value of the current object's first component. - - - Gets the value of the current object's second component. - The value of the current object's second component. - - - Gets the value of the specified element. - The index of the specified element. can range from 0 to 1. - The value of the element at the specified position. - - is less than 0 or greater than 1. - - - Gets the number of elements in the . - 2, the number of elements in a object. - - - Gets the value of the current object's first component. - The value of the current object's first component. - - - Gets the value of the current object's second component. - The value of the current object's second component. - - - Gets the value of the current object's third component. - The value of the current object's third component. - - - Gets the value of the specified element. - The index of the specified element. can range from 0 to 2. - The value of the element at the specified position. - - is less than 0 or greater than 2. - - - Gets the number of elements in the . - 3, the number of elements in a object. - - - Gets the value of the current object's first component. - The value of the current object's first component. - - - Gets the value of the current object's second component. - The value of the current object's second component. - - - Gets the value of the current object's third component. - The value of the current object's third component. - - - Gets the value of the current object's fourth component. - The value of the current object's fourth component. - - - Gets the value of the specified element. - The index of the specified element. can range from 0 to 3. - The value of the element at the specified position. - - is less than 0 or greater than 3. - - - Gets the number of elements in the . - 4, the number of elements in a object. - - - Gets the value of the current object's first component. - The value of the current object's first component. - - - Gets the value of the current object's second component. - The value of the current object's second component. - - - Gets the value of the current object's third component. - The value of the current object's third component. - - - Gets the value of the current object's fourth component. - The value of the current object's fourth component. - - - Gets the value of the current object's fifth component. - The value of the current object's fifth component. - - - Gets the value of the specified element. - The index of the specified element. can range from 0 to 4. - The value of the element at the specified position. - - is less than 0 or greater than 4. - - - Gets the number of elements in the . - 5, the number of elements in a object. - - - Gets the value of the current object's first component. - The value of the current object's first component. - - - Gets the value of the current object's second component. - The value of the current object's second component. - - - Gets the value of the current object's third component. - The value of the current object's third component. - - - Gets the value of the current object's fourth component. - The value of the current object's fourth component. - - - Gets the value of the current object's fifth component. - The value of the current object's fifth component. - - - Gets the value of the current object's sixth component. - The value of the current object's sixth component. - - - Gets the value of the specified element. - The index of the specified element. can range from 0 to 5. - The value of the element at the specified position. - - is less than 0 or greater than 5. - - - Gets the number of elements in the . - 6, the number of elements in a object. - - - Gets the value of the current object's first component. - The value of the current object's first component. - - - Gets the value of the current object's second component. - The value of the current object's second component. - - - Gets the value of the current object's third component. - The value of the current object's third component. - - - Gets the value of the current object's fourth component. - The value of the current object's fourth component. - - - Gets the value of the current object's fifth component. - The value of the current object's fifth component. - - - Gets the value of the current object's sixth component. - The value of the current object's sixth component. - - - Gets the value of the current object's seventh component. - The value of the current object's seventh component. - - - Gets the value of the specified element. - The index of the specified element. can range from 0 to 6. - The value of the element at the specified position. - - is less than 0 or greater than 6. - - - Gets the number of elements in the . - 7, the number of elements in a object. - - - Gets the value of the current object's first component. - The value of the current object's first component. - - - Gets the value of the current object's second component. - The value of the current object's second component. - - - Gets the value of the current object's third component. - The value of the current object's third component. - - - Gets the value of the current object's fourth component. - The value of the current object's fourth component. - - - Gets the value of the current object's fifth component. - The value of the current object's fifth component. - - - Gets the value of the current object's sixth component. - The value of the current object's sixth component. - - - Gets the value of the current object's seventh component. - The value of the current object's seventh component. - - - Gets the current object's remaining components. - The value of the current object's remaining components. - - - Gets the value of the specified element. - The index of the specified element. can range from 0 for to one less than the number of elements in the . - The value of the element at the specified position. - - is less than 0. -or- is greater than or equal to . - - - Gets the number of elements in the . - The number of elements in the . - - - Gets the in which the type is declared. For generic types, gets the in which the generic type is defined. - An instance that describes the assembly containing the current type. For generic types, the instance describes the assembly that contains the generic type definition, not the assembly that creates and uses a particular constructed type. - - - Gets the assembly-qualified name of the type, which includes the name of the assembly from which this object was loaded. - The assembly-qualified name of the , which includes the name of the assembly from which the was loaded, or if the current instance represents a generic type parameter. - - - Gets the attributes associated with the . - A object representing the attribute set of the , unless the represents a generic type parameter, in which case the value is unspecified. - - - Gets the type from which the current directly inherits. - The from which the current directly inherits, or if the current represents the class or an interface. - - - Gets a value indicating whether the current object has type parameters that have not been replaced by specific types. - - if the object is itself a generic type parameter or has type parameters for which specific types have not been supplied; otherwise, . - - - - - Gets a that represents the declaring method, if the current represents a type parameter of a generic method. - If the current represents a type parameter of a generic method, a that represents declaring method; otherwise, . - - - Gets the type that declares the current nested type or generic type parameter. - A object representing the enclosing type, if the current type is a nested type; or the generic type definition, if the current type is a type parameter of a generic type; or the type that declares the generic method, if the current type is a type parameter of a generic method; otherwise, . - - - Gets a reference to the default binder, which implements internal rules for selecting the appropriate members to be called by . - A reference to the default binder used by the system. - - - Gets the fully qualified name of the type, including its namespace but not its assembly. - The fully qualified name of the type, including its namespace but not its assembly; or if the current instance represents a generic type parameter, an array type, pointer type, or type based on a type parameter, or a generic type that is not a generic type definition but contains unresolved type parameters. - - - Gets a combination of flags that describe the covariance and special constraints of the current generic type parameter. - A bitwise combination of values that describes the covariance and special constraints of the current generic type parameter. - The current object is not a generic type parameter. That is, the property returns . - The invoked method is not supported in the base class. - - - Gets the position of the type parameter in the type parameter list of the generic type or method that declared the parameter, when the object represents a type parameter of a generic type or a generic method. - The position of a type parameter in the type parameter list of the generic type or method that defines the parameter. Position numbers begin at 0. - The current type does not represent a type parameter. That is, returns . - - - Gets an array of the generic type arguments for this type. - An array of the generic type arguments for this type. - - - Gets the GUID associated with the . - The GUID associated with the . - - - Gets a value indicating whether the current encompasses or refers to another type; that is, whether the current is an array, a pointer, or is passed by reference. - - if the is an array, a pointer, or is passed by reference; otherwise, . - - - Gets a value indicating whether the is abstract and must be overridden. - - if the is abstract; otherwise, . - - - Gets a value indicating whether the string format attribute is selected for the . - - if the string format attribute is selected for the ; otherwise, . - - - Gets a value that indicates whether the type is an array. - - if the current type is an array; otherwise, . - - - Gets a value indicating whether the string format attribute is selected for the . - - if the string format attribute is selected for the ; otherwise, . - - - Gets a value indicating whether the fields of the current type are laid out automatically by the common language runtime. - - if the property of the current type includes ; otherwise, . - - - Gets a value indicating whether the is passed by reference. - - if the is passed by reference; otherwise, . - - - Gets a value indicating whether the is a class or a delegate; that is, not a value type or interface. - - if the is a class; otherwise, . - - - Gets a value indicating whether the is a COM object. - - if the is a COM object; otherwise, . - - - Gets a value that indicates whether this object represents a constructed generic type. You can create instances of a constructed generic type. - - if this object represents a constructed generic type; otherwise, . - - - Gets a value indicating whether the can be hosted in a context. - - if the can be hosted in a context; otherwise, . - - - Gets a value indicating whether the current represents an enumeration. - - if the current represents an enumeration; otherwise, . - - - Gets a value indicating whether the fields of the current type are laid out at explicitly specified offsets. - - if the property of the current type includes ; otherwise, . - - - Gets a value indicating whether the current represents a type parameter in the definition of a generic type or method. - - if the object represents a type parameter of a generic type definition or generic method definition; otherwise, . - - - Gets a value indicating whether the current type is a generic type. - - if the current type is a generic type; otherwise,. - - - Gets a value indicating whether the current represents a generic type definition, from which other generic types can be constructed. - - if the object represents a generic type definition; otherwise, . - - - Gets a value indicating whether the has a attribute applied, indicating that it was imported from a COM type library. - - if the has a ; otherwise, . - - - Gets a value indicating whether the is an interface; that is, not a class or a value type. - - if the is an interface; otherwise, . - - - Gets a value indicating whether the fields of the current type are laid out sequentially, in the order that they were defined or emitted to the metadata. - - if the property of the current type includes ; otherwise, . - - - Gets a value indicating whether the is marshaled by reference. - - if the is marshaled by reference; otherwise, . - - - Gets a value indicating whether the current object represents a type whose definition is nested inside the definition of another type. - - if the is nested inside another type; otherwise, . - - - Gets a value indicating whether the is nested and visible only within its own assembly. - - if the is nested and visible only within its own assembly; otherwise, . - - - Gets a value indicating whether the is nested and visible only to classes that belong to both its own family and its own assembly. - - if the is nested and visible only to classes that belong to both its own family and its own assembly; otherwise, . - - - Gets a value indicating whether the is nested and visible only within its own family. - - if the is nested and visible only within its own family; otherwise, . - - - Gets a value indicating whether the is nested and visible only to classes that belong to either its own family or to its own assembly. - - if the is nested and visible only to classes that belong to its own family or to its own assembly; otherwise, . - - - Gets a value indicating whether the is nested and declared private. - - if the is nested and declared private; otherwise, . - - - Gets a value indicating whether a class is nested and declared public. - - if the class is nested and declared public; otherwise, . - - - Gets a value indicating whether the is not declared public. - - if the is not declared public and is not a nested type; otherwise, . - - - Gets a value indicating whether the is a pointer. - - if the is a pointer; otherwise, . - - - Gets a value indicating whether the is one of the primitive types. - - if the is one of the primitive types; otherwise, . - - - Gets a value indicating whether the is declared public. - - if the is declared public and is not a nested type; otherwise, . - - - Gets a value indicating whether the is declared sealed. - - if the is declared sealed; otherwise, . - - - Gets a value that indicates whether the current type is security-critical or security-safe-critical at the current trust level, and therefore can perform critical operations. - - if the current type is security-critical or security-safe-critical at the current trust level; if it is transparent. - - - Gets a value that indicates whether the current type is security-safe-critical at the current trust level; that is, whether it can perform critical operations and can be accessed by transparent code. - - if the current type is security-safe-critical at the current trust level; if it is security-critical or transparent. - - - Gets a value that indicates whether the current type is transparent at the current trust level, and therefore cannot perform critical operations. - - if the type is security-transparent at the current trust level; otherwise, . - - - Gets a value indicating whether the is serializable. - - if the is serializable; otherwise, . - - - Gets a value indicating whether the type has a name that requires special handling. - - if the type has a name that requires special handling; otherwise, . - - - Gets a value indicating whether the string format attribute is selected for the . - - if the string format attribute is selected for the ; otherwise, . - - - Gets a value indicating whether the is a value type. - - if the is a value type; otherwise, . - - - Gets a value indicating whether the can be accessed by code outside the assembly. - - if the current is a public type or a public nested type such that all the enclosing types are public; otherwise, . - - - Gets a value indicating that this member is a type or a nested type. - A value indicating that this member is a type or a nested type. - - - Gets the module (the DLL) in which the current is defined. - The module in which the current is defined. - - - Gets the namespace of the . - The namespace of the ; if the current instance has no namespace or represents a generic parameter. - - - Gets the class object that was used to obtain this member. - The object through which this object was obtained. - - - Gets a that describes the layout of the current type. - Gets a that describes the gross layout features of the current type. - The invoked method is not supported in the base class. - - - Gets the handle for the current . - The handle for the current . - The .NET Compact Framework does not currently support this property. - - - Gets the initializer for the type. - An object that contains the name of the class constructor for the . - - - Indicates the type provided by the common language runtime that represents this type. - The underlying system type for the . - - - Gets the fully qualified name of the type that fails to initialize. - The fully qualified name of the type that fails to initialize. - - - Gets the error message for this exception. - The error message string. - - - Gets the fully qualified name of the type that causes the exception. - The fully qualified type name. - - - Gets the size of this instance. - The size of a pointer or handle on this platform, measured in bytes. The value of this property is 4 on a 32-bit platform, and 8 on a 64-bit platform. - - - Gets the unhandled exception object. - The unhandled exception object. - - - Indicates whether the common language runtime is terminating. - - if the runtime is terminating; otherwise, . - - - Returns an . There are no elements in a . - There is no acceptable value for . - An . - There is no acceptable value for . - - - Gets the length of this instance, which is always 0. There are no elements in a . - 0, the number of elements in this instance. - - - Gets the value of the element. - The index of the element. must be 0. - The value of the element. - - is less than 0 or greater than 0. - - - Gets the number of elements in the . - 1, the number of elements in a object. - - - Gets the value of the specified element. - The index of the specified element. can range from 0 to 1. - The value of the element at the specified position. - - is less than 0 or greater than 1. - - - Gets the number of elements in the . - 2, the number of elements in a object. - - - Gets the value of the specified element. - The index of the specified element. can range from 0 to 2. - The value of the element at the specified position. - - is less than 0 or greater than 2. - - - Gets the number of elements in the . - 3, the number of elements in a object. - - - Gets the value of the specified element. - The index of the specified element. can range from 0 to 3. - The value of the element at the specified position. - - is less than 0 or greater than 3. - - - Gets the number of elements in the . - 4, the number of elements in a object. - - - Gets the value of the specified element. - The index of the specified element. can range from 0 to 4. - The value of the element at the specified position. - - is less than 0 or greater than 4. - - - Gets the number of elements in the . - 5, the number of elements in a object. - - - Gets the value of the specified element. - The index of the specified element. can range from 0 to 5. - The value of the element at the specified position. - - is less than 0 or greater than 5. - - - Gets the number of elements in the . - 6, the number of elements in a object. - - - Gets the value of the specified element. - The index of the specified element. can range from 0 (the index of ) to 6 (the index of ). - The value of the element at the specified position. - - is less than 0 or greater than 6. - - - Gets the number of elements in the . - 7, the number of elements in a object. - - - Gets the value of the specified element. - The value of the specified element. can range from 0 for to one less than the number of elements in the . - The value of the element at the specified position. - - is less than 0.-or- is greater than or equal to . - - - Gets the number of elements in the . - The number of elements in the . - - - Gets the value of the build component of the version number for the current object. - The build number, or -1 if the build number is undefined. - - - Gets the value of the major component of the version number for the current object. - The major version number. - - - Gets the high 16 bits of the revision number. - A 16-bit signed integer. - - - Gets the value of the minor component of the version number for the current object. - The minor version number. - - - Gets the low 16 bits of the revision number. - A 16-bit signed integer. - - - Gets the value of the revision component of the version number for the current object. - The revision number, or -1 if the revision number is undefined. - - - Gets an indication whether the object referenced by the current object has been garbage collected. - - if the object referenced by the current object has not been garbage collected and is still accessible; otherwise, . - - - Gets or sets the object (the target) referenced by the current object. - - if the object referenced by the current object has been garbage collected; otherwise, a reference to the object referenced by the current object. - The reference to the target object is invalid. This exception can be thrown while setting this property if the value is a null reference or if the object has been finalized during the set operation. - - - Gets an indication whether the object referenced by the current object is tracked after it is finalized. - - if the object the current object refers to is tracked after finalization; or if the object is only tracked until finalization. - - - Provides objects that represent the root keys in the Windows registry, and methods to access key/value pairs. - - - Represents the possible values for a top-level node on a foreign machine. - - - Represents the HKEY_CLASSES_ROOT base key on another computer. This value can be passed to the method, to open this node remotely. - - - Represents the HKEY_CURRENT_USER base key on another computer. This value can be passed to the method, to open this node remotely. - - - Represents the HKEY_LOCAL_MACHINE base key on another computer. This value can be passed to the method, to open this node remotely. - - - Represents the HKEY_USERS base key on another computer. This value can be passed to the method, to open this node remotely. - - - Represents the HKEY_PERFORMANCE_DATA base key on another computer. This value can be passed to the method, to open this node remotely. - - - Represents the HKEY_CURRENT_CONFIG base key on another computer. This value can be passed to the method, to open this node remotely. - - - Represents the HKEY_DYN_DATA base key on another computer. This value can be passed to the method, to open this node remotely. - - - Represents a key-level node in the Windows registry. This class is a registry encapsulation. - - - Specifies whether security checks are performed when opening registry keys and accessing their name/value pairs. - - - The registry key inherits the mode of its parent. Security checks are performed when trying to access subkeys or values, unless the parent was opened with or mode. - - - Security checks are not performed when accessing subkeys or values. A security check is performed when trying to open the current key, unless the parent was opened with or . - - - Security checks are not performed when accessing subkeys or values. A security check is performed when trying to open the current key, unless the parent was opened with . - - - Specifies options to use when creating a registry key. - - - A non-volatile key. This is the default. - - - A volatile key. The information is stored in memory and is not preserved when the corresponding registry hive is unloaded. - - - Specifies the data types to use when storing values in the registry, or identifies the data type of a value in the registry. - - - A null-terminated string. This value is equivalent to the Win32 API registry data type REG_SZ. - - - A null-terminated string that contains unexpanded references to environment variables, such as %PATH%, that are expanded when the value is retrieved. This value is equivalent to the Win32 API registry data type REG_EXPAND_SZ. - - - Binary data in any form. This value is equivalent to the Win32 API registry data type REG_BINARY. - - - A 32-bit binary number. This value is equivalent to the Win32 API registry data type REG_DWORD. - - - An array of null-terminated strings, terminated by two null characters. This value is equivalent to the Win32 API registry data type REG_MULTI_SZ. - - - A 64-bit binary number. This value is equivalent to the Win32 API registry data type REG_QWORD. - - - An unsupported registry data type. For example, the Microsoft Win32 API registry data type REG_RESOURCE_LIST is unsupported. Use this value to specify that the method should determine the appropriate registry data type when storing a name/value pair. - - - No data type. - - - Specifies optional behavior when retrieving name/value pairs from a registry key. - - - No optional behavior is specified. - - - A value of type is retrieved without expanding its embedded environment variables. - - - Specifies which registry view to target on a 64-bit operating system. - - - The default view. - - - The 64-bit view. - - - The 32-bit view. - - - Provides a base class for Win32 critical handle implementations in which the value of -1 indicates an invalid handle. - - - Provides a base class for Win32 critical handle implementations in which the value of either 0 or -1 indicates an invalid handle. - - - Provides a safe handle to a Windows thread or process access token. For more information see Access Tokens - - - Represents a wrapper class for a file handle. - - - Provides a base class for Win32 safe handle implementations in which the value of -1 indicates an invalid handle. - - - Provides a base class for Win32 safe handle implementations in which the value of either 0 or -1 indicates an invalid handle. - - - Represents a safe handle to the Windows registry. - - - Represents a wrapper class for a wait handle. - - - Exposes the public members of the class to unmanaged code. - - - The exception that is thrown when there is an attempt to read or write protected memory. - - - Encapsulates a method that has no parameters and does not return a value. - - - Encapsulates a method that has a single parameter and does not return a value.To browse the .NET Framework source code for this type, see the Reference Source. - The parameter of the method that this delegate encapsulates. - The type of the parameter of the method that this delegate encapsulates. - - - Encapsulates a method that has two parameters and does not return a value. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - - - Encapsulates a method that has three parameters and does not return a value. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - - - Encapsulates a method that has four parameters and does not return a value. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - - - Encapsulates a method that has five parameters and does not return a value. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - - - Encapsulates a method that has six parameters and does not return a value. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - - - Encapsulates a method that has seven parameters and does not return a value. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - - - Encapsulates a method that has eight parameters and does not return a value. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - - - Identifies the activation context for the current application. This class cannot be inherited. - - - Indicates the context for a manifest-activated application. - - - The application is not in the ClickOnce store. - - - The application is contained in the ClickOnce store. - - - Contains methods to create types of objects locally or remotely, or obtain references to existing remote objects. This class cannot be inherited. - - - Represents one or more errors that occur during application execution. - - - Provides members for setting and retrieving data about an application's context. - - - Represents an application domain, which is an isolated environment where applications execute. This class cannot be inherited. - - - Represents the callback method to invoke when the application domain is initialized. - An array of strings to pass as arguments to the callback method. - - - Provides a managed equivalent of an unmanaged host. - The caller does not have the correct permissions. See the Requirements section. - - - Specifies the action that a custom application domain manager takes when initializing a new domain. - - - No initialization action. - - - Register the COM callable wrapper for the current with the unmanaged host. - - - Represents assembly binding information that can be added to an instance of . - - - The exception that is thrown when an attempt is made to access an unloaded application domain. - - - Serves as the base class for application-defined exceptions. - - - Contains information used to uniquely identify a manifest-based application. This class cannot be inherited. - - - Provides the ability to uniquely identify a manifest-activated application. This class cannot be inherited. - - - Represents a variable-length argument list; that is, the parameters of a function that takes a variable number of arguments. - - - The exception that is thrown when one of the arguments provided to a method is not valid. - - - The exception that is thrown when a null reference ( in Visual Basic) is passed to a method that does not accept it as a valid argument. - - - The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. - - - The exception that is thrown for errors in an arithmetic, casting, or conversion operation. - - - Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the base class for all arrays in the common language runtime.To browse the .NET Framework source code for this type, see the Reference Source. - - - Delimits a section of a one-dimensional array. - The type of the elements in the array segment. - - - The exception that is thrown when an attempt is made to store an element of the wrong type within an array. - - - Provides data for the event. - - - Represents the method that handles the event of an . - The source of the event. - An that contains the event data. - - - References a method to be called when a corresponding asynchronous operation completes. - The result of the asynchronous operation. - - - Represents the base class for custom attributes. - - - Specifies the application elements on which it is valid to apply an attribute. - - - Attribute can be applied to an assembly. - - - Attribute can be applied to a module. - - - Attribute can be applied to a class. - - - Attribute can be applied to a structure; that is, a value type. - - - Attribute can be applied to an enumeration. - - - Attribute can be applied to a constructor. - - - Attribute can be applied to a method. - - - Attribute can be applied to a property. - - - Attribute can be applied to a field. - - - Attribute can be applied to an event. - - - Attribute can be applied to an interface. - - - Attribute can be applied to a parameter. - - - Attribute can be applied to a delegate. - - - Attribute can be applied to a return value. - - - Attribute can be applied to a generic parameter. - - - Attribute can be applied to any application element. - - - Specifies the usage of another attribute class. This class cannot be inherited. - - - The exception that is thrown when the file image of a dynamic link library (DLL) or an executable program is invalid. - - - Specifies whether relevant and methods insert line breaks in their output. - - - Does not insert line breaks after every 76 characters in the string representation. - - - Inserts line breaks after every 76 characters in the string representation. - - - Converts base data types to an array of bytes, and an array of bytes to base data types. - - - Represents a Boolean ( or ) value. - - - Manipulates arrays of primitive types. - - - Represents an 8-bit unsigned integer. - - - The exception that is thrown when an attempt to unload an application domain fails. - - - Represents a character as a UTF-16 code unit. - - - Supports iterating over a object and reading its individual characters. This class cannot be inherited. - - - Indicates whether a program element is compliant with the Common Language Specification (CLS). This class cannot be inherited. - - - Implements the interface using an array whose size is dynamically increased as required.To browse the .NET Framework source code for this type, see the Reference Source. - - - Manages a compact array of bit values, which are represented as Booleans, where indicates that the bit is on (1) and indicates the bit is off (0). - - - Compares two objects for equivalence, ignoring the case of strings. - - - Supplies a hash code for an object, using a hashing algorithm that ignores the case of strings. - - - Provides the base class for a strongly typed collection. - - - Compares two objects for equivalence, where string comparisons are case-sensitive. - - - Represents a thread-safe collection of key/value pairs that can be accessed by multiple threads concurrently. - The type of the keys in the dictionary. - The type of the values in the dictionary. - - - Represents a thread-safe first in-first out (FIFO) collection. - The type of the elements contained in the queue. - - - Represents a thread-safe last in-first out (LIFO) collection. - The type of the elements contained in the stack. - - - Specifies options to control the buffering behavior of a partitioner - - - Use the default behavior, which is to use buffering to achieve optimal performance. - - - Create a partitioner that takes items from the source enumerable one at a time and does not use intermediate storage that can be accessed more efficiently by multiple threads. This option provides support for low latency (items will be processed as soon as they are available from the source) and provides partial support for dependencies between items (a thread cannot deadlock waiting for an item that the thread itself is responsible for processing). - - - Defines methods to manipulate thread-safe collections intended for producer/consumer usage. This interface provides a unified representation for producer/consumer collections so that higher level abstractions such as can use the collection as the underlying storage mechanism. - Specifies the type of elements in the collection. - - - Represents a particular manner of splitting an orderable data source into multiple partitions. - Type of the elements in the collection. - - - Provides common partitioning strategies for arrays, lists, and enumerables. - - - Represents a particular manner of splitting a data source into multiple partitions. - Type of the elements in the collection. - - - Provides the base class for a strongly typed collection of key/value pairs. - - - Defines a dictionary key/value pair that can be set or retrieved. - - - Provides a base class for implementations of the generic interface. - The type of objects to compare. - - - Represents a collection of keys and values.To browse the .NET Framework source code for this type, see the Reference Source. - The type of the keys in the dictionary. - The type of the values in the dictionary. - - - Enumerates the elements of a . - - - Represents the collection of keys in a . This class cannot be inherited. - - - Enumerates the elements of a . - - - Represents the collection of values in a . This class cannot be inherited. - - - Enumerates the elements of a . - - - Provides a base class for implementations of the generic interface. - The type of objects to compare. - - - Defines methods to manipulate generic collections. - The type of the elements in the collection. - - - Defines a method that a type implements to compare two objects. - The type of objects to compare. - - - Represents a generic collection of key/value pairs. - The type of keys in the dictionary. - The type of values in the dictionary. - - - Exposes the enumerator, which supports a simple iteration over a collection of a specified type.To browse the .NET Framework source code for this type, see the Reference Source. - The type of objects to enumerate. - - - Supports a simple iteration over a generic collection. - The type of objects to enumerate. - - - Defines methods to support the comparison of objects for equality. - The type of objects to compare. - - - Represents a collection of objects that can be individually accessed by index. - The type of elements in the list. - - - Represents a strongly-typed, read-only collection of elements. - The type of the elements. - - - Represents a generic read-only collection of key/value pairs. - The type of keys in the read-only dictionary. - The type of values in the read-only dictionary. - - - Represents a read-only collection of elements that can be accessed by index. - The type of elements in the read-only list. - - - The exception that is thrown when the key specified for accessing an element in a collection does not match any key in the collection. - - - Defines a key/value pair that can be set or retrieved. - The type of the key. - The type of the value. - - - Represents a strongly typed list of objects that can be accessed by index. Provides methods to search, sort, and manipulate lists.To browse the .NET Framework source code for this type, see the Reference Source. - The type of elements in the list. - - - Enumerates the elements of a . - - - Represents a collection of key/value pairs that are organized based on the hash code of the key.To browse the .NET Framework source code for this type, see the Reference Source. - - - Defines size, enumerators, and synchronization methods for all nongeneric collections. - - - Exposes a method that compares two objects. - - - Represents a nongeneric collection of key/value pairs. - - - Enumerates the elements of a nongeneric dictionary. - - - Exposes an enumerator, which supports a simple iteration over a non-generic collection.To browse the .NET Framework source code for this type, see the Reference Source. - - - Supports a simple iteration over a non-generic collection. - - - Defines methods to support the comparison of objects for equality. - - - Supplies a hash code for an object, using a custom hash function. - - - Represents a non-generic collection of objects that can be individually accessed by index. - - - Supports the structural comparison of collection objects. - - - Defines methods to support the comparison of objects for structural equality. - - - Provides the base class for a generic collection. - The type of elements in the collection. - - - Provides the abstract base class for a collection whose keys are embedded in the values. - The type of keys in the collection. - The type of items in the collection. - - - Provides the base class for a generic read-only collection. - The type of elements in the collection. - - - Represents a read-only, generic collection of key/value pairs. - The type of keys in the dictionary. - The type of values in the dictionary. - - - Represents a read-only collection of the keys of a object. - - - Represents a read-only collection of the values of a object. - - - Represents a first-in, first-out collection of objects. - - - Provides the base class for a strongly typed non-generic read-only collection. - - - Represents a collection of key/value pairs that are sorted by the keys and are accessible by key and by index. - - - Represents a simple last-in-first-out (LIFO) non-generic collection of objects. - - - Provides objects for performing a structural comparison of two collection objects. - - - Represents the method that compares two objects of the same type. - The first object to compare. - The second object to compare. - The type of the objects to compare. - A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than 0 - is less than .0 - equals .Greater than 0 - is greater than . - - - Represents a hash of an assembly manifest's contents. - - - Specifies all the hash algorithms used for hashing files and for generating the strong name. - - - A mask indicating that there is no hash algorithm. If you specify for a multi-module assembly, the common language runtime defaults to the SHA1 algorithm, since multi-module assemblies need to generate a hash. - - - Retrieves the MD5 message-digest algorithm. MD5 was developed by Rivest in 1991. It is basically MD4 with safety-belts and while it is slightly slower than MD4, it helps provide more security. The algorithm consists of four distinct rounds, which has a slightly different design from that of MD4. Message-digest size, as well as padding requirements, remain the same. - - - A mask used to retrieve a revision of the Secure Hash Algorithm that corrects an unpublished flaw in SHA. - - - A mask used to retrieve a version of the Secure Hash Algorithm with a hash size of 256 bits. - - - A mask used to retrieve a version of the Secure Hash Algorithm with a hash size of 384 bits. - - - A mask used to retrieve a version of the Secure Hash Algorithm with a hash size of 512 bits. - - - Defines the different types of assembly version compatibility. This feature is not available in version 1.0 of the .NET Framework. - - - The assembly cannot execute with other versions if they are executing on the same machine. - - - The assembly cannot execute with other versions if they are executing in the same process. - - - The assembly cannot execute with other versions if they are executing in the same application domain. - - - Represents the standard input, output, and error streams for console applications. This class cannot be inherited.To browse the .NET Framework source code for this type, see the Reference Source. - - - Provides data for the event. This class cannot be inherited. - - - Represents the method that will handle the event of a . - The source of the event. - A object that contains the event data. - - - Specifies constants that define foreground and background colors for the console. - - - The color black. - - - The color dark blue. - - - The color dark green. - - - The color dark cyan (dark blue-green). - - - The color dark red. - - - The color dark magenta (dark purplish-red). - - - The color dark yellow (ochre). - - - The color gray. - - - The color dark gray. - - - The color blue. - - - The color green. - - - The color cyan (blue-green). - - - The color red. - - - The color magenta (purplish-red). - - - The color yellow. - - - The color white. - - - Specifies the standard keys on a console. - - - The BACKSPACE key. - - - The TAB key. - - - The CLEAR key. - - - The ENTER key. - - - The PAUSE key. - - - The ESC (ESCAPE) key. - - - The SPACEBAR key. - - - The PAGE UP key. - - - The PAGE DOWN key. - - - The END key. - - - The HOME key. - - - The LEFT ARROW key. - - - The UP ARROW key. - - - The RIGHT ARROW key. - - - The DOWN ARROW key. - - - The SELECT key. - - - The PRINT key. - - - The EXECUTE key. - - - The PRINT SCREEN key. - - - The INS (INSERT) key. - - - The DEL (DELETE) key. - - - The HELP key. - - - The 0 key. - - - The 1 key. - - - The 2 key. - - - The 3 key. - - - The 4 key. - - - The 5 key. - - - The 6 key. - - - The 7 key. - - - The 8 key. - - - The 9 key. - - - The A key. - - - The B key. - - - The C key. - - - The D key. - - - The E key. - - - The F key. - - - The G key. - - - The H key. - - - The I key. - - - The J key. - - - The K key. - - - The L key. - - - The M key. - - - The N key. - - - The O key. - - - The P key. - - - The Q key. - - - The R key. - - - The S key. - - - The T key. - - - The U key. - - - The V key. - - - The W key. - - - The X key. - - - The Y key. - - - The Z key. - - - The left Windows logo key (Microsoft Natural Keyboard). - - - The right Windows logo key (Microsoft Natural Keyboard). - - - The Application key (Microsoft Natural Keyboard). - - - The Computer Sleep key. - - - The 0 key on the numeric keypad. - - - The 1 key on the numeric keypad. - - - The 2 key on the numeric keypad. - - - The 3 key on the numeric keypad. - - - The 4 key on the numeric keypad. - - - The 5 key on the numeric keypad. - - - The 6 key on the numeric keypad. - - - The 7 key on the numeric keypad. - - - The 8 key on the numeric keypad. - - - The 9 key on the numeric keypad. - - - The Multiply key (the multiplication key on the numeric keypad). - - - The Add key (the addition key on the numeric keypad). - - - The Separator key. - - - The Subtract key (the subtraction key on the numeric keypad). - - - The Decimal key (the decimal key on the numeric keypad). - - - The Divide key (the division key on the numeric keypad). - - - The F1 key. - - - The F2 key. - - - The F3 key. - - - The F4 key. - - - The F5 key. - - - The F6 key. - - - The F7 key. - - - The F8 key. - - - The F9 key. - - - The F10 key. - - - The F11 key. - - - The F12 key. - - - The F13 key. - - - The F14 key. - - - The F15 key. - - - The F16 key. - - - The F17 key. - - - The F18 key. - - - The F19 key. - - - The F20 key. - - - The F21 key. - - - The F22 key. - - - The F23 key. - - - The F24 key. - - - The Browser Back key (Windows 2000 or later). - - - The Browser Forward key (Windows 2000 or later). - - - The Browser Refresh key (Windows 2000 or later). - - - The Browser Stop key (Windows 2000 or later). - - - The Browser Search key (Windows 2000 or later). - - - The Browser Favorites key (Windows 2000 or later). - - - The Browser Home key (Windows 2000 or later). - - - The Volume Mute key (Microsoft Natural Keyboard, Windows 2000 or later). - - - The Volume Down key (Microsoft Natural Keyboard, Windows 2000 or later). - - - The Volume Up key (Microsoft Natural Keyboard, Windows 2000 or later). - - - The Media Next Track key (Windows 2000 or later). - - - The Media Previous Track key (Windows 2000 or later). - - - The Media Stop key (Windows 2000 or later). - - - The Media Play/Pause key (Windows 2000 or later). - - - The Start Mail key (Microsoft Natural Keyboard, Windows 2000 or later). - - - The Select Media key (Microsoft Natural Keyboard, Windows 2000 or later). - - - The Start Application 1 key (Microsoft Natural Keyboard, Windows 2000 or later). - - - The Start Application 2 key (Microsoft Natural Keyboard, Windows 2000 or later). - - - The OEM 1 key (OEM specific). - - - The OEM Plus key on any country/region keyboard (Windows 2000 or later). - - - The OEM Comma key on any country/region keyboard (Windows 2000 or later). - - - The OEM Minus key on any country/region keyboard (Windows 2000 or later). - - - The OEM Period key on any country/region keyboard (Windows 2000 or later). - - - The OEM 2 key (OEM specific). - - - The OEM 3 key (OEM specific). - - - The OEM 4 key (OEM specific). - - - The OEM 5 (OEM specific). - - - The OEM 6 key (OEM specific). - - - The OEM 7 key (OEM specific). - - - The OEM 8 key (OEM specific). - - - The OEM 102 key (OEM specific). - - - The IME PROCESS key. - - - The PACKET key (used to pass Unicode characters with keystrokes). - - - The ATTN key. - - - The CRSEL (CURSOR SELECT) key. - - - The EXSEL (EXTEND SELECTION) key. - - - The ERASE EOF key. - - - The PLAY key. - - - The ZOOM key. - - - A constant reserved for future use. - - - The PA1 key. - - - The CLEAR key (OEM specific). - - - Describes the console key that was pressed, including the character represented by the console key and the state of the SHIFT, ALT, and CTRL modifier keys. - - - Represents the SHIFT, ALT, and CTRL modifier keys on a keyboard. - - - The left or right ALT modifier key. - - - The left or right SHIFT modifier key. - - - The left or right CTRL modifier key. - - - Specifies combinations of modifier and console keys that can interrupt the current process. - - - The modifier key plus the console key. - - - The modifier key plus the BREAK console key. - - - Defines the base class for all context-bound classes. - - - The exception that is thrown when an attempt to marshal an object across a context boundary fails. - - - Indicates that the value of a static field is unique for a particular context. - - - Converts a base data type to another base data type. - - - Represents a method that converts an object from one type to another type. - The object to convert. - The type of object that is to be converted. - The type the input object is to be converted to. - The that represents the converted . - - - Used by for cross-application domain calls. - - - The exception that is thrown when a unit of data is read from or written to an address that is not a multiple of the data size. This class cannot be inherited. - - - Represents an instant in time, typically expressed as a date and time of day. To browse the .NET Framework source code for this type, see the Reference Source. - - - Specifies whether a object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. - - - The time represented is not specified as either local time or Coordinated Universal Time (UTC). - - - The time represented is UTC. - - - The time represented is local time. - - - Represents a point in time, typically expressed as a date and time of day, relative to Coordinated Universal Time (UTC). - - - Specifies the day of the week. - - - Indicates Sunday. - - - Indicates Monday. - - - Indicates Tuesday. - - - Indicates Wednesday. - - - Indicates Thursday. - - - Indicates Friday. - - - Indicates Saturday. - - - Represents a nonexistent value. This class cannot be inherited. - - - Represents a decimal number. - - - Represents a delegate, which is a data structure that refers to a static method or to a class instance and an instance method of that class. - - - Provides access to data from an object. - - - Provides access to internal properties of an object. - - - Suppresses reporting of a specific static analysis tool rule violation, allowing multiple suppressions on a single code artifact. - - - Indicates to compilers that a method call or attribute should be ignored unless a specified conditional compilation symbol is defined. - - - Contains static methods for representing program contracts such as preconditions, postconditions, and object invariants. - - - Defines abbreviations that you can use in place of the full contract syntax. - - - Enables the factoring of legacy code into separate methods for reuse, and provides full control over thrown exceptions and arguments. - - - Specifies that a separate type contains the code contracts for this type. - - - Specifies that a class is a contract for a type. - - - Provides methods and data for the event. - - - Specifies the type of contract that failed. - - - A contract failed. - - - An contract failed. - - - An contract failed. - - - An contract failed. - - - An contract failed. - - - An contract failed. - - - Marks a method as being the invariant method for a class. - - - Enables you to set contract and tool options at assembly, type, or method granularity. - - - Specifies that a field can be used in method contracts when the field has less visibility than the method. - - - Specifies that an assembly is a reference assembly that contains contracts. - - - Identifies a member that has no run-time behavior. - - - Instructs analysis tools to assume the correctness of an assembly, type, or member without performing static verification. - - - Provides methods that the binary rewriter uses to handle contract failures. - - - Indicates that a type or method is pure, that is, it does not make any visible state changes. - - - Modifies code generation for runtime just-in-time (JIT) debugging. This class cannot be inherited. - - - Specifies the debugging mode for the just-in-time (JIT) compiler. - - - Starting with the .NET Framework version 2.0, JIT tracking information is always generated, and this flag has the same effect as , except that it sets the property to . However, because JIT tracking is always enabled, the property value is ignored in version 2.0 or later. Note that, unlike the flag, the flag cannot be used to disable JIT optimizations. - - - Instructs the just-in-time (JIT) compiler to use its default behavior, which includes enabling optimizations, disabling Edit and Continue support, and using symbol store sequence points if present. Starting with the .NET Framework version 2.0, JIT tracking information, the Microsoft intermediate language (MSIL) offset to the native-code offset within a method, is always generated. - - - Disable optimizations performed by the compiler to make your output file smaller, faster, and more efficient. Optimizations result in code rearrangement in the output file, which can make debugging difficult. Typically optimization should be disabled while debugging. In versions 2.0 or later, combine this value with Default (Default | DisableOptimizations) to enable JIT tracking and disable optimizations. - - - Use the implicit MSIL sequence points, not the program database (PDB) sequence points. The symbolic information normally includes at least one Microsoft intermediate language (MSIL) offset for each source line. When the just-in-time (JIT) compiler is about to compile a method, it asks the profiling services for a list of MSIL offsets that should be preserved. These MSIL offsets are called sequence points. - - - Enable edit and continue. Edit and continue enables you to make changes to your source code while your program is in break mode. The ability to edit and continue is compiler dependent. - - - Enables communication with a debugger. This class cannot be inherited. - - - Determines if and how a member is displayed in the debugger variable windows. This class cannot be inherited. - - - Provides display instructions for the debugger. - - - Never show the element. - - - Show the element as collapsed. - - - Do not display the root element; display the child elements if the element is a collection or array of items. - - - Determines how a class or field is displayed in the debugger variable windows. - - - Specifies the . This class cannot be inherited. - - - Identifies a type or member that is not part of the user code for an application. - - - Indicates the code following the attribute is to be executed in run, not step, mode. - - - Instructs the debugger to step through the code instead of stepping into the code. This class cannot be inherited. - - - Specifies the display proxy for a type. - - - Specifies that the type has a visualizer. This class cannot be inherited. - - - Provides information about a , which represents a function call on the call stack for the current thread. - - - Represents a stack trace, which is an ordered collection of one or more stack frames. - - - Represents a symbol binder for managed code. - - - Represents a symbol binder for managed code. - - - Represents a document referenced by a symbol store. - - - Represents a document referenced by a symbol store. - - - Represents a method within a symbol store. - - - Represents a namespace within a symbol store. - - - Represents a symbol reader for managed code. - - - Represents a lexical scope within , providing access to the start and end offsets of the scope, as well as its child and parent scopes. - - - Represents a variable within a symbol store. - - - Represents a symbol writer for managed code. - - - Specifies address types for local variables, parameters, and fields in the methods , , and of the interface. - - - A Microsoft intermediate language (MSIL) offset. The parameter is the MSIL local variable or parameter index. - - - A native Relevant Virtual Address (RVA). The parameter is the RVA in the module. - - - A native register address. The parameter is the register in which the variable is stored. - - - A register-relative address. The parameter is the register, and the parameter is the offset. - - - A native offset. The parameter is the offset from the start of the parent. - - - A register-relative address. The parameter is the low-order register, and the parameter is the high-order register. - - - A register-relative address. The parameter is the low-order register, the parameter is the stack register, and the parameter is the offset from the stack pointer to the high-order part of the value. - - - A register-relative address. The parameter is the stack register, the parameter is the offset from the stack pointer to the low-order part of the value, and the parameter is the high-order register. - - - A bit field. The parameter is the position where the field starts, and the parameter is the field length. - - - A native section offset. The parameter is the section, and the parameter is the offset. - - - The structure is an object representation of a token that represents symbolic information. - - - Holds the public GUIDs for document types to be used with the symbol store. - - - Holds the public GUIDs for language types to be used with the symbol store. - - - Holds the public GUIDs for language vendors to be used with the symbol store. - - - Specifies the tracking of activity start and stop events. - - - Use the default behavior for start and stop tracking. - - - Turn off start and stop tracking. - - - Allow recursive activity starts. By default, an activity cannot be recursive. That is, a sequence of Start A, Start A, Stop A, Stop A is not allowed. Unintentional recursive activities can occur if the app executes and for some the stop is not reached before another start is called. - - - Allow overlapping activities. By default, activity starts and stops must be property nested. That is, a sequence of Start A, Start B, Stop A, Stop B is not allowed will result in B stopping at the same time as A. - - - Specifies additional event schema information for an event. - - - Specifies the event log channel for the event. - - - No channel specified. - - - The administrator log channel. - - - The operational channel. - - - The analytic channel. - - - The debug channel. - - - Describes the command ( property) that is passed to the callback. - - - Update the event. - - - Send the manifest. - - - Enable the event. - - - Disable the event. - - - Provides the arguments for the callback. - - - Specifies a type to be passed to the method. - - - The is placed on fields of user-defined types that are passed as payloads. - - - Specifies how to format the value of a user-defined type and can be used to override the default formatting for a field. - - - Default. - - - String. - - - Boolean - - - Hexadecimal. - - - XML. - - - JSON. - - - HResult. - - - Specifies the user-defined tag that is placed on fields of user-defined types that are passed as payloads through the . - - - Specifies no tag and is equal to zero. - - - Specifies a property should be ignored when writing an event type with the method. - - - Defines the standard keywords that apply to events. - - - No filtering on keywords is performed when the event is published. - - - All the bits are set to 1, representing every possible group of events. - - - Attached to all Microsoft telemetry events. - - - Attached to all Windows Diagnostics Infrastructure (WDI) context events. - - - Attached to all Windows Diagnostics Infrastructure (WDI) diagnostic events. - - - Attached to all Service Quality Mechanism (SQM) events. - - - Attached to all failed security audit events. Use this keyword only for events in the security log. - - - Attached to all successful security audit events. Use this keyword only for events in the security log. - - - Attached to transfer events where the related activity ID (correlation ID) is a computed value and is not guaranteed to be unique (that is, it is not a real GUID). - - - Attached to events that are raised by using the function. - - - Identifies the level of an event. - - - No level filtering is done on the event. - - - This level corresponds to a critical error, which is a serious error that has caused a major failure. - - - This level adds standard errors that signify a problem. - - - This level adds warning events (for example, events that are published because a disk is nearing full capacity). - - - This level adds informational events or messages that are not errors. These events can help trace the progress or state of an application. - - - This level adds lengthy events or messages. It causes all events to be logged. - - - Provides methods for enabling and disabling events from event sources. - - - Specifies how the ETW manifest for the event source is generated. - - - No options are specified. - - - Causes an exception to be raised if any inconsistencies occur when writing the manifest file. - - - Generates a resources node under the localization folder for every satellite assembly provided. - - - A manifest is generated only the event source must be registered on the host computer. - - - Overrides the default behavior that the current must be the base class of the user-defined type passed to the write method. This enables the validation of .NET event sources. - - - Defines the standard operation codes that the event source attaches to events. - - - An informational event. - - - An event that is published when an application starts a new transaction or activity. This operation code can be embedded within another transaction or activity when multiple events that have the code follow each other without an intervening event that has a code. - - - An event that is published when an activity or a transaction in an application ends. The event corresponds to the last unpaired event that has a operation code. - - - A trace collection start event. - - - A trace collection stop event. - - - An extension event. - - - An event that is published after an activity in an application replies to an event. - - - An event that is published after an activity in an application resumes from a suspended state. The event should follow an event that has the operation code. - - - An event that is published when an activity in an application is suspended. - - - An event that is published when one activity in an application transfers data or system resources to another activity. - - - An event that is published when one activity in an application receives data. - - - Provides the ability to create events for event tracing for Windows (ETW). - - - Provides the event data for creating fast overloads by using the method. - - - Allows the event tracing for Windows (ETW) name to be defined independently of the name of the event source class. - - - Provides data for the event. - - - The exception that is thrown when an error occurs during event tracing for Windows (ETW). - - - Specifies overrides of default event settings such as the log level, keywords and operation code when the method is called. - - - Specifies configuration options for an event source. - - - None of the special configuration options are enabled. - - - The event source throws an exception when an error occurs. - - - The ETW listener should use a manifest-based format when raising events. Setting this option is a directive to the ETW listener should use manifest-based format when raising events. This is the default option when defining a type derived from using one of the protected constructors. - - - The ETW listener should use self-describing event format. This is the default option when creating a new instance of the using one of the public constructors. - - - Specifies the tracking of activity start and stop events. You should only use the lower 24 bits. For more information, see and . - - - Specifies no tag and is equal to zero. - - - Defines the tasks that apply to events. - - - Undefined task. - - - Provides data for the callback. - - - Identifies a method that is not generating an event. - - - The exception that is thrown when there is an attempt to divide an integral or value by zero. - - - The exception that is thrown when a DLL specified in a DLL import cannot be found. - - - Represents a double-precision floating-point number. - - - The exception that is thrown when an object appears more than once in an array of synchronization objects. - - - The exception that is thrown when an attempt to load a class fails due to the absence of an entry method. - - - Provides the base class for enumerations. - - - Provides information about, and means to manipulate, the current environment and platform. This class cannot be inherited. - - - Specifies enumerated constants used to retrieve directory paths to system special folders. - - - The directory that serves as a common repository for application-specific data for the current roaming user. - - - The directory that serves as a common repository for application-specific data that is used by all users. - - - The directory that serves as a common repository for application-specific data that is used by the current, non-roaming user. - - - The directory that serves as a common repository for Internet cookies. - - - The logical Desktop rather than the physical file system location. - - - The directory that serves as a common repository for the user's favorite items. - - - The directory that serves as a common repository for Internet history items. - - - The directory that serves as a common repository for temporary Internet files. - - - The directory that contains the user's program groups. - - - The My Computer folder. - - - The My Music folder. - - - The My Pictures folder. - - - The file system directory that serves as a repository for videos that belong to a user. Added in the .NET Framework 4. - - - The directory that contains the user's most recently used documents. - - - The directory that contains the Send To menu items. - - - The directory that contains the Start menu items. - - - The directory that corresponds to the user's Startup program group. - - - The System directory. - - - The directory that serves as a common repository for document templates. - - - The directory used to physically store file objects on the desktop. - - - The directory that serves as a common repository for documents. - - - The My Documents folder. - - - The program files directory.On a non-x86 system, passing to the method returns the path for non-x86 programs. To get the x86 program files directory on a non-x86 system, use the member. - - - The directory for components that are shared across applications.To get the x86 common program files directory on a non-x86 system, use the member. - - - The file system directory that is used to store administrative tools for an individual user. The Microsoft Management Console (MMC) will save customized consoles to this directory, and it will roam with the user. Added in the .NET Framework 4. - - - The file system directory that acts as a staging area for files waiting to be written to a CD. Added in the .NET Framework 4. - - - The file system directory that contains administrative tools for all users of the computer. Added in the .NET Framework 4. - - - The file system directory that contains documents that are common to all users. This special folder is valid for Windows NT systems, Windows 95, and Windows 98 systems with Shfolder.dll installed. Added in the .NET Framework 4. - - - The file system directory that serves as a repository for music files common to all users. Added in the .NET Framework 4. - - - This value is recognized in Windows Vista for backward compatibility, but the special folder itself is no longer used. Added in the .NET Framework 4. - - - The file system directory that serves as a repository for image files common to all users. Added in the .NET Framework 4. - - - The file system directory that contains the programs and folders that appear on the Start menu for all users. This special folder is valid only for Windows NT systems. Added in the .NET Framework 4. - - - A folder for components that are shared across applications. This special folder is valid only for Windows NT, Windows 2000, and Windows XP systems. Added in the .NET Framework 4. - - - The file system directory that contains the programs that appear in the Startup folder for all users. This special folder is valid only for Windows NT systems. Added in the .NET Framework 4. - - - The file system directory that contains files and folders that appear on the desktop for all users. This special folder is valid only for Windows NT systems. Added in the .NET Framework 4. - - - The file system directory that contains the templates that are available to all users. This special folder is valid only for Windows NT systems. Added in the .NET Framework 4. - - - The file system directory that serves as a repository for video files common to all users. Added in the .NET Framework 4. - - - A virtual folder that contains fonts. Added in the .NET Framework 4. - - - A file system directory that contains the link objects that may exist in the My Network Places virtual folder. Added in the .NET Framework 4. - - - The file system directory that contains the link objects that can exist in the Printers virtual folder. Added in the .NET Framework 4. - - - The user's profile folder. Applications should not create files or folders at this level; they should put their data under the locations referred to by . Added in the .NET Framework 4. - - - The Program Files folder. Added in the .NET Framework 4. - - - The x86 Program Files folder. Added in the .NET Framework 4. - - - The file system directory that contains resource data. Added in the .NET Framework 4. - - - The file system directory that contains localized resource data. Added in the .NET Framework 4. - - - The Windows System folder. Added in the .NET Framework 4. - - - The Windows directory or SYSROOT. This corresponds to the %windir% or %SYSTEMROOT% environment variables. Added in the .NET Framework 4. - - - Specifies options to use for getting the path to a special folder. - - - The path to the folder is verified. If the folder exists, the path is returned. If the folder does not exist, an empty string is returned. This is the default behavior. - - - The path to the folder is created if it does not already exist. - - - The path to the folder is returned without verifying whether the path exists. If the folder is located on a network, specifying this option can reduce lag time. - - - Specifies the location where an environment variable is stored or retrieved in a set or get operation. - - - The environment variable is stored or retrieved from the environment block associated with the current process. - - - The environment variable is stored or retrieved from the key in the Windows operating system registry. - - - The environment variable is stored or retrieved from the key in the Windows operating system registry. - - - Represents the base class for classes that contain event data, and provides a value to use for events that do not include event data. - - - Represents the method that will handle an event that has no event data. - The source of the event. - An object that contains no event data. - - - Represents the method that will handle an event when the event provides data. - The source of the event. - An object that contains the event data. - The type of the event data generated by the event. - - - Represents errors that occur during application execution.To browse the .NET Framework source code for this type, see the Reference Source. - - - The exception that is thrown when there is an internal error in the execution engine of the common language runtime. This class cannot be inherited. - - - The exception that is thrown when there is an invalid attempt to access a private or protected field inside a class. - - - Indicates that an enumeration can be treated as a bit field; that is, a set of flags. - - - The exception that is thrown when the format of an argument is invalid, or when a composite format string is not well formed. - - - Represents a composite format string, along with the arguments to be formatted. - - - Encapsulates a method that has no parameters and returns a value of the type specified by the parameter. - The type of the return value of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - Encapsulates a method that has one parameter and returns a value of the type specified by the parameter.To browse the .NET Framework source code for this type, see the Reference Source. - The parameter of the method that this delegate encapsulates. - The type of the parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - Encapsulates a method that has two parameters and returns a value of the type specified by the parameter. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - Encapsulates a method that has three parameters and returns a value of the type specified by the parameter. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - Encapsulates a method that has four parameters and returns a value of the type specified by the parameter. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - Encapsulates a method that has five parameters and returns a value of the type specified by the parameter. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - Encapsulates a method that has six parameters and returns a value of the type specified by the parameter. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - Encapsulates a method that has seven parameters and returns a value of the type specified by the parameter. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - Encapsulates a method that has eight parameters and returns a value of the type specified by the parameter. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - Controls the system garbage collector, a service that automatically reclaims unused memory. - - - Specifies the behavior for a forced garbage collection. - - - The default setting for this enumeration, which is currently . - - - Forces the garbage collection to occur immediately. - - - Allows the garbage collector to determine whether the current time is optimal to reclaim objects. - - - Provides information about the current registration for notification of the next full garbage collection. - - - The notification was successful and the registration was not canceled. - - - The notification failed for any reason. - - - The current registration was canceled by the user. - - - The time specified by the parameter for either or has elapsed. - - - This result can be caused by the following: there is no current registration for a garbage collection notification, concurrent garbage collection is enabled, or the time specified for the parameter has expired and no garbage collection notification was obtained. (See the <gcConcurrent> runtime setting for information about how to disable concurrent garbage collection.) - - - Represents time in divisions, such as weeks, months, and years. - - - Specifies whether a calendar is solar-based, lunar-based, or lunisolar-based. - - - An unknown calendar basis. - - - A solar-based calendar. - - - A lunar-based calendar. - - - A lunisolar-based calendar. - - - Defines different rules for determining the first week of the year. - - - Indicates that the first week of the year starts on the first day of the year and ends before the following designated first day of the week. The value is 0. - - - Indicates that the first week of the year begins on the first occurrence of the designated first day of the week on or after the first day of the year. The value is 1. - - - Indicates that the first week of the year is the first week with four or more days before the designated first day of the week. The value is 2. - - - Retrieves information about a Unicode character. This class cannot be inherited. - - - Represents time in divisions, such as months, days, and years. Years are calculated using the Chinese calendar, while days and months are calculated using the lunisolar calendar. - - - Implements a set of methods for culture-sensitive string comparisons. - - - Defines the string comparison options to use with . - - - Indicates the default option settings for string comparisons. - - - Indicates that the string comparison must ignore case. - - - Indicates that the string comparison must ignore nonspacing combining characters, such as diacritics. The Unicode Standard defines combining characters as characters that are combined with base characters to produce a new character. Nonspacing combining characters do not occupy a spacing position by themselves when rendered. - - - Indicates that the string comparison must ignore symbols, such as white-space characters, punctuation, currency symbols, the percent sign, mathematical symbols, the ampersand, and so on. - - - Indicates that the string comparison must ignore the Kana type. Kana type refers to Japanese hiragana and katakana characters, which represent phonetic sounds in the Japanese language. Hiragana is used for native Japanese expressions and words, while katakana is used for words borrowed from other languages, such as "computer" or "Internet". A phonetic sound can be expressed in both hiragana and katakana. If this value is selected, the hiragana character for one sound is considered equal to the katakana character for the same sound. - - - Indicates that the string comparison must ignore the character width. For example, Japanese katakana characters can be written as full-width or half-width. If this value is selected, the katakana characters written as full-width are considered equal to the same characters written as half-width. - - - String comparison must ignore case, then perform an ordinal comparison. This technique is equivalent to converting the string to uppercase using the invariant culture and then performing an ordinal comparison on the result. - - - Indicates that the string comparison must use the string sort algorithm. In a string sort, the hyphen and the apostrophe, as well as other nonalphanumeric symbols, come before alphanumeric characters. - - - Indicates that the string comparison must use successive Unicode UTF-16 encoded values of the string (code unit by code unit comparison), leading to a fast comparison but one that is culture-insensitive. A string starting with a code unit XXXX16 comes before a string starting with YYYY16, if XXXX16 is less than YYYY16. This value cannot be combined with other values and must be used alone. - - - Provides information about a specific culture (called a locale for unmanaged code development). The information includes the names for the culture, the writing system, the calendar used, the sort order of strings, and formatting for dates and numbers. - - - The exception that is thrown when a method attempts to construct a culture that is not available. - - - Defines the types of culture lists that can be retrieved using the method. - - - Cultures that are associated with a language but are not specific to a country/region. The names of .NET Framework cultures consist of the lowercase two-letter code derived from ISO 639-1. For example: "en" (English) is a neutral culture. - - - Cultures that are specific to a country/region. The names of these cultures follow RFC 4646 (Windows Vista and later). The format is "<languagecode2>-<country/regioncode2>", where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. For example, "en-US" for English (United States) is a specific culture. - - - All cultures that are installed in the Windows operating system. Note that not all cultures supported by the .NET Framework are installed in the operating system. - - - All cultures that ship with the .NET Framework, including neutral and specific cultures, cultures installed in the Windows operating system, and custom cultures created by the user. - is a composite field that includes the , , and values. - - - Custom cultures created by the user. - - - Custom cultures created by the user that replace cultures shipped with the .NET Framework. - - - This member is deprecated. If it is used as an argument to the method, the method returns an empty array. - - - This member is deprecated; using this value with returns neutral and specific cultures shipped with the .NET Framework 2.0. - - - Provides culture-specific information about the format of date and time values. - - - Defines the formatting options that customize string parsing for some date and time parsing methods. - - - Default formatting options must be used. This value represents the default style for the , , and methods. - - - Leading white-space characters must be ignored during parsing, except if they occur in the format patterns. - - - Trailing white-space characters must be ignored during parsing, except if they occur in the format patterns. - - - Extra white-space characters in the middle of the string must be ignored during parsing, except if they occur in the format patterns. - - - Extra white-space characters anywhere in the string must be ignored during parsing, except if they occur in the format patterns. This value is a combination of the , , and values. - - - If the parsed string contains only the time and not the date, the parsing methods assume the Gregorian date with year = 1, month = 1, and day = 1. If this value is not used, the current date is assumed. - - - Date and time are returned as a Coordinated Universal Time (UTC). If the input string denotes a local time, through a time zone specifier or , the date and time are converted from the local time to UTC. If the input string denotes a UTC time, through a time zone specifier or , no conversion occurs. If the input string does not denote a local or UTC time, no conversion occurs and the resulting property is . - - - If no time zone is specified in the parsed string, the string is assumed to denote a local time. - - - If no time zone is specified in the parsed string, the string is assumed to denote a UTC. - - - The field of a date is preserved when a object is converted to a string using the "o" or "r" standard format specifier, and the string is then converted back to a object. - - - Defines the period of daylight saving time. - - - Specifies the culture-specific display of digits. - - - The digit shape depends on the previous text in the same output. European digits follow Latin scripts; Arabic-Indic digits follow Arabic text; and Thai digits follow Thai text. - - - The digit shape is not changed. Full Unicode compatibility is maintained. - - - The digit shape is the native equivalent of the digits from 0 through 9. ASCII digits from 0 through 9 are replaced by equivalent native national digits. - - - Represents a calendar that divides time into months, days, years, and eras, and has dates that are based on cycles of the sun and the moon. - - - Provides globalization-related extension methods. - - - Represents the Gregorian calendar. - - - Defines the different language versions of the Gregorian calendar. - - - Refers to the localized version of the Gregorian calendar, based on the language of the that uses the . - - - Refers to the U.S. English version of the Gregorian calendar. - - - Refers to the Middle East French version of the Gregorian calendar. - - - Refers to the Arabic version of the Gregorian calendar. - - - Refers to the transliterated English version of the Gregorian calendar. - - - Refers to the transliterated French version of the Gregorian calendar. - - - Represents the Hebrew calendar. - - - Represents the Hijri calendar. - - - Supports the use of non-ASCII characters for Internet domain names. This class cannot be inherited. - - - Represents the Japanese calendar. - - - Represents time in divisions, such as months, days, and years. Years are calculated as for the Japanese calendar, while days and months are calculated using the lunisolar calendar. - - - Represents the Julian calendar. - - - Represents the Korean calendar. - - - Represents time in divisions, such as months, days, and years. Years are calculated using the Gregorian calendar, while days and months are calculated using the lunisolar calendar. - - - Provides culture-specific information for formatting and parsing numeric values. - - - Determines the styles permitted in numeric string arguments that are passed to the and methods of the integral and floating-point numeric types. - - - Indicates that no style elements, such as leading or trailing white space, thousands separators, or a decimal separator, can be present in the parsed string. The string to be parsed must consist of integral decimal digits only. - - - Indicates that leading white-space characters can be present in the parsed string. Valid white-space characters have the Unicode values U+0009, U+000A, U+000B, U+000C, U+000D, and U+0020. Note that this is a subset of the characters for which the method returns . - - - Indicates that trailing white-space characters can be present in the parsed string. Valid white-space characters have the Unicode values U+0009, U+000A, U+000B, U+000C, U+000D, and U+0020. Note that this is a subset of the characters for which the method returns . - - - Indicates that the numeric string can have a leading sign. Valid leading sign characters are determined by the and properties. - - - Indicates that the numeric string can have a trailing sign. Valid trailing sign characters are determined by the and properties. - - - Indicates that the numeric string can have one pair of parentheses enclosing the number. The parentheses indicate that the string to be parsed represents a negative number. - - - Indicates that the numeric string can have a decimal point. If the value includes the flag and the parsed string includes a currency symbol, the decimal separator character is determined by the property. Otherwise, the decimal separator character is determined by the property. - - - Indicates that the numeric string can have group separators, such as symbols that separate hundreds from thousands. If the value includes the flag and the string to be parsed includes a currency symbol, the valid group separator character is determined by the property, and the number of digits in each group is determined by the property. Otherwise, the valid group separator character is determined by the property, and the number of digits in each group is determined by the property. - - - Indicates that the numeric string can be in exponential notation. The flag allows the parsed string to contain an exponent that begins with the "E" or "e" character and that is followed by an optional positive or negative sign and an integer. In other words, it successfully parses strings in the form nnnExx, nnnE+xx, and nnnE-xx. It does not allow a decimal separator or sign in the significand or mantissa; to allow these elements in the string to be parsed, use the and flags, or use a composite style that includes these individual flags. - - - Indicates that the numeric string can contain a currency symbol. Valid currency symbols are determined by the property. - - - Indicates that the numeric string represents a hexadecimal value. Valid hexadecimal values include the numeric digits 0-9 and the hexadecimal digits A-F and a-f. Strings that are parsed using this style cannot be prefixed with "0x" or "&h". A string that is parsed with the style will always be interpreted as a hexadecimal value. The only flags that can be combined with are and . The enumeration includes a composite style, , that consists of these three flags. - - - Indicates that the , , and styles are used. This is a composite number style. - - - Indicates that the , , and styles are used. This is a composite number style. - - - Indicates that the , , , , , and styles are used. This is a composite number style. - - - Indicates that the , , , , and styles are used. This is a composite number style. - - - Indicates that all styles except and are used. This is a composite number style. - - - Indicates that all styles except are used. This is a composite number style. - - - Represents the Persian calendar. - - - Contains information about the country/region. - - - Represents the result of mapping a string to its sort key. - - - Provides information about the version of Unicode used to compare and order strings. - - - Provides functionality to split a string into text elements and to iterate through those text elements. - - - the Taiwan calendar. - - - Represents the Taiwan lunisolar calendar. As for the Taiwan calendar, years are calculated using the Gregorian calendar, while days and months are calculated using the lunisolar calendar. - - - Enumerates the text elements of a string. - - - Defines text properties and behaviors, such as casing, that are specific to a writing system. - - - Represents the Thai Buddhist calendar. - - - Defines the formatting options that customize string parsing for the and methods. - - - Indicates that input is interpreted as a negative time interval only if a negative sign is present. - - - Indicates that input is always interpreted as a negative time interval. - - - Represents the Saudi Hijri (Um Al Qura) calendar. - - - Defines the Unicode category of a character. - - - Uppercase letter. Signified by the Unicode designation "Lu" (letter, uppercase). The value is 0. - - - Lowercase letter. Signified by the Unicode designation "Ll" (letter, lowercase). The value is 1. - - - Titlecase letter. Signified by the Unicode designation "Lt" (letter, titlecase). The value is 2. - - - Modifier letter character, which is free-standing spacing character that indicates modifications of a preceding letter. Signified by the Unicode designation "Lm" (letter, modifier). The value is 3. - - - Letter that is not an uppercase letter, a lowercase letter, a titlecase letter, or a modifier letter. Signified by the Unicode designation "Lo" (letter, other). The value is 4. - - - Nonspacing character that indicates modifications of a base character. Signified by the Unicode designation "Mn" (mark, nonspacing). The value is 5. - - - Spacing character that indicates modifications of a base character and affects the width of the glyph for that base character. Signified by the Unicode designation "Mc" (mark, spacing combining). The value is 6. - - - Enclosing mark character, which is a nonspacing combining character that surrounds all previous characters up to and including a base character. Signified by the Unicode designation "Me" (mark, enclosing). The value is 7. - - - Decimal digit character, that is, a character in the range 0 through 9. Signified by the Unicode designation "Nd" (number, decimal digit). The value is 8. - - - Number represented by a letter, instead of a decimal digit, for example, the Roman numeral for five, which is "V". The indicator is signified by the Unicode designation "Nl" (number, letter). The value is 9. - - - Number that is neither a decimal digit nor a letter number, for example, the fraction 1/2. The indicator is signified by the Unicode designation "No" (number, other). The value is 10. - - - Space character, which has no glyph but is not a control or format character. Signified by the Unicode designation "Zs" (separator, space). The value is 11. - - - Character that is used to separate lines of text. Signified by the Unicode designation "Zl" (separator, line). The value is 12. - - - Character used to separate paragraphs. Signified by the Unicode designation "Zp" (separator, paragraph). The value is 13. - - - Control code character, with a Unicode value of U+007F or in the range U+0000 through U+001F or U+0080 through U+009F. Signified by the Unicode designation "Cc" (other, control). The value is 14. - - - Format character that affects the layout of text or the operation of text processes, but is not normally rendered. Signified by the Unicode designation "Cf" (other, format). The value is 15. - - - High surrogate or a low surrogate character. Surrogate code values are in the range U+D800 through U+DFFF. Signified by the Unicode designation "Cs" (other, surrogate). The value is 16. - - - Private-use character, with a Unicode value in the range U+E000 through U+F8FF. Signified by the Unicode designation "Co" (other, private use). The value is 17. - - - Connector punctuation character that connects two characters. Signified by the Unicode designation "Pc" (punctuation, connector). The value is 18. - - - Dash or hyphen character. Signified by the Unicode designation "Pd" (punctuation, dash). The value is 19. - - - Opening character of one of the paired punctuation marks, such as parentheses, square brackets, and braces. Signified by the Unicode designation "Ps" (punctuation, open). The value is 20. - - - Closing character of one of the paired punctuation marks, such as parentheses, square brackets, and braces. Signified by the Unicode designation "Pe" (punctuation, close). The value is 21. - - - Opening or initial quotation mark character. Signified by the Unicode designation "Pi" (punctuation, initial quote). The value is 22. - - - Closing or final quotation mark character. Signified by the Unicode designation "Pf" (punctuation, final quote). The value is 23. - - - Punctuation character that is not a connector, a dash, open punctuation, close punctuation, an initial quote, or a final quote. Signified by the Unicode designation "Po" (punctuation, other). The value is 24. - - - Mathematical symbol character, such as "+" or "= ". Signified by the Unicode designation "Sm" (symbol, math). The value is 25. - - - Currency symbol character. Signified by the Unicode designation "Sc" (symbol, currency). The value is 26. - - - Modifier symbol character, which indicates modifications of surrounding characters. For example, the fraction slash indicates that the number to the left is the numerator and the number to the right is the denominator. The indicator is signified by the Unicode designation "Sk" (symbol, modifier). The value is 27. - - - Symbol character that is not a mathematical symbol, a currency symbol or a modifier symbol. Signified by the Unicode designation "So" (symbol, other). The value is 28. - - - Character that is not assigned to any Unicode category. Signified by the Unicode designation "Cn" (other, not assigned). The value is 29. - - - Represents a globally unique identifier (GUID).To browse the .NET Framework source code for this type, see the Reference Source. - - - Represents assembly binding information that can be added to an instance of . - - - Represents the status of an asynchronous operation. - - - Supports cloning, which creates a new instance of a class with the same value as an existing instance. - - - Defines a generalized type-specific comparison method that a value type or class implements to order or sort its instances. - - - Defines a generalized comparison method that a value type or class implements to create a type-specific comparison method for ordering or sorting its instances. - The type of object to compare. - - - Defines methods that convert the value of the implementing reference or value type to a common language runtime type that has an equivalent value. - - - Defines a method that supports custom formatting of the value of an object. - - - Provides a mechanism for releasing unmanaged resources.To browse the .NET Framework source code for this type, see the Reference Source. - - - Defines a generalized method that a value type or class implements to create a type-specific method for determining equality of instances. - The type of objects to compare. - - - Provides a mechanism for retrieving an object to control formatting. - - - Provides functionality to format the value of an object into a string representation. - - - The exception that is thrown when an attempt is made to access an element of an array or collection with an index that is outside its bounds. - - - The exception that is thrown when there is insufficient execution stack available to allow most methods to execute. - - - The exception that is thrown when a check for sufficient available memory fails. This class cannot be inherited. - - - Represents a 16-bit signed integer. - - - Represents a 32-bit signed integer.To browse the .NET Framework source code for this type, see the Reference Source. - - - Represents a 64-bit signed integer. - - - A platform-specific type that is used to represent a pointer or a handle. - - - The exception that is thrown for invalid casting or explicit conversion. - - - The exception that is thrown when a method call is invalid for the object's current state. - - - The exception that is thrown when a program contains invalid Microsoft intermediate language (MSIL) or metadata. Generally this indicates a bug in the compiler that generated the program. - - - The exception that is thrown when time zone information is invalid. - - - Reads primitive data types as binary values in a specific encoding. - - - Writes primitive types in binary to a stream and supports writing strings in a specific encoding. - - - Adds a buffering layer to read and write operations on another stream. This class cannot be inherited. - - - Exposes static methods for creating, moving, and enumerating through directories and subdirectories. This class cannot be inherited.To browse the .NET Framework source code for this type, see the Reference Source. - - - Exposes instance methods for creating, moving, and enumerating through directories and subdirectories. This class cannot be inherited.To browse the .NET Framework source code for this type, see the Reference Source. - - - The exception that is thrown when part of a file or directory cannot be found. - - - Provides access to information on a drive. - - - The exception that is thrown when trying to access a drive or share that is not available. - - - Defines constants for drive types, including CDRom, Fixed, Network, NoRootDirectory, Ram, Removable, and Unknown. - - - The type of drive is unknown. - - - The drive does not have a root directory. - - - The drive is a removable storage device, such as a floppy disk drive or a USB flash drive. - - - The drive is a fixed disk. - - - The drive is a network drive. - - - The drive is an optical disc device, such as a CD or DVD-ROM. - - - The drive is a RAM disk. - - - The exception that is thrown when reading is attempted past the end of a stream. - - - Provides static methods for the creation, copying, deletion, moving, and opening of a single file, and aids in the creation of objects.To browse the .NET Framework source code for this type, see the Reference Source. - - - Defines constants for read, write, or read/write access to a file. - - - Read access to the file. Data can be read from the file. Combine with for read/write access. - - - Write access to the file. Data can be written to the file. Combine with for read/write access. - - - Read and write access to the file. Data can be written to and read from the file. - - - Provides attributes for files and directories. - - - The file is read-only. - - - The file is hidden, and thus is not included in an ordinary directory listing. - - - The file is a system file. That is, the file is part of the operating system or is used exclusively by the operating system. - - - The file is a directory. - - - The file is a candidate for backup or removal. - - - Reserved for future use. - - - The file is a standard file that has no special attributes. This attribute is valid only if it is used alone. - - - The file is temporary. A temporary file contains data that is needed while an application is executing but is not needed after the application is finished. File systems try to keep all the data in memory for quicker access rather than flushing the data back to mass storage. A temporary file should be deleted by the application as soon as it is no longer needed. - - - The file is a sparse file. Sparse files are typically large files whose data consists of mostly zeros. - - - The file contains a reparse point, which is a block of user-defined data associated with a file or a directory. - - - The file is compressed. - - - The file is offline. The data of the file is not immediately available. - - - The file will not be indexed by the operating system's content indexing service. - - - The file or directory is encrypted. For a file, this means that all data in the file is encrypted. For a directory, this means that encryption is the default for newly created files and directories. - - - The file or directory includes data integrity support. When this value is applied to a file, all data streams in the file have integrity support. When this value is applied to a directory, all new files and subdirectories within that directory, by default, include integrity support. - - - The file or directory is excluded from the data integrity scan. When this value is applied to a directory, by default, all new files and subdirectories within that directory are excluded from data integrity. - - - Provides properties and instance methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of objects. This class cannot be inherited.To browse the .NET Framework source code for this type, see the Reference Source. - - - The exception that is thrown when a managed assembly is found but cannot be loaded. - - - Specifies how the operating system should open a file. - - - Specifies that the operating system should create a new file. This requires permission. If the file already exists, an exception is thrown. - - - Specifies that the operating system should create a new file. If the file already exists, it will be overwritten. This requires permission. is equivalent to requesting that if the file does not exist, use ; otherwise, use . If the file already exists but is a hidden file, an exception is thrown. - - - Specifies that the operating system should open an existing file. The ability to open the file is dependent on the value specified by the enumeration. A exception is thrown if the file does not exist. - - - Specifies that the operating system should open a file if it exists; otherwise, a new file should be created. If the file is opened with , permission is required. If the file access is , permission is required. If the file is opened with , both and permissions are required. - - - Specifies that the operating system should open an existing file. When the file is opened, it should be truncated so that its size is zero bytes. This requires permission. Attempts to read from a file opened with cause an exception. - - - Opens the file if it exists and seeks to the end of the file, or creates a new file. This requires permission. can be used only in conjunction with . Trying to seek to a position before the end of the file throws an exception, and any attempt to read fails and throws a exception. - - - The exception that is thrown when an attempt to access a file that does not exist on disk fails. - - - Represents advanced options for creating a object. - - - Indicates that no additional options should be used when creating a object. - - - Indicates that the system should write through any intermediate cache and go directly to disk. - - - Indicates that a file can be used for asynchronous reading and writing. - - - Indicates that the file is accessed randomly. The system can use this as a hint to optimize file caching. - - - Indicates that a file is automatically deleted when it is no longer in use. - - - Indicates that the file is to be accessed sequentially from beginning to end. The system can use this as a hint to optimize file caching. If an application moves the file pointer for random access, optimum caching may not occur; however, correct operation is still guaranteed. - - - Indicates that a file is encrypted and can be decrypted only by using the same user account used for encryption. - - - Contains constants for controlling the kind of access other objects can have to the same file. - - - Declines sharing of the current file. Any request to open the file (by this process or another process) will fail until the file is closed. - - - Allows subsequent opening of the file for reading. If this flag is not specified, any request to open the file for reading (by this process or another process) will fail until the file is closed. However, even if this flag is specified, additional permissions might still be needed to access the file. - - - Allows subsequent opening of the file for writing. If this flag is not specified, any request to open the file for writing (by this process or another process) will fail until the file is closed. However, even if this flag is specified, additional permissions might still be needed to access the file. - - - Allows subsequent opening of the file for reading or writing. If this flag is not specified, any request to open the file for reading or writing (by this process or another process) will fail until the file is closed. However, even if this flag is specified, additional permissions might still be needed to access the file. - - - Allows subsequent deleting of a file. - - - Makes the file handle inheritable by child processes. This is not directly supported by Win32. - - - Provides a for a file, supporting both synchronous and asynchronous read and write operations.To browse the .NET Framework source code for this type, see the Reference Source. - - - Provides the base class for both and objects. - - - The exception that is thrown when an I/O error occurs. - - - Enables comparisons between an isolated store and an application domain and assembly's evidence. - - - Represents the abstract base class from which all isolated storage implementations must derive. - - - The exception that is thrown when an operation in isolated storage fails. - - - Represents an isolated storage area containing files and directories. - - - Exposes a file within isolated storage. - - - Enumerates the levels of isolated storage scope that are supported by . - - - No isolated storage usage. - - - Isolated storage scoped by user identity. - - - Isolated storage scoped to the application domain identity. - - - Isolated storage scoped to the identity of the assembly. - - - The isolated store can be placed in a location on the file system that might roam (if roaming user data is enabled on the underlying operating system). - - - Isolated storage scoped to the machine. - - - Isolated storage scoped to the application. - - - Specifies options that affect security in isolated storage. - - - The quota can be increased for isolated storage. - - - Provides settings for maintaining the quota size for isolated storage. - - - Creates a stream whose backing store is memory.To browse the .NET Framework source code for this type, see the Reference Source. - - - Performs operations on instances that contain file or directory path information. These operations are performed in a cross-platform manner.To browse the .NET Framework source code for this type, see the Reference Source. - - - The exception that is thrown when a path or fully qualified file name is longer than the system-defined maximum length. - - - Specifies whether to search the current directory, or the current directory and all subdirectories. - - - Includes only the current directory in a search operation. - - - Includes the current directory and all its subdirectories in a search operation. This option includes reparse points such as mounted drives and symbolic links in the search. - - - Specifies the position in a stream to use for seeking. - - - Specifies the beginning of a stream. - - - Specifies the current position within a stream. - - - Specifies the end of a stream. - - - Provides a generic view of a sequence of bytes. This is an abstract class.To browse the .NET Framework source code for this type, see the Reference Source. - - - Implements a that reads characters from a byte stream in a particular encoding.To browse the .NET Framework source code for this type, see the Reference Source. - - - Implements a for writing characters to a stream in a particular encoding.To browse the .NET Framework source code for this type, see the Reference Source. - - - Implements a that reads from a string. - - - Implements a for writing information to a string. The information is stored in an underlying . - - - Represents a reader that can read a sequential series of characters. - - - Represents a writer that can write a sequential series of characters. This class is abstract. - - - Provides random access to unmanaged blocks of memory from managed code. - - - Provides access to unmanaged blocks of memory from managed code. - - - Defines a provider for push-based notification. - The object that provides notification information. - - - Provides a mechanism for receiving push-based notifications. - The object that provides notification information. - - - Defines a provider for progress updates. - The type of progress update value. - - - Defines a mechanism for retrieving a service object; that is, an object that provides custom support to other objects. - - - Provides support for lazy initialization. - The type of object that is being lazily initialized. - - - An enumeration used with the class to specify loader optimizations for an executable. - - - Indicates that no optimizations for sharing internal resources are specified. If the default domain or hosting interface specified an optimization, then the loader uses that; otherwise, the loader uses . - - - Indicates that the application will probably have a single domain, and loader must not share internal resources across application domains. - - - Indicates that the application will probably have many domains that use the same code, and the loader must share maximal internal resources across application domains. - - - Indicates that the application will probably host unique code in multiple domains, and the loader must share resources across application domains only for globally available (strong-named) assemblies that have been added to the global assembly cache. - - - Do not use. This mask selects the domain-related values, screening out the unused flag. - - - Ignored by the common language runtime. - - - Used to set the default loader optimization policy for the main method of an executable application. - - - Encapsulates a memory slot to store local data. This class cannot be inherited. - - - Enables access to objects across application domain boundaries in applications that support remoting. - - - Provides constants and static methods for trigonometric, logarithmic, and other common mathematical functions.To browse the .NET Framework source code for this type, see the Reference Source. - - - The exception that is thrown when an attempt to access a class member fails. - - - The exception that is thrown when there is an invalid attempt to access a method, such as accessing a private method from partially trusted code. - - - Specifies how mathematical rounding methods should process a number that is midway between two numbers. - - - When a number is halfway between two others, it is rounded toward the nearest even number. - - - When a number is halfway between two others, it is rounded toward the nearest number that is away from zero. - - - The exception that is thrown when there is an attempt to dynamically access a field that does not exist. If a field in a class library has been removed or renamed, recompile any assemblies that reference that library. - - - The exception that is thrown when there is an attempt to dynamically access a class member that does not exist or that is not declared as public. If a member in a class library has been removed or renamed, recompile any assemblies that reference that library. - - - The exception that is thrown when there is an attempt to dynamically access a method that does not exist. - - - Represents a runtime handle for a module. - - - Indicates that the COM threading model for an application is multithreaded apartment (MTA). - - - Represents a multicast delegate; that is, a delegate that can have more than one element in its invocation list. - - - The exception that is thrown when there is an attempt to combine two delegates based on the type instead of the type. This class cannot be inherited. - - - Indicates that a field of a serializable class should not be serialized. This class cannot be inherited. - - - The exception that is thrown when a floating-point value is positive infinity, negative infinity, or Not-a-Number (NaN). - - - The exception that is thrown when a requested method or operation is not implemented. - - - The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. - - - Supports a value type that can be assigned . This class cannot be inherited. - - - Represents a value type that can be assigned . - The underlying value type of the generic type. - - - The exception that is thrown when there is an attempt to dereference a null object reference. - - - Supports all classes in the .NET Framework class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all classes in the .NET Framework; it is the root of the type hierarchy.To browse the .NET Framework source code for this type, see the Reference Source. - - - The exception that is thrown when an operation is performed on a disposed object. - - - Marks the program elements that are no longer in use. This class cannot be inherited. - - - Represents information about an operating system, such as the version and platform identifier. This class cannot be inherited. - - - The exception that is thrown in a thread upon cancellation of an operation that the thread was executing. - - - The exception that is thrown when there is not enough memory to continue the execution of a program. - - - The exception that is thrown when an arithmetic, casting, or conversion operation in a checked context results in an overflow. - - - Indicates that a method will allow a variable number of arguments in its invocation. This class cannot be inherited. - - - Identifies the operating system, or platform, supported by an assembly. - - - The operating system is Win32s. Win32s is a layer that runs on 16-bit versions of Windows to provide access to 32-bit applications. - - - The operating system is Windows 95 or Windows 98. - - - The operating system is Windows NT or later. - - - The operating system is Windows CE. - - - The operating system is Unix. - - - The development platform is Xbox 360. - - - The operating system is Macintosh. - - - The exception that is thrown when a feature does not run on a particular platform. - - - Represents the method that defines a set of criteria and determines whether the specified object meets those criteria. - The object to compare against the criteria defined within the method represented by this delegate. - The type of the object to compare. - - if meets the criteria defined within the method represented by this delegate; otherwise, . - - - Provides an that invokes callbacks for each reported progress value. - Specifies the type of the progress report value. - - - Represents a pseudo-random number generator, which is a device that produces a sequence of numbers that meet certain statistical requirements for randomness.To browse the .NET Framework source code for this type, see the Reference Source. - - - The exception that is thrown when an array with the wrong number of dimensions is passed to a method. - - - The exception that is thrown when binding to a member results in more than one member matching the binding criteria. This class cannot be inherited. - - - Represents an assembly, which is a reusable, versionable, and self-describing building block of a common language runtime application. - - - Specifies an algorithm to hash all files in an assembly. This class cannot be inherited. - - - Defines a company name custom attribute for an assembly manifest. - - - Specifies the build configuration, such as retail or debug, for an assembly. - - - Provides information about the type of code contained in an assembly. - - - The assembly contains .NET Framework code. - - - The assembly contains Windows Runtime code. - - - Defines a copyright custom attribute for an assembly manifest. - - - Specifies which culture the assembly supports. - - - Defines a friendly default alias for an assembly manifest. - - - Specifies that the assembly is not fully signed when created. - - - Provides a text description for an assembly. - - - Instructs a compiler to use a specific version number for the Win32 file version resource. The Win32 file version is not required to be the same as the assembly's version number. - - - Specifies a bitwise combination of flags for an assembly, describing just-in-time (JIT) compiler options, whether the assembly is retargetable, and whether it has a full or tokenized public key. This class cannot be inherited. - - - Defines additional version information for an assembly manifest. - - - Specifies the name of a file containing the key pair used to generate a strong name. - - - Specifies the name of a key container within the CSP containing the key pair used to generate a strong name. - - - Defines a key/value metadata pair for the decorated assembly. - - - Describes an assembly's unique identity in full. - - - Provides information about an reference. - - - Specifies that no flags are in effect. - - - Specifies that a public key is formed from the full public key rather than the public key token. - - - Specifies that just-in-time (JIT) compiler optimization is disabled for the assembly. This is the exact opposite of the meaning that is suggested by the member name. - - - Specifies that just-in-time (JIT) compiler tracking is enabled for the assembly. - - - Specifies that the assembly can be retargeted at runtime to an assembly from a different publisher. This value supports the .NET Framework infrastructure and is not intended to be used directly from your code. - - - Provides a remotable version of the . - - - Defines a product name custom attribute for an assembly manifest. - - - Provides migration from an older, simpler strong name key to a larger key with a stronger hashing algorithm. - - - Specifies a description for an assembly. - - - Defines a trademark custom attribute for an assembly manifest. - - - Specifies the version of the assembly being attributed. - - - Selects a member from a list of candidates, and performs type conversion from actual argument type to formal argument type. - - - Specifies flags that control binding and the way in which the search for members and types is conducted by reflection. - - - Specifies that no binding flags are defined. - - - Specifies that the case of the member name should not be considered when binding. - - - Specifies that only members declared at the level of the supplied type's hierarchy should be considered. Inherited members are not considered. - - - Specifies that instance members are to be included in the search. - - - Specifies that static members are to be included in the search. - - - Specifies that public members are to be included in the search. - - - Specifies that non-public members are to be included in the search. - - - Specifies that public and protected static members up the hierarchy should be returned. Private static members in inherited classes are not returned. Static members include fields, methods, events, and properties. Nested types are not returned. - - - Specifies that a method is to be invoked. This must not be a constructor or a type initializer.This flag is passed to an method to invoke a method. - - - Specifies that reflection should create an instance of the specified type. Calls the constructor that matches the given arguments. The supplied member name is ignored. If the type of lookup is not specified, (Instance | Public) will apply. It is not possible to call a type initializer.This flag is passed to an method to invoke a constructor. - - - Specifies that the value of the specified field should be returned.This flag is passed to an method to get a field value. - - - Specifies that the value of the specified field should be set.This flag is passed to an method to set a field value. - - - Specifies that the value of the specified property should be returned.This flag is passed to an method to invoke a property getter. - - - Specifies that the value of the specified property should be set. For COM properties, specifying this binding flag is equivalent to specifying and .This flag is passed to an method to invoke a property setter. - - - Specifies that the member on a COM object should be invoked. specifies a property-setting function that uses a value. Use if a property has both and and you need to distinguish which one is called. - - - Specifies that the member on a COM object should be invoked. specifies a property-setting function that uses a reference instead of a value. Use if a property has both and and you need to distinguish which one is called. - - - Specifies that types of the supplied arguments must exactly match the types of the corresponding formal parameters. Reflection throws an exception if the caller supplies a non-null object, since that implies that the caller is supplying implementations that will pick the appropriate method. - - - Not implemented. - - - Returns the set of members whose parameter count matches the number of supplied arguments. This binding flag is used for methods with parameters that have default values and methods with variable arguments (varargs). This flag should only be used with . - - - Used in COM interop to specify that the return value of the member can be ignored. - - - Defines the valid calling conventions for a method. - - - Specifies the default calling convention as determined by the common language runtime. Use this calling convention for static methods. For instance or virtual methods use . - - - Specifies the calling convention for methods with variable arguments. - - - Specifies that either the or the calling convention may be used. - - - Specifies an instance or virtual method (not a static method). At run-time, the called method is passed a pointer to the target object as its first argument (the pointer). The signature stored in metadata does not include the type of this first argument, because the method is known and its owner class can be discovered from metadata. - - - Specifies that the signature is a function-pointer signature, representing a call to an instance or virtual method (not a static method). If is set, must also be set. The first argument passed to the called method is still a pointer, but the type of the first argument is now unknown. Therefore, a token that describes the type (or class) of the pointer is explicitly stored into its metadata signature. - - - Discovers the attributes of a class constructor and provides access to constructor metadata. - - - Provides access to custom attribute data for assemblies, modules, types, members and parameters that are loaded into the reflection-only context. - - - Contains static methods for retrieving custom attributes. - - - The exception that is thrown when the binary format of a custom attribute is invalid. - - - Represents a named argument of a custom attribute in the reflection-only context. - - - Represents an argument of a custom attribute in the reflection-only context, or an element of an array argument. - - - Defines the member of a type that is the default member used by . - - - Defines and represents a dynamic assembly. - - - Defines the access modes for a dynamic assembly. - - - The dynamic assembly can be executed, but not saved. - - - The dynamic assembly can be saved, but not executed. - - - The dynamic assembly can be executed and saved. - - - - - The dynamic assembly is loaded into the reflection-only context, and cannot be executed. - - - The dynamic assembly can be unloaded and its memory reclaimed, subject to the restrictions described in Collectible Assemblies for Dynamic Type Generation. - - - Defines and represents a constructor of a dynamic class. - - - Helps build custom attributes. - - - Provides support for alternative ways to generate the Microsoft intermediate language (MSIL) and metadata for a dynamic method, including methods for creating tokens and for inserting the code, exception handling, and local variable signature blobs. - - - Defines and represents a dynamic method that can be compiled, executed, and discarded. Discarded methods are available for garbage collection. - - - Describes and represents an enumeration type. - - - Defines events for a class. - - - Represents the returned by the metadata to represent an event. - - - Represents an exception handler in a byte array of IL to be passed to a method such as . - - - Defines and represents a field. This class cannot be inherited. - - - The struct is an object representation of a token that represents a field. - - - Describes how an instruction alters the flow of control. - - - Branch instruction. - - - Break instruction. - - - Call instruction. - - - Conditional branch instruction. - - - Provides information about a subsequent instruction. For example, the instruction of has and specifies that the subsequent pointer instruction might be unaligned. - - - Normal flow of control. - - - This enumerator value is reserved and should not be used. - - - Return instruction. - - - Exception throw instruction. - - - Defines and creates generic type parameters for dynamically defined generic types and methods. This class cannot be inherited. - - - Generates Microsoft intermediate language (MSIL) instructions. - - - Represents a label in the instruction stream. is used in conjunction with the class. - - - Represents a local variable within a method or constructor. - - - Defines and represents a method (or constructor) on a dynamic class. - - - Provides a fast way to swap method body implementation given a method of a class. - - - The struct is an object representation of a token that represents a method. - - - Defines and represents a module in a dynamic assembly. - - - Describes an intermediate language (IL) instruction. - - - Provides field representations of the Microsoft Intermediate Language (MSIL) instructions for emission by the class members (such as ). - - - Describes the types of the Microsoft intermediate language (MSIL) instructions. - - - This enumerator value is reserved and should not be used. - - - These are Microsoft intermediate language (MSIL) instructions that are used as a synonym for other MSIL instructions. For example, represents the instruction with an argument of 0. - - - Describes a reserved Microsoft intermediate language (MSIL) instruction. - - - Describes a Microsoft intermediate language (MSIL) instruction that applies to objects. - - - Describes a prefix instruction that modifies the behavior of the following instruction. - - - Describes a built-in instruction. - - - Describes the operand type of Microsoft intermediate language (MSIL) instruction. - - - The operand is a 32-bit integer branch target. - - - The operand is a 32-bit metadata token. - - - The operand is a 32-bit integer. - - - The operand is a 64-bit integer. - - - The operand is a 32-bit metadata token. - - - No operand. - - - The operand is reserved and should not be used. - - - The operand is a 64-bit IEEE floating point number. - - - The operand is a 32-bit metadata signature token. - - - The operand is a 32-bit metadata string token. - - - The operand is the 32-bit integer argument to a switch instruction. - - - The operand is a , , or token. - - - The operand is a 32-bit metadata token. - - - The operand is 16-bit integer containing the ordinal of a local variable or an argument. - - - The operand is an 8-bit integer branch target. - - - The operand is an 8-bit integer. - - - The operand is a 32-bit IEEE floating point number. - - - The operand is an 8-bit integer containing the ordinal of a local variable or an argumenta. - - - Specifies one of two factors that determine the memory alignment of fields when a type is marshaled. - - - The packing size is not specified. - - - The packing size is 1 byte. - - - The packing size is 2 bytes. - - - The packing size is 4 bytes. - - - The packing size is 8 bytes. - - - The packing size is 16 bytes. - - - The packing size is 32 bytes. - - - The packing size is 64 bytes. - - - The packing size is 128 bytes. - - - Creates or associates parameter information. - - - The struct is an opaque representation of the token returned by the metadata to represent a parameter. - - - Specifies the type of the portable executable (PE) file. - - - The portable executable (PE) file is a DLL. - - - The application is a console (not a Windows-based) application. - - - The application is a Windows-based application. - - - Defines the properties for a type. - - - The struct is an opaque representation of the returned by the metadata to represent a property. - - - Provides methods for building signatures. - - - Represents the returned by the metadata to represent a signature. - - - Describes how values are pushed onto a stack or popped off a stack. - - - No values are popped off the stack. - - - Pops one value off the stack. - - - Pops 1 value off the stack for the first operand, and 1 value of the stack for the second operand. - - - Pops a 32-bit integer off the stack. - - - Pops a 32-bit integer off the stack for the first operand, and a value off the stack for the second operand. - - - Pops a 32-bit integer off the stack for the first operand, and a 32-bit integer off the stack for the second operand. - - - Pops a 32-bit integer off the stack for the first operand, and a 64-bit integer off the stack for the second operand. - - - Pops a 32-bit integer off the stack for the first operand, a 32-bit integer off the stack for the second operand, and a 32-bit integer off the stack for the third operand. - - - Pops a 32-bit integer off the stack for the first operand, and a 32-bit floating point number off the stack for the second operand. - - - Pops a 32-bit integer off the stack for the first operand, and a 64-bit floating point number off the stack for the second operand. - - - Pops a reference off the stack. - - - Pops a reference off the stack for the first operand, and a value off the stack for the second operand. - - - Pops a reference off the stack for the first operand, and a 32-bit integer off the stack for the second operand. - - - Pops a reference off the stack for the first operand, a value off the stack for the second operand, and a value off the stack for the third operand. - - - Pops a reference off the stack for the first operand, a value off the stack for the second operand, and a 64-bit integer off the stack for the third operand. - - - Pops a reference off the stack for the first operand, a value off the stack for the second operand, and a 32-bit integer off the stack for the third operand. - - - Pops a reference off the stack for the first operand, a value off the stack for the second operand, and a 64-bit floating point number off the stack for the third operand. - - - Pops a reference off the stack for the first operand, a value off the stack for the second operand, and a reference off the stack for the third operand. - - - No values are pushed onto the stack. - - - Pushes one value onto the stack. - - - Pushes 1 value onto the stack for the first operand, and 1 value onto the stack for the second operand. - - - Pushes a 32-bit integer onto the stack. - - - Pushes a 64-bit integer onto the stack. - - - Pushes a 32-bit floating point number onto the stack. - - - Pushes a 64-bit floating point number onto the stack. - - - Pushes a reference onto the stack. - - - Pops a variable off the stack. - - - Pushes a variable onto the stack. - - - Pops a reference off the stack for the first operand, a value off the stack for the second operand, and a 32-bit integer off the stack for the third operand. - - - Represents a token that represents a string. - - - Defines and creates new instances of classes during run time. - - - Represents the returned by the metadata to represent a type. - - - Represents the class that describes how to marshal a field from managed to unmanaged code. This class cannot be inherited. - - - Specifies the attributes of an event. - - - Specifies that the event has no attributes. - - - Specifies that the event is special in a way described by the name. - - - Specifies a reserved flag for common language runtime use only. - - - Specifies that the common language runtime should check name encoding. - - - Discovers the attributes of an event and provides access to event metadata. - - - Represents a clause in a structured exception-handling block. - - - Identifies kinds of exception-handling clauses. - - - The clause accepts all exceptions that derive from a specified type. - - - The clause contains user-specified instructions that determine whether the exception should be ignored (that is, whether normal execution should resume), be handled by the associated handler, or be passed on to the next clause. - - - The clause is executed whenever the try block exits, whether through normal control flow or because of an unhandled exception. - - - The clause is executed if an exception occurs, but not on completion of normal control flow. - - - Specifies flags that describe the attributes of a field. - - - Specifies the access level of a given field. - - - Specifies that the field cannot be referenced. - - - Specifies that the field is accessible only by the parent type. - - - Specifies that the field is accessible only by subtypes in this assembly. - - - Specifies that the field is accessible throughout the assembly. - - - Specifies that the field is accessible only by type and subtypes. - - - Specifies that the field is accessible by subtypes anywhere, as well as throughout this assembly. - - - Specifies that the field is accessible by any member for whom this scope is visible. - - - Specifies that the field represents the defined type, or else it is per-instance. - - - Specifies that the field is initialized only, and can be set only in the body of a constructor. - - - Specifies that the field's value is a compile-time (static or early bound) constant. Any attempt to set it throws a . - - - Specifies that the field does not have to be serialized when the type is remoted. - - - Specifies a special method, with the name describing how the method is special. - - - Reserved for future use. - - - Reserved. - - - Specifies that the common language runtime (metadata internal APIs) should check the name encoding. - - - Specifies that the field has marshaling information. - - - Specifies that the field has a default value. - - - Specifies that the field has a relative virtual address (RVA). The RVA is the location of the method body in the current image, as an address relative to the start of the image file in which it is located. - - - Discovers the attributes of a field and provides access to field metadata. - - - Describes the constraints on a generic type parameter of a generic type or method. - - - There are no special flags. - - - Selects the combination of all variance flags. This value is the result of using logical OR to combine the following flags: and . - - - The generic type parameter is covariant. A covariant type parameter can appear as the result type of a method, the type of a read-only field, a declared base type, or an implemented interface. - - - The generic type parameter is contravariant. A contravariant type parameter can appear as a parameter type in method signatures. - - - Selects the combination of all special constraint flags. This value is the result of using logical OR to combine the following flags: , , and . - - - A type can be substituted for the generic type parameter only if it is a reference type. - - - A type can be substituted for the generic type parameter only if it is a value type and is not nullable. - - - A type can be substituted for the generic type parameter only if it has a parameterless constructor. - - - Provides custom attributes for reflection objects that support them. - - - Identifies the platform targeted by an executable. - - - Targets a 32-bit Intel processor. - - - Targets a 64-bit Intel processor. - - - Targets a 64-bit AMD processor. - - - Targets an ARM processor. - - - Retrieves the mapping of an interface into the actual methods on a class that implements that interface. - - - Contains methods for converting objects. - - - The exception that is thrown in when the filter criteria is not valid for the type of filter you are using. - - - Interoperates with the IDispatch interface. - - - Represents a type that you can reflect over. - - - Discovers the attributes of a local variable and provides access to local variable metadata. - - - Provides access to manifest resources, which are XML files that describe application dependencies. - - - Represents a delegate that is used to filter a list of members represented in an array of objects. - The object to which the filter is applied. - An arbitrary object used to filter the list. - - to include the member in the filtered list; otherwise . - - - Obtains information about the attributes of a member and provides access to member metadata. - - - Marks each type of member that is defined as a derived class of . - - - Specifies that the member is a constructor - - - Specifies that the member is an event. - - - Specifies that the member is a field. - - - Specifies that the member is a method. - - - Specifies that the member is a property. - - - Specifies that the member is a type. - - - Specifies that the member is a custom member type. - - - Specifies that the member is a nested type. - - - Specifies all member types. - - - Specifies flags for method attributes. These flags are defined in the corhdr.h file. - - - Retrieves accessibility information. - - - Indicates that the member cannot be referenced. - - - Indicates that the method is accessible only to the current class. - - - Indicates that the method is accessible to members of this type and its derived types that are in this assembly only. - - - Indicates that the method is accessible to any class of this assembly. - - - Indicates that the method is accessible only to members of this class and its derived classes. - - - Indicates that the method is accessible to derived classes anywhere, as well as to any class in the assembly. - - - Indicates that the method is accessible to any object for which this object is in scope. - - - Indicates that the method is defined on the type; otherwise, it is defined per instance. - - - Indicates that the method cannot be overridden. - - - Indicates that the method is virtual. - - - Indicates that the method hides by name and signature; otherwise, by name only. - - - Indicates that the method can only be overridden when it is also accessible. - - - Retrieves vtable attributes. - - - Indicates that the method will reuse an existing slot in the vtable. This is the default behavior. - - - Indicates that the method always gets a new slot in the vtable. - - - Indicates that the class does not provide an implementation of this method. - - - Indicates that the method is special. The name describes how this method is special. - - - Indicates that the method implementation is forwarded through PInvoke (Platform Invocation Services). - - - Indicates that the managed method is exported by thunk to unmanaged code. - - - Indicates that the common language runtime checks the name encoding. - - - Indicates a reserved flag for runtime use only. - - - Indicates that the method has security associated with it. Reserved flag for runtime use only. - - - Indicates that the method calls another method containing security code. Reserved flag for runtime use only. - - - Provides information about methods and constructors. - - - Provides access to the metadata and MSIL for the body of a method. - - - Specifies flags for the attributes of a method implementation. - - - Specifies flags about code type. - - - Specifies that the method implementation is in Microsoft intermediate language (MSIL). - - - Specifies that the method implementation is native. - - - Specifies that the method implementation is in Optimized Intermediate Language (OPTIL). - - - Specifies that the method implementation is provided by the runtime. - - - Specifies whether the method is implemented in managed or unmanaged code. - - - Specifies that the method is implemented in unmanaged code. - - - Specifies that the method is implemented in managed code. - - - Specifies that the method is not defined. - - - Specifies that the method signature is exported exactly as declared. - - - Specifies an internal call. - - - Specifies that the method is single-threaded through the body. Static methods ( in Visual Basic) lock on the type, whereas instance methods lock on the instance. You can also use the C# lock statement or the Visual Basic SyncLock statement for this purpose. - - - Specifies that the method cannot be inlined. - - - Specifies that the method should be inlined wherever possible. - - - Specifies that the method is not optimized by the just-in-time (JIT) compiler or by native code generation (see Ngen.exe) when debugging possible code generation problems. - - - Specifies a range check value. - - - Discovers the attributes of a method and provides access to method metadata. - - - Represents a missing . This class cannot be inherited. - - - Performs reflection on a module. - - - Represents the method that will handle the event of an . - The assembly that was the source of the event. - The arguments supplied by the object describing the event. - The module that satisfies the request. - - - Instructs obfuscation tools to use their standard obfuscation rules for the appropriate assembly type. - - - Instructs obfuscation tools to take the specified actions for an assembly, type, or member. - - - Defines the attributes that can be associated with a parameter. These are defined in CorHdr.h. - - - Specifies that there is no parameter attribute. - - - Specifies that the parameter is an input parameter. - - - Specifies that the parameter is an output parameter. - - - Specifies that the parameter is a locale identifier (lcid). - - - Specifies that the parameter is a return value. - - - Specifies that the parameter is optional. - - - Specifies that the parameter is reserved. - - - Specifies that the parameter has a default value. - - - Specifies that the parameter has field marshaling information. - - - Reserved. - - - Reserved. - - - Discovers the attributes of a parameter and provides access to parameter metadata. - - - Attaches a modifier to parameters so that binding can work with parameter signatures in which the types have been modified. - - - Provides a wrapper class for pointers. - - - Identifies the nature of the code in an executable file. - - - The file is not in portable executable (PE) file format. - - - The executable contains only Microsoft intermediate language (MSIL), and is therefore neutral with respect to 32-bit or 64-bit platforms. - - - The executable can be run on a 32-bit platform, or in the 32-bit Windows on Windows (WOW) environment on a 64-bit platform. - - - The executable requires a 64-bit platform. - - - The executable contains pure unmanaged code. - - - The executable is platform-agnostic but should be run on a 32-bit platform whenever possible. - - - Identifies the processor and bits-per-word of the platform targeted by an executable. - - - An unknown or unspecified combination of processor and bits-per-word. - - - Neutral with respect to processor and bits-per-word. - - - A 32-bit Intel processor, either native or in the Windows on Windows environment on a 64-bit platform (WOW64). - - - A 64-bit Intel processor only. - - - A 64-bit AMD processor only. - - - An ARM processor. - - - Defines the attributes that can be associated with a property. These attribute values are defined in corhdr.h. - - - Specifies that no attributes are associated with a property. - - - Specifies that the property is special, with the name describing how the property is special. - - - Specifies a flag reserved for runtime use only. - - - Specifies that the metadata internal APIs check the name encoding. - - - Specifies that the property has a default value. - - - Reserved. - - - Reserved. - - - Reserved. - - - Discovers the attributes of a property and provides access to property metadata. - - - Represents a context that can provide reflection objects. - - - The exception that is thrown by the method if any of the classes in a module cannot be loaded. This class cannot be inherited. - - - Specifies the attributes for a manifest resource. - - - A mask used to retrieve public manifest resources. - - - A mask used to retrieve private manifest resources. - - - Specifies the resource location. - - - Specifies an embedded (that is, non-linked) resource. - - - Specifies that the resource is contained in another assembly. - - - Specifies that the resource is contained in the manifest file. - - - Provides methods that retrieve information about types at run time. - - - Encapsulates access to a public or private key pair used to sign strong name assemblies. - - - Represents the exception that is thrown when an attempt is made to invoke an invalid target. - - - The exception that is thrown by methods invoked through reflection. This class cannot be inherited. - - - The exception that is thrown when the number of parameters for an invocation does not match the number expected. This class cannot be inherited. - - - Specifies type attributes. - - - Specifies type visibility information. - - - Specifies that the class is not public. - - - Specifies that the class is public. - - - Specifies that the class is nested with public visibility. - - - Specifies that the class is nested with private visibility. - - - Specifies that the class is nested with family visibility, and is thus accessible only by methods within its own type and any derived types. - - - Specifies that the class is nested with assembly visibility, and is thus accessible only by methods within its assembly. - - - Specifies that the class is nested with assembly and family visibility, and is thus accessible only by methods lying in the intersection of its family and assembly. - - - Specifies that the class is nested with family or assembly visibility, and is thus accessible only by methods lying in the union of its family and assembly. - - - Specifies class layout information. - - - Specifies that class fields are automatically laid out by the common language runtime. - - - Specifies that class fields are laid out sequentially, in the order that the fields were emitted to the metadata. - - - Specifies that class fields are laid out at the specified offsets. - - - Specifies class semantics information; the current class is contextful (else agile). - - - Specifies that the type is a class. - - - Specifies that the type is an interface. - - - Specifies that the type is abstract. - - - Specifies that the class is concrete and cannot be extended. - - - Specifies that the class is special in a way denoted by the name. - - - Specifies that the class or interface is imported from another module. - - - Specifies that the class can be serialized. - - - Specifies a Windows Runtime type. - - - Used to retrieve string information for native interoperability. - - - LPTSTR is interpreted as ANSI. - - - LPTSTR is interpreted as UNICODE. - - - LPTSTR is interpreted automatically. - - - LPSTR is interpreted by some implementation-specific means, which includes the possibility of throwing a . Not used in the Microsoft implementation of the .NET Framework. - - - Used to retrieve non-standard encoding information for native interop. The meaning of the values of these 2 bits is unspecified. Not used in the Microsoft implementation of the .NET Framework. - - - Specifies that calling static methods of the type does not force the system to initialize the type. - - - Attributes reserved for runtime use. - - - Runtime should check name encoding. - - - Type has security associate with it. - - - Wraps a object and delegates methods to that . - - - Filters the classes represented in an array of objects. - The object to which the filter is applied. - An arbitrary object used to filter the list. - - to include the in the filtered list; otherwise . - - - Represents type declarations for class types, interface types, array types, value types, enumeration types, type parameters, generic type definitions, and open or closed constructed generic types. - - - Provides data for loader resolution events, such as the , , , and events. - - - Represents a method that handles the , , or event of an . - The source of the event. - The event data. - The assembly that resolves the type, assembly, or resource; or if the assembly cannot be resolved. - - - Provides the base functionality for reading data from resource files. - - - Provides the base functionality for writing resources to an output file or stream. - - - The exception that is thrown if the main assembly does not contain the resources for the neutral culture, and an appropriate satellite assembly is missing. - - - The exception that is thrown when the satellite assembly for the resources of the default culture is missing. - - - Informs the resource manager of an app's default culture. This class cannot be inherited. - - - Represents a resource manager that provides convenient access to culture-specific resources at run time. - Security Note: Calling methods in this class with untrusted data is a security risk. Call the methods in the class only with trusted data. For more information, see Untrusted Data Security Risks. - - - Enumerates the resources in a binary resources (.resources) file by reading sequential resource name/value pairs. - Security Note: Calling methods in this class with untrusted data is a security risk. Call the methods in the class only with trusted data. For more information, see Untrusted Data Security Risks. - - - Stores all the resources localized for one particular culture, ignoring all other cultures, including any fallback rules. - Security Note: Calling methods in this class with untrusted data is a security risk. Call the methods in the class only with trusted data. For more information, see Untrusted Data Security Risks. - - - Writes resources in the system-default format to an output file or an output stream. This class cannot be inherited. - - - Instructs a object to ask for a particular version of a satellite assembly. - - - Specifies whether a object looks for the resources of the app's default culture in the main assembly or in a satellite assembly. - - - Fallback resources are located in the main assembly. - - - Fallback resources are located in a satellite assembly. - - - Specifies patch band information for targeted patching of the .NET Framework. - - - Specifies the name of the property that accesses the attributed field. - - - Indicates whether a method is marked with either the Async (Visual Basic) or async (C# Reference) modifier. - - - Represents a builder for asynchronous methods that return a task. - - - Represents a builder for asynchronous methods that returns a task and provides a parameter for the result. - The result to use to complete the task. - - - Represents a builder for asynchronous methods that do not return a value. - - - Indicates that a method should use the calling convention. - - - This calling convention is not supported in this version of the .NET Framework. - - - Indicates that a method should use the calling convention. - - - Indicates that a method should use the calling convention. - - - Allows you to obtain the full path of the source file that contains the caller. This is the file path at the time of compile. - - - Allows you to obtain the line number in the source file at which the method is called. - - - Allows you to obtain the method or property name of the caller to the method. - - - Specifies parameters that control the strictness of the code generated by the common language runtime's just-in-time (JIT) compiler. - - - Marks an assembly as not requiring string-literal interning. - - - Controls the strictness of the code generated by the common language runtime's just-in-time (JIT) compiler. - - - Distinguishes a compiler-generated element from a user-generated element. This class cannot be inherited. - - - Indicates that a class should be treated as if it has global scope. - - - Indicates that the modified instance of a variable differs from its true type when marshaling. This class cannot be inherited. - - - Enables compilers to dynamically attach object fields to managed objects. - The reference type to which the field is attached. - The field's type. This must be a reference type. - - - Represents a method that creates a non-default value to add as part of a key/value pair to a object. - The key that belongs to the value to create. - An instance of a reference type that represents the value to attach to the specified key. - - - Provides an awaitable object that enables configured awaits on a task. - - - Provides an awaiter for an awaitable () object. - - - Provides an awaitable object that enables configured awaits on a task. - The type of the result produced by this . - - - Provides an awaiter for an awaitable object(). - - - Provides methods that the binary rewriter uses to handle contract failures. - - - Defines a constant value that a compiler can persist for a field or method parameter. - - - Persists an 8-byte constant for a field or parameter. - - - Stores the value of a constant in metadata. This class cannot be inherited. - - - Provides a hint to the common language runtime (CLR) indicating how likely a dependency is to be loaded. This class is used in a dependent assembly to indicate what hint should be used when the parent does not specify the attribute. This class cannot be inherited. - - - Indicates when a dependency is to be loaded by the referring assembly. This class cannot be inherited. - - - Indicates that any private members contained in an assembly's types are not available to reflection. - - - Marks a type definition as discardable. - - - Indicates that a method is an extension method, or that a class or assembly contains extension methods. - - - Fixes the address of a static value type field throughout its lifetime. This class cannot be inherited. - - - Indicates that a field should be treated as containing a fixed number of elements of the specified primitive type. This class cannot be inherited. - - - Provides a static method to create a object from a composite format string and its arguments. - - - This class is not used in the .NET Framework version 2.0 and is reserved for future use. This class cannot be inherited. - - - Represents state machines that are generated for asynchronous methods. This type is intended for compiler use only. - - - Represents an awaiter that schedules continuations when an await operation completes. - - - Indicates that the default value for the attributed field or parameter is an instance of , where the is . - - - Indicates the name by which an indexer is known in programming languages that do not support indexers directly. - - - Represents an operation that schedules continuations when it completes. - - - Specifies that types that are ordinarily visible only within the current assembly are visible to a specified assembly. - - - Indicates that the modified reference type is a boxed value type. This class cannot be inherited. - - - Indicates that a structure is byref-like. - - - Indicates that a modified method argument should be interpreted as having object passed-by-value semantics. This modifier is applied to reference types. This class cannot be inherited. - - - Indicates that the modified type has a modifier. This class cannot be inherited. - - - Indicates that any copying of values of this type must use the copy constructor provided by the type. This class cannot be inherited. - - - Indicates that a managed pointer represents a pointer parameter within a method signature. This class cannot be inherited. - - - Indicates that the modified garbage collection reference represents a reference parameter within a method signature. This class cannot be inherited. - - - Indicates that a modified method is an intrinsic value for which the just-in-time (JIT) compiler can perform special code generation. This class cannot be inherited. - - - Indicates that a modified integer is a standard C++ value. This class cannot be inherited. - - - Indicates that a modified instance is pinned in memory. This class cannot be inherited. - - - Marks a program element as read-only. - - - Indicates that a modifier is neither signed nor unsigned. This class cannot be inherited. - - - Indicates that a return type is a user-defined type. This class cannot be inherited. - - - Marks a field as volatile. This class cannot be inherited. - - - Indicates whether a method in Visual Basic is marked with the modifier. - - - Defines a general-purpose Tuple implementation that allows acccess to Tuple instance members without knowing the underlying Tuple type. - - - Indicates that the default value for the attributed field or parameter is an instance of , where the is . This class cannot be inherited. - - - Specifies the preferred default binding for a dependent assembly. - - - No preference specified. - - - The dependency is always loaded. - - - The dependency is sometimes loaded. - - - Defines how a method is implemented. - - - Specifies that the method implementation is in Microsoft intermediate language (MSIL). - - - Specifies that the method is implemented in native code. - - - Specifies that the method implementation is in optimized intermediate language (OPTIL). - - - Specifies that the method implementation is provided by the runtime. - - - Specifies the details of how a method is implemented. This class cannot be inherited. - - - Defines the details of how a method is implemented. - - - The method is implemented in unmanaged code. - - - The method is declared, but its implementation is provided elsewhere. - - - The method signature is exported exactly as declared. - - - The call is internal, that is, it calls a method that is implemented within the common language runtime. - - - The method can be executed by only one thread at a time. Static methods lock on the type, whereas instance methods lock on the instance. Only one thread can execute in any of the instance functions, and only one thread can execute in any of a class's static functions. - - - The method cannot be inlined. Inlining is an optimization by which a method call is replaced with the method body. - - - The method should be inlined if possible. - - - The method is not optimized by the just-in-time (JIT) compiler or by native code generation (see Ngen.exe) when debugging possible code generation problems. - - - Applies metadata to an assembly that indicates that a type is an unmanaged type. This class cannot be inherited. - - - Identifies an assembly as a reference assembly, which contains metadata but no executable code. - - - Specifies that an importing compiler must fully understand the semantics of a type definition, or refuse to use it. This class cannot be inherited. - - - Specifies whether to wrap exceptions that do not derive from the class with a object. This class cannot be inherited. - - - A class whose static method checks whether a specified feature is supported by the common language runtime. - - - Provides a set of static methods and properties that provide support for compilers. This class cannot be inherited. - - - Represents a method to run when an exception occurs. - Data to pass to the delegate. - - to express that an exception was thrown; otherwise, . - - - Represents a delegate to code that should be run in a try block.. - Data to pass to the delegate. - - - Wraps an exception that does not derive from the class. This class cannot be inherited. - - - Indicates that a native enumeration is not qualified by the enumeration type name. This class cannot be inherited. - - - Indicates that a type or member is treated in a special way by the runtime or tools. This class cannot be inherited. - - - Allows you to determine whether a method is a state machine method. - - - Deprecated. Freezes a string literal when creating native images using the Ngen.exe (Native Image Generator). This class cannot be inherited. - - - Prevents the Ildasm.exe (IL Disassembler) from disassembling an assembly. This class cannot be inherited. - - - Provides an object that waits for the completion of an asynchronous task. - - - Represents an object that waits for the completion of an asynchronous task and provides a parameter for the result. - The result for the task. - - - Indicates that the use of a value tuple on a member is meant to be treated as a tuple with element names. - - - Specifies a source in another assembly. - - - Specifies a destination in another assembly. - - - Specifies that a type contains an unmanaged array that might potentially overflow. This class cannot be inherited. - - - Provides the context for waiting when asynchronously switching into a target environment. - - - Provides an awaiter for switching into a target environment. - - - Specifies a method's behavior when called within a constrained execution region. - - - The method, type, or assembly has no concept of a CER. It does not take advantage of CER guarantees. This implies the following: - - - In the face of exceptional conditions, the method might fail. In this case, the method will report back to the calling method whether it succeeded or failed. The method must have a CER around the method body to ensure that it can report the return value. - - - In the face of exceptional conditions, the method is guaranteed to succeed. You should always construct a CER around the method that is called, even when it is called from within a non-CER region. A method is successful if it accomplishes what is intended. For example, marking with ReliabilityContractAttribute(Cer.Success) implies that when it is run under a CER, it always returns a count of the number of elements in the and it can never leave the internal fields in an undetermined state. - - - Specifies a reliability contract. - - - In the face of exceptional conditions, the CLR makes no guarantees regarding state consistency; that is, the condition might corrupt the process. - - - In the face of exceptional conditions, the common language runtime (CLR) makes no guarantees regarding state consistency in the current application domain. - - - In the face of exceptional conditions, the method is guaranteed to limit state corruption to the current instance. - - - In the face of exceptional conditions, the method is guaranteed not to corrupt state. - - - Ensures that all finalization code in derived classes is marked as critical. - - - Instructs the native image generation service to prepare a method for inclusion in a constrained execution region (CER). - - - Defines a contract for reliability between the author of some code, and the developers who have a dependency on that code. - - - Provides customized assembly binding for designers that are used to create Windows 8.x Store apps. - - - Represents an exception whose state is captured at a certain point in code. - - - Provides data for the notification event that is raised when a managed exception first occurs, before the common language runtime begins searching for event handlers. - - - Enables managed code to handle exceptions that indicate a corrupted process state. - - - [Supported in the .NET Framework 4.5.1 and later versions] Indicates whether the next blocking garbage collection compacts the large object heap (LOH). - - - The large object heap (LOH) is not compacted. - - - The large object heap (LOH) will be compacted during the next blocking generation 2 garbage collection. - - - Adjusts the time that the garbage collector intrudes in your application. - - - Disables garbage collection concurrency and reclaims objects in a batch call. This is the most intrusive mode. - - - Enables garbage collection concurrency and reclaims objects while the application is running. This is the default mode for garbage collection on a workstation and is less intrusive than . It balances responsiveness with throughput. - - - Enables garbage collection that is more conservative in reclaiming objects. Full collections occur only if the system is under memory pressure, whereas generation 0 and generation 1 collections might occur more frequently - - - Enables garbage collection that tries to minimize latency over an extended period. The collector tries to perform only generation 0, generation 1, and concurrent generation 2 collections. Full blocking collections may still occur if the system is under memory pressure. - - - Indicates that garbage collection is suspended while the app is executing a critical path. - is a read-only value; that is, you cannot assign the value to the property. You specify the no GC region latency mode by calling the method and terminate it by calling the method. - - - Specifies the garbage collection settings for the current process. - - - Provides data for manifest-based activation of an application. This class cannot be inherited. - - - Provides the base class for the activation of manifest-based assemblies. - - - Exposes the class to unmanaged code. - - - Exposes the public members of the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the public members of the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the public members of the class to unmanaged code. - - - Exposes the public members of the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the public members of the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the public members of the class to unmanaged code. - - - Exposes the public members of the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the public members of the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the public members of the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the class to unmanaged code. - - - Exposes the public members of the class to the unmanaged code. - - - Exposes the class to unmanaged code. - - - Allows an unmanaged method to call a managed method. - - - Indicates the processor architecture. - - - An Intel-based 32-bit processor architecture. - - - An Intel-based 64-bit processor architecture. - - - A 32-bit ARM processor architecture. - - - A 64-bit ARM processor architecture. - - - Encapsulates an array and an offset within the specified array. - - - Defines a set of flags used when registering assemblies. - - - Indicates no special settings. - - - Indicates that the code base key for the assembly should be set in the registry. - - - Specifies whether the type should be marshaled using the Automation marshaler or a custom proxy and stub. - - - Controls whether Unicode characters are converted to the closest matching ANSI characters. - - - Use instead. - - - Use instead. - - - Marshals data of type from managed to unmanaged code. This class cannot be inherited. - - - Use instead. - - - Indicates that the Cdecl calling convention is used for a method. - - - Indicates that the Mscpascal calling convention is used for a method. - - - Indicates that the Pascal calling convention is used for a method. - - - Indicates that the Macpascal calling convention is used for a method. - - - Indicates that the Stdcall calling convention is used for a method. - - - This value is reserved for future use. - - - Indicates that the Syscall calling convention is used for a method. - - - Indicates that the Mpwcdecl calling convention is used for a method. - - - Indicates that the Mpwpascal calling convention is used for a method. - - - Indicates the end of the enumeration. - - - Specifies the calling convention required to call methods implemented in unmanaged code. - - - This member is not actually a calling convention, but instead uses the default platform calling convention. For example, on Windows the default is and on Windows CE.NET it is . - - - The caller cleans the stack. This enables calling functions with , which makes it appropriate to use for methods that accept a variable number of parameters, such as . - - - The callee cleans the stack. This is the default convention for calling unmanaged functions with platform invoke. - - - The first parameter is the pointer and is stored in register ECX. Other parameters are pushed on the stack. This calling convention is used to call methods on classes exported from an unmanaged DLL. - - - This calling convention is not supported. - - - Dictates which character set marshaled strings should use. - - - This value is obsolete and has the same behavior as . - - - Marshal strings as multiple-byte character strings. - - - Marshal strings as Unicode 2-byte characters. - - - Automatically marshal strings appropriately for the target operating system. The default is on Windows NT, Windows 2000, Windows XP, and the Windows Server 2003 family; the default is on Windows 98 and Windows Me. Although the common language runtime default is , languages may override this default. For example, by default C# marks all methods and types as . - - - Indicates the type of class interface to be generated for a class exposed to COM, if an interface is generated at all. - - - Identifies the type of class interface that is generated for a class. - - - Indicates that no class interface is generated for the class. If no interfaces are implemented explicitly, the class can only provide late-bound access through the interface. This is the recommended setting for . Using is the only way to expose functionality through interfaces implemented explicitly by the class. - - - Indicates that the class only supports late binding for COM clients. A for the class is automatically exposed to COM clients on request. The type library produced by Tlbexp.exe (Type Library Exporter) does not contain type information for the in order to prevent clients from caching the DISPIDs of the interface. The does not exhibit the versioning problems described in because clients can only late-bind to the interface. - - - Indicates that a dual class interface is automatically generated for the class and exposed to COM. Type information is produced for the class interface and published in the type library. Using is strongly discouraged because of the versioning limitations described in . - - - Specifies the class identifier of a coclass imported from a type library. - - - Indicates the COM alias for a parameter or field type. - - - Indicates to a COM client that all classes in the current version of an assembly are compatible with classes in an earlier version of the assembly. - - - Indicates that information was lost about a class or interface when it was imported from a type library to an assembly. - - - Specifies a default interface to expose to COM. This class cannot be inherited. - - - Identifies the source interface and the class that implements the methods of the event interface that is generated when a coclass is imported from a COM type library. - - - Provides methods that enable .NET Framework delegates that handle events to be added and removed from COM objects. - - - The exception that is thrown when an unrecognized HRESULT is returned from a COM method call. - - - Indicates that the attributed type was previously defined in COM. - - - Identifies how to expose an interface to COM. - - - Indicates that the interface is exposed to COM as a dual interface, which enables both early and late binding. is the default value. - - - Indicates that an interface is exposed to COM as an interface that is derived from IUnknown, which enables only early binding. - - - Indicates that an interface is exposed to COM as a dispinterface, which enables late binding only. - - - Indicates that an interface is exposed to COM as a Windows Runtime interface. - - - Describes the type of a COM member. - - - The member is a normal method. - - - The member gets properties. - - - The member sets properties. - - - Specifies the method to call when you register an assembly for use from COM; this enables the execution of user-written code during the registration process. - - - Identifies a list of interfaces that are exposed as COM event sources for the attributed class. - - - Stores the parameters that are used during a moniker binding operation. - - - Contains a pointer to a bound-to structure, structure, or an interface. - - - Identifies the calling convention used by a method described in a METHODDATA structure. - - - Indicates that the C declaration (CDECL) calling convention is used for a method. - - - Indicates that the MSC Pascal (MSCPASCAL) calling convention is used for a method. - - - Indicates that the Pascal calling convention is used for a method. - - - Indicates that the Macintosh Pascal (MACPASCAL) calling convention is used for a method. - - - Indicates that the standard calling convention (STDCALL) is used for a method. - - - This value is reserved for future use. - - - Indicates that the standard SYSCALL calling convention is used for a method. - - - Indicates that the Macintosh Programmers' Workbench (MPW) CDECL calling convention is used for a method. - - - Indicates that the Macintosh Programmers' Workbench (MPW) PASCAL calling convention is used for a method. - - - Indicates the end of the enumeration. - - - Describes a connection that exists to a given connection point. - - - Identifies the type description being bound to. - - - Indicates that no match was found. - - - Indicates that a structure was returned. - - - Indicates that a was returned. - - - Indicates that a was returned. - - - Indicates that an was returned. - - - Indicates an end-of-enumeration marker. - - - Contains the arguments passed to a method or property by . - - - Contains the type description and process transfer information for a variable, function, or a function parameter. - - - Contains information about an element. - - - Describes the exceptions that occur during . - - - Represents the number of 100-nanosecond intervals since January 1, 1601. This structure is a 64-bit value. - - - Defines a function description. - - - Identifies the constants that define the properties of a function. - - - The function should not be accessible from macro languages. This flag is intended for system-level functions or functions that type browsers should not display. - - - The function returns an object that is a source of events. - - - The function that supports data binding. - - - When set, any call to a method that sets the property results first in a call to . The implementation of determines if the call is allowed to set the property. - - - The function that is displayed to the user as bindable. must also be set. - - - The function that best represents the object. Only one function in a type can have this attribute. - - - The function should not be displayed to the user, although it exists and is bindable. - - - The function supports . If an error occurs during the function, the caller can call to retrieve the error code. - - - Permits an optimization in which the compiler looks for a member named "xyz" on the type of "abc". If such a member is found, and is flagged as an accessor function for an element of the default collection, a call is generated to that member function. Permitted on members in dispinterfaces and interfaces; not permitted on modules. - - - The type information member is the default member for display in the user interface. - - - The property appears in an object browser, but not in a properties browser. - - - Tags the interface as having default behaviors. - - - Mapped as individual bindable properties. - - - Defines how to access a function. - - - The function is accessed in the same way as , except the function has an implementation. - - - The function is accessed through the virtual function table (VTBL), and takes an implicit pointer. - - - The function is accessed by address and takes an implicit pointer. - - - The function is accessed by address and does not take an implicit pointer. - - - The function can be accessed only through . - - - Provides the managed definition of the interface. - - - Provides the managed definition of the interface. - - - Provides the managed definition of the interface. - - - Contains information needed for transferring a structure element, parameter, or function return value between processes. - - - Describes how to transfer a structure element, parameter, or function return value between processes. - - - Does not specify whether the parameter passes or receives information. - - - The parameter passes information from the caller to the callee. - - - The parameter returns information from the callee to the caller. - - - The parameter is the local identifier of a client application. - - - The parameter is the return value of the member. - - - Manages the definition of the interface. - - - Manages the definition of the interface. - - - Manages the definition of the interface. - - - Manages the definition of the interface. - - - Manages the definition of the interface. - - - Provides the managed definition of the interface, with COM functionality from and . - - - Defines the attributes of an implemented or inherited interface of a type. - - - The interface or dispinterface represents the default for the source or sink. - - - This member of a coclass is called rather than implemented. - - - The member should not be displayed or programmable by users. - - - Sinks receive events through the virtual function table (VTBL). - - - Specifies how to invoke a function by . - - - The member is called using a normal function invocation syntax. - - - The function is invoked using a normal property access syntax. - - - The function is invoked using a property value assignment syntax. - - - The function is invoked using a property reference assignment syntax. - - - Provides the managed definition of the interface, with functionality from . - - - Provides the managed definition of the interface. - - - Provides the managed definition of the interface, with functionality. - - - Provides the managed definition of the interface. - - - Provides the managed definition of the Component Automation ITypeInfo interface. - - - Provides the managed definition of the interface. - - - Provides the managed definition of the interface. - - - Provides a managed definition of the interface. - - - Defines flags that apply to type libraries. - - - The type library is restricted, and should not be displayed to users. - - - The type library describes controls and should not be displayed in type browsers intended for nonvisual objects. - - - The type library should not be displayed to users, although its use is not restricted. The type library should be used by controls. Hosts should create a new type library that wraps the control with extended properties. - - - The type library exists in a persisted form on disk. - - - Contains information about how to transfer a structure element, parameter, or function return value between processes. - - - Describes how to transfer a structure element, parameter, or function return value between processes. - - - Does not specify whether the parameter passes or receives information. - - - The parameter passes information from the caller to the callee. - - - The parameter returns information from the callee to the caller. - - - The parameter is the local identifier of a client application. - - - The parameter is the return value of the member. - - - The parameter is optional. - - - The parameter has default behaviors defined. - - - The parameter has custom data. - - - Contains statistical information about an open storage, stream, or byte-array object. - - - Identifies the target operating system platform. - - - The target operating system for the type library is 16-bit Windows systems. By default, data fields are packed. - - - The target operating system for the type library is 32-bit Windows systems. By default, data fields are naturally aligned (for example, 2-byte integers are aligned on even-byte boundaries; 4-byte integers are aligned on quad-word boundaries, and so on). - - - The target operating system for the type library is Apple Macintosh. By default, all data fields are aligned on even-byte boundaries. - - - The target operating system for the type library is 64-bit Windows systems. - - - Contains attributes of a . - - - Describes the type of a variable, return type of a function, or the type of a function parameter. - - - Defines the properties and attributes of a type description. - - - A type description that describes an object. - - - Instances of the type can be created by . - - - The type is licensed. - - - The type is predefined. The client application should automatically create a single instance of the object that has this attribute. The name of the variable that points to the object is the same as the class name of the object. - - - The type should not be displayed to browsers. - - - The type is a control from which other types will be derived and should not be displayed to users. - - - The interface supplies both and VTBL binding. - - - The interface cannot add members at run time. - - - The types used in the interface are fully compatible with Automation, including VTBL binding support. Setting dual on an interface sets both this flag and the . This flag is not allowed on dispinterfaces. - - - Should not be accessible from macro languages. This flag is intended for system-level types or types that type browsers should not display. - - - The class supports aggregation. - - - The object supports , and has default behaviors. - - - Indicates that the interface derives from , either directly or indirectly. This flag is computed; there is no Object Description Language for the flag. - - - Indicates base interfaces should be checked for name resolution before checking children, which is the reverse of the default behavior. - - - Indicates that the interface will be using a proxy/stub dynamic link library. This flag specifies that the type library proxy should not be unregistered when the type library is unregistered. - - - Specifies various types of data and functions. - - - A set of enumerators. - - - A structure with no methods. - - - A module that can have only static functions and data (for example, a DLL). - - - A type that has virtual functions, all of which are pure. - - - A set of methods and properties that are accessible through . By default, dual interfaces return . - - - A set of implemented components interfaces. - - - A type that is an alias for another type. - - - A union of all members that have an offset of zero. - - - End-of-enumeration marker. - - - Identifies a particular type library and provides localization support for member names. - - - Describes a variable, constant, or data member. - - - Contains information about a variable. - - - Identifies the constants that define the properties of a variable. - - - Assignment to the variable should not be allowed. - - - The variable returns an object that is a source of events. - - - The variable supports data binding. - - - When set, any attempt to directly change the property results in a call to . The implementation of determines if the change is accepted. - - - The variable is displayed to the user as bindable. must also be set. - - - The variable is the single property that best represents the object. Only one variable in type information can have this attribute. - - - The variable should not be displayed to the user in a browser, although it exists and is bindable. - - - The variable should not be accessible from macro languages. This flag is intended for system-level variables or variables that you do not want type browsers to display. - - - Permits an optimization in which the compiler looks for a member named "xyz" on the type of "abc". If such a member is found and is flagged as an accessor function for an element of the default collection, then a call is generated to that member function. Permitted on members in dispinterfaces and interfaces; not permitted on modules. - - - The variable is the default display in the user interface. - - - The variable appears in an object browser, but not in a properties browser. - - - Tags the interface as having default behaviors. - - - The variable is mapped as individual bindable properties. - - - Defines the kind of variable. - - - The variable is a field or member of the type. It exists at a fixed offset within each instance of the type. - - - There is only one instance of the variable. - - - The structure describes a symbolic constant. There is no memory associated with it. - - - The variable can be accessed only through . - - - Specifies the method to call when you unregister an assembly for use from COM; this allows for the execution of user-written code during the unregistration process. - - - Controls accessibility of an individual managed type or member, or of all types within an assembly, to COM. - - - Use instead. - - - Represents a wrapper class for handle resources. - - - Wraps objects the marshaler should marshal as a . - - - Indicates whether the method's IUnknown::QueryInterface calls can use the interface. - - - - IUnknown::QueryInterface method calls should ignore the interface. - - - - IUnknown::QueryInterface method calls can use the interface. When you use this value, the method overload functions like the overload. - - - Provides return values for the method. - - - The interface pointer that is returned from the method can be used as the result of IUnknown::QueryInterface. - - - The custom was not used. Instead, the default implementation of IUnknown::QueryInterface should be used. - - - The interface for a specific interface ID is not available. In this case, the returned interface is . E_NOINTERFACE is returned to the caller of IUnknown::QueryInterface. - - - Specifies the value of the enumeration. This class cannot be inherited. - - - Specifies the paths that are used to search for DLLs that provide functions for platform invokes. - - - Use instead. - - - Indicates that no match was found. - - - Indicates that a was returned. - - - Indicates that a was returned. - - - Indicates that a was returned. - - - Indicates that an was returned. - - - Indicates an end of enumeration marker. - - - Wraps objects the marshaler should marshal as a . - - - Specifies the COM dispatch identifier (DISPID) of a method, field, or property. - - - Use instead. - - - Indicates that the attributed method is exposed by an unmanaged dynamic-link library (DLL) as a static entry point. - - - Specifies the paths that are used to search for DLLs that provide functions for platform invokes. - - - - Search for the dependencies of a DLL in the folder where the DLL is located before searching other folders. - - - Include the application directory in the DLL search path. - - - Include any path that was explicitly added to the process-wide search path by using the Win32 AddDllDirectory function. - - - Include the directory in the DLL search path. - - - Include the application directory, the directory, and user directories in the DLL search path. - - - When searching for assembly dependencies, include the directory that contains the assembly itself, and search that directory first. This value is used by the .NET Framework, before the paths are passed to the Win32 LoadLibraryEx function. - - - Search the application directory, and then call the Win32 LoadLibraryEx function with the LOAD_WITH_ALTERED_SEARCH_PATH flag. This value is ignored if any other value is specified. Operating systems that do not support the attribute use this value, and ignore other values. - - - Use instead. - - - Use instead. - - - Wraps objects the marshaler should marshal as a . - - - Use instead. - - - Enables modification of objects by adding and removing members, represented by objects. - - - Describes the callbacks that the type library exporter makes when exporting a type library. - - - Specifies that the event is invoked when a type has been exported. - - - Specifies that the event is invoked when a warning occurs during conversion. - - - This value is not supported in this version of the .NET Framework. - - - Enables customization of managed objects that extend from unmanaged objects during creation. - - - The base exception type for all COM interop exceptions and structured exception handling (SEH) exceptions. - - - Indicates the physical position of fields within the unmanaged representation of a class or structure. - - - Use instead. - - - Use instead. - - - Use instead. - - - The function should not be accessible from macro languages. This flag is intended for system-level functions or functions that type browsers should not display. - - - The function returns an object that is a source of events. - - - The function that supports data binding. - - - When set, any call to a method that sets the property results first in a call to . The implementation of determines if the call is allowed to set the property. - - - The function that is displayed to the user as bindable. must also be set. - - - The function that best represents the object. Only one function in a type information can have this attribute. - - - The function should not be displayed to the user, although it exists and is bindable. - - - The function supports . If an error occurs during the function, the caller can call to retrieve the error code. - - - Permits an optimization in which the compiler looks for a member named "xyz" on the type of "abc". If such a member is found, and is flagged as an accessor function for an element of the default collection, a call is generated to that member function. Permitted on members in dispinterfaces and interfaces; not permitted on modules. - - - The type information member is the default member for display in the user interface. - - - The property appears in an object browser, but not in a properties browser. - - - Tags the interface as having default behaviors. - - - Mapped as individual bindable properties. - - - Use instead. - - - The function is accessed the same as , except the function has an implementation. - - - The function is accessed through the virtual function table (VTBL), and takes an implicit pointer. - - - The function is accessed by address and takes an implicit pointer. - - - The function is accessed by address and does not take an implicit pointer. - - - The function can be accessed only through . - - - Provides a way to access a managed object from unmanaged memory. - - - Represents the types of handles the class can allocate. - - - This handle type is used to track an object, but allow it to be collected. When an object is collected, the contents of the are zeroed. references are zeroed before the finalizer runs, so even if the finalizer resurrects the object, the reference is still zeroed. - - - This handle type is similar to , but the handle is not zeroed if the object is resurrected during finalization. - - - This handle type represents an opaque handle, meaning you cannot resolve the address of the pinned object through the handle. You can use this type to track an object and prevent its collection by the garbage collector. This enumeration member is useful when an unmanaged client holds the only reference, which is undetectable from the garbage collector, to a managed object. - - - This handle type is similar to , but allows the address of the pinned object to be taken. This prevents the garbage collector from moving the object and hence undermines the efficiency of the garbage collector. Use the method to free the allocated handle as soon as possible. - - - Supplies an explicit when an automatic GUID is undesirable. - - - Wraps a managed object holding a handle to a resource that is passed to unmanaged code using platform invoke. - - - Provides a way for clients to access the actual object, rather than the adapter object handed out by a custom marshaler. - - - Enables users to write activation code for managed objects that extend . - - - Provides custom wrappers for handling method calls. - - - Enables developers to provide a custom, managed implementation of the IUnknown::QueryInterface(REFIID riid, void **ppvObject) method. - - - Indicates which implementation the common language runtime uses when exposing dual interfaces and dispinterfaces to COM. - - - Indicates which implementation to use for a particular class. - - - Specifies that the common language runtime decides which implementation to use. - - - Specifies that the implementation is supplied by the runtime. - - - Specifies that the implementation is supplied by passing the type information for the object to the COM API method. - - - Use instead. - - - Use instead. - - - Whether the parameter passes or receives information is unspecified. - - - The parameter passes information from the caller to the callee. - - - The parameter returns information from the callee to the caller. - - - The parameter is the local identifier of a client application. - - - The parameter is the return value of the member. - - - Use instead. - - - The interface or dispinterface represents the default for the source or sink. - - - This member of a coclass is called rather than implemented. - - - The member should not be displayed or programmable by users. - - - Sinks receive events through the virtual function table (VTBL). - - - Indicates that the types defined within an assembly were originally defined in a type library. - - - Describes the callbacks that the type library importer makes when importing a type library. - - - Specifies that the event is invoked when a type has been imported. - - - Specifies that the event is invoked when a warning occurs during conversion. - - - This property is not supported in this version of the .NET Framework. - - - Indicates that data should be marshaled from the caller to the callee, but not back to the caller. - - - Indicates whether a managed interface is dual, dispatch-only, or -only when exposed to COM. - - - The exception thrown when an invalid COM object is used. - - - The exception thrown by the marshaler when it encounters an argument of a variant type that can not be marshaled to managed code. - - - Use instead. - - - The member is called using a normal function invocation syntax. - - - The function is invoked using a normal property-access syntax. - - - The function is invoked using a property value assignment syntax. - - - The function is invoked using a property reference assignment syntax. - - - Provides a set of services for registering and unregistering managed assemblies for use from COM. - - - Provides a set of services that convert a managed assembly to a COM type library and vice versa. - - - Provides control over the casing of names when exported to a type library. - - - Provides a callback mechanism for the assembly converter to inform the caller of the status of the conversion, and involve the caller in the conversion process itself. - - - Provides a callback mechanism for the type library converter to inform the caller of the status of the conversion, and involve the caller in the conversion process itself. - - - Controls the layout of an object when exported to unmanaged code. - - - The members of the object are laid out sequentially, in the order in which they appear when exported to unmanaged memory. The members are laid out according to the packing specified in , and can be noncontiguous. - - - The precise position of each member of an object in unmanaged memory is explicitly controlled, subject to the setting of the field. Each member must use the to indicate the position of that field within the type. - - - The runtime automatically chooses an appropriate layout for the members of an object in unmanaged memory. Objects defined with this enumeration member cannot be exposed outside of managed code. Attempting to do so generates an exception. - - - Indicates that a method's unmanaged signature expects a locale identifier (LCID) parameter. - - - Use instead. - - - The type library is restricted, and should not be displayed to users. - - - The type library describes controls, and should not be displayed in type browsers intended for nonvisual objects. - - - The type library should not be displayed to users, although its use is not restricted. Should be used by controls. Hosts should create a new type library that wraps the control with extended properties. - - - The type library exists in a persisted form on disk. - - - Provides support for user customization of interop stubs in managed-to-COM interop scenarios. - - - Provides a collection of methods for allocating unmanaged memory, copying unmanaged memory blocks, and converting managed to unmanaged types, as well as other miscellaneous methods used when interacting with unmanaged code. - - - Indicates how to marshal the data between managed and unmanaged code. - - - The exception that is thrown by the marshaler when it encounters a it does not support. - - - Creates a COM object. - A pointer to the managed object's interface. - An object that represents the interface of the COM object. - - - Indicates that a parameter is optional. - - - Represents an operating system platform. - - - Indicates that data should be marshaled from callee back to caller. - - - Use instead. - - - Use instead. - - - Whether the parameter passes or receives information is unspecified. - - - The parameter passes information from the caller to the callee. - - - The parameter returns information from the callee to the caller. - - - The parameter is the local identifier of a client application. - - - The parameter is the return value of the member. - - - The parameter is optional. - - - The parameter has default behaviors defined. - - - The parameter has custom data. - - - Indicates that the HRESULT or signature transformation that takes place during COM interop calls should be suppressed. - - - Indicates that the attributed assembly is a primary interop assembly. - - - Allows the user to specify the ProgID of a class. - - - Specifies the set of execution contexts in which a class object will be made available for requests to construct instances. - - - The code that creates and manages objects of this class is a DLL that runs in the same process as the caller of the function specifying the class context. - - - The code that manages objects of this class is an in-process handler. - - - The EXE code that creates and manages objects of this class runs on same machine but is loaded in a separate process space. - - - Not used. - - - A remote machine context. - - - Not used. - - - Not used. - - - Not used. - - - Not used. - - - Not used. - - - Disallows the downloading of code from the Directory Service or the Internet. - - - Not used. - - - Specifies whether activation fails if it uses custom marshaling. - - - Allows the downloading of code from the Directory Service or the Internet. - - - Overrides the logging of failures. - - - Disables activate-as-activator (AAA) activations for this activation only. - - - Enables activate-as-activator (AAA) activations for this activation only. - - - Begin this activation from the default context of the current apartment. - - - Defines the types of connections to a class object. - - - Once an application is connected to a class object with , the class object is removed from public view so that no other applications can connect to it. This value is commonly used for single document interface (SDI) applications. - - - Multiple applications can connect to the class object through calls to . - - - Registers separate CLSCTX_LOCAL_SERVER and CLSCTX_INPROC_SERVER class factories. - - - Suspends registration and activation requests for the specified CLSID until there is a call to . - - - The class object is a surrogate process used to run DLL servers. - - - Provides a set of services for registering and unregistering managed assemblies for use from COM. - - - Provides a collection of methods that return information about the common language runtime environment. - - - Provides information about the .NET runtime installation. - - - The exception thrown when the rank of an incoming does not match the rank specified in the managed signature. - - - The exception thrown when the type of the incoming does not match the type specified in the managed signature. - - - Provides a controlled memory buffer that can be used for reading and writing. Attempts to access memory outside the controlled buffer (underruns and overruns) raise exceptions. - - - Represents a wrapper class for operating system handles. This class must be inherited. - - - Represents structured exception handling (SEH) errors. - - - This attribute has been deprecated. - - - Use instead. - - - Lets you control the physical layout of the data fields of a class or structure in memory. - - - Use instead. - - - The target operating system for the type library is 16-bit Windows systems. By default, data fields are packed. - - - The target operating system for the type library is 32-bit Windows systems. By default, data fields are naturally aligned (for example, 2-byte integers are aligned on even-byte boundaries; 4-byte integers are aligned on quad-word boundaries, and so on). - - - The target operating system for the type library is Apple Macintosh. By default, all data fields are aligned on even-byte boundaries. - - - Use instead. - - - Use instead. - - - Use instead. - - - A type description that describes an Application object. - - - Instances of the type can be created by . - - - The type is licensed. - - - The type is predefined. The client application should automatically create a single instance of the object that has this attribute. The name of the variable that points to the object is the same as the class name of the object. - - - The type should not be displayed to browsers. - - - The type is a control from which other types will be derived, and should not be displayed to users. - - - The interface supplies both and VTBL binding. - - - The interface cannot add members at run time. - - - The types used in the interface are fully compatible with Automation, including VTBL binding support. Setting dual on an interface sets this flag in addition to . Not allowed on dispinterfaces. - - - Should not be accessible from macro languages. This flag is intended for system-level types or types that type browsers should not display. - - - The class supports aggregation. - - - The object supports , and has default behaviors. - - - Indicates that the interface derives from , either directly or indirectly. This flag is computed, there is no Object Description Language for the flag. - - - Indicates base interfaces should be checked for name resolution before checking children, the reverse of the default behavior. - - - Indicates that the interface will be using a proxy/stub dynamic link library. This flag specifies that the type library proxy should not be unregistered when the type library is unregistered. - - - Provides support for type equivalence. - - - Use instead. - - - A set of enumerators. - - - A structure with no methods. - - - A module that can only have static functions and data (for example, a DLL). - - - A type that has virtual functions, all of which are pure. - - - A set of methods and properties that are accessible through . By default, dual interfaces return . - - - A set of implemented components interfaces. - - - A type that is an alias for another type. - - - A union of all members that have an offset of zero. - - - End of enumeration marker. - - - Use instead. - - - Provides a set of services that convert a managed assembly to a COM type library and vice versa. - - - Indicates how a type library should be produced. - - - Specifies no flags. This is the default. - - - Exports references to types that were imported from COM as if the type does not have a registered type library. Set this flag when you want the type library exporter to look for dependent types in the registry rather than in the same directory as the input assembly. - - - Allows the caller to explicitly resolve type library references without consulting the registry. - - - When exporting type libraries, the .NET Framework resolves type name conflicts by decorating the type with the name of the namespace; for example, is exported as . When there is a conflict with the name of a type that is not visible from COM, the .NET Framework exports the undecorated name. Set the flag or use the option in the Type Library Exporter (Tlbexp.exe) to force the .NET Framework to export the decorated name. Note that exporting the decorated name was the default behavior in versions prior to the .NET Framework version 2.0. - - - When compiling on a 64-bit computer, specifies that the Type Library Exporter (Tlbexp.exe) generates a 32-bit type library. All data types are transformed appropriately. - - - When compiling on a 32-bit computer, specifies that the Type Library Exporter (Tlbexp.exe) generates a 64-bit type library. All data types are transformed appropriately. - - - Contains the that were originally imported for this method from the COM type library. - - - Describes the original settings of the in the COM type library from where this method was imported. - - - This flag is intended for system-level functions or functions that type browsers should not display. - - - The function returns an object that is a source of events. - - - The function that supports data binding. - - - When set, any call to a method that sets the property results first in a call to . - - - The function that is displayed to the user as bindable. must also be set. - - - The function that best represents the object. Only one function in a type information can have this attribute. - - - The function should not be displayed to the user, although it exists and is bindable. - - - The function supports . - - - Permits an optimization in which the compiler looks for a member named "xyz" on the type "abc". If such a member is found and is flagged as an accessor function for an element of the default collection, then a call is generated to that member function. - - - The type information member is the default member for display in the user interface. - - - The property appears in an object browser, but not in a properties browser. - - - Tags the interface as having default behaviors. - - - The function is mapped as individual bindable properties. - - - Specifies which exclusively uses an interface. This class cannot be inherited. - - - Indicates how an assembly should be produced. - - - No special settings. This is the default. - - - Generates a primary interop assembly. For more information, see the attribute. A keyfile must be specified. - - - Imports all interfaces as interfaces that suppress the common language runtime's stack crawl for permission. Be sure you understand the responsibilities associated with suppressing this security check. - - - Imports all instances as instead of typed, single-dimensional, zero-based managed arrays. This option is useful when dealing with multi-dimensional, non-zero-based instances, which otherwise cannot be accessed unless you edit the resulting assembly by using the MSIL Disassembler (Ildasm.exe) and MSIL Assembler (Ilasm.exe) tools. - - - Transforms parameters of methods on dispatch-only interfaces (dispinterface) into return values. - - - Not used. - - - Uses serializable classes. - - - Imports a type library for the x86 platform. - - - Imports a type library for the x86 64-bit platform. - - - Imports a type library for the Itanium platform. - - - Imports a type library for any platform. - - - Uses reflection-only loading. - - - Prevents inclusion of a version resource in the interop assembly. For more information, see the method. - - - Imports a library for the ARM platform. - - - Contains the that were originally imported for this type from the COM type library. - - - Describes the original settings of the in the COM type library from which the type was imported. - - - A type description that describes an object. - - - Instances of the type can be created by . - - - The type is licensed. - - - The type is predefined. The client application should automatically create a single instance of the object that has this attribute. The name of the variable that points to the object is the same as the class name of the object. - - - The type should not be displayed to browsers. - - - The type is a control from which other types will be derived, and should not be displayed to users. - - - The interface supplies both and V-table binding. - - - The interface cannot add members at run time. - - - The types used in the interface are fully compatible with Automation, including vtable binding support. - - - This flag is intended for system-level types or types that type browsers should not display. - - - The class supports aggregation. - - - The object supports , and has default behaviors. - - - Indicates that the interface derives from , either directly or indirectly. - - - Indicates base interfaces should be checked for name resolution before checking child interfaces. This is the reverse of the default behavior. - - - Contains the that were originally imported for this field from the COM type library. - - - Describes the original settings of the in the COM type library from which the variable was imported. - - - Assignment to the variable should not be allowed. - - - The variable returns an object that is a source of events. - - - The variable supports data binding. - - - Indicates that the property supports the COM notification. - - - The variable is displayed as bindable. must also be set. - - - The variable is the single property that best represents the object. Only one variable in a type info can have this value. - - - The variable should not be displayed in a browser, though it exists and is bindable. - - - This flag is intended for system-level functions or functions that type browsers should not display. - - - Permits an optimization in which the compiler looks for a member named "xyz" on the type "abc". If such a member is found and is flagged as an accessor function for an element of the default collection, then a call is generated to that member function. - - - The default display in the user interface. - - - The variable appears in an object browser, but not in a properties browser. - - - Tags the interface as having default behaviors. - - - The variable is mapped as individual bindable properties. - - - Specifies the version number of an exported type library. - - - Use instead. - - - Use instead. - - - Use instead. - - - Use instead. - - - Use instead. - - - Use instead. - - - Use instead. - - - Use instead. - - - Use instead. - - - Use instead. - - - Use instead. - - - Use instead. - - - Use instead. - - - Use instead. - - - Use instead. - - - Wraps objects the marshaler should marshal as a . - - - Controls the marshaling behavior of a delegate signature passed as an unmanaged function pointer to or from unmanaged code. This class cannot be inherited. - - - Identifies how to marshal parameters or fields to unmanaged code. - - - A 4-byte Boolean value ( != 0, = 0). This is the Win32 BOOL type. - - - A 1-byte signed integer. You can use this member to transform a Boolean value into a 1-byte, C-style ( = 1, = 0). - - - A 1-byte unsigned integer. - - - A 2-byte signed integer. - - - A 2-byte unsigned integer. - - - A 4-byte signed integer. - - - A 4-byte unsigned integer. - - - An 8-byte signed integer. - - - An 8-byte unsigned integer. - - - A 4-byte floating-point number. - - - An 8-byte floating-point number. - - - A currency type. Used on a to marshal the decimal value as a COM currency type instead of as a . - - - A Unicode character string that is a length-prefixed double byte. You can use this member, which is the default string in COM, on the data type. - - - A single byte, null-terminated ANSI character string. You can use this member on the and data types. - - - A 2-byte, null-terminated Unicode character string. - - - A platform-dependent character string: ANSI on Windows 98, and Unicode on Windows NT and Windows XP. This value is supported only for platform invoke and not for COM interop, because exporting a string of type is not supported. - - - - Used for in-line, fixed-length character arrays that appear within a structure. The character type used with is determined by the argument of the attribute applied to the containing structure. Always use the field to indicate the size of the array. - - - A COM pointer. You can use this member on the data type. - - - A COM pointer ( in Microsoft Visual Basic 6.0). - - - A VARIANT, which is used to marshal managed formatted classes and value types. - - - A COM interface pointer. The of the interface is obtained from the class metadata. Use this member to specify the exact interface type or the default interface type if you apply it to a class. This member produces the same behavior as when you apply it to the data type. - - - A , which is a self-describing array that carries the type, rank, and bounds of the associated array data. You can use this member with the field to override the default element type. - - - - When the property is set to , the field must be set to indicate the number of elements in the array. The field can optionally contain the of the array elements when it is necessary to differentiate among string types. You can use this only on an array that whose elements appear as fields in a structure. - - - A platform-dependent, signed integer: 4 bytes on 32-bit Windows, 8 bytes on 64-bit Windows. - - - A platform-dependent, unsigned integer: 4 bytes on 32-bit Windows, 8 bytes on 64-bit Windows. - - - A value that enables Visual Basic to change a string in unmanaged code and have the results reflected in managed code. This value is only supported for platform invoke. - - - An ANSI character string that is a length-prefixed single byte. You can use this member on the data type. - - - A length-prefixed, platform-dependent string: ANSI on Windows 98, Unicode on Windows NT. You rarely use this BSTR-like member. - - - A 2-byte, OLE-defined VARIANT_BOOL type ( = -1, = 0). - - - An integer that can be used as a C-style function pointer. You can use this member on a data type or on a type that inherits from a . - - - A dynamic type that determines the type of an object at run time and marshals the object as that type. This member is valid for platform invoke methods only. - - - A pointer to the first element of a C-style array. When marshaling from managed to unmanaged code, the length of the array is determined by the length of the managed array. When marshaling from unmanaged to managed code, the length of the array is determined from the and fields, optionally followed by the unmanaged type of the elements within the array when it is necessary to differentiate among string types. - - - A pointer to a C-style structure that you use to marshal managed formatted classes. This member is valid for platform invoke methods only. - - - Specifies the custom marshaler class when used with the or field. The field can be used to pass additional information to the custom marshaler. You can use this member on any reference type. - - - A native type that is associated with an or an and that causes the parameter to be exported as an HRESULT in the exported type library. - - - A Windows Runtime interface pointer. You can use this member on the data type. - - - A Windows Runtime string. You can use this member on the data type. - - - A pointer to a UTF-8 encoded string. - - - Use instead. - - - Use instead. - - - Indicates how to marshal the array elements when an array is marshaled from managed to unmanaged code as a . - - - Indicates that a value was not specified. - - - Indicates a null value, similar to a null value in SQL. - - - Indicates a integer. - - - Indicates a integer. - - - Indicates a value. - - - Indicates a value. - - - Indicates a currency value. - - - Indicates a DATE value. - - - Indicates a BSTR string. - - - Indicates an pointer. - - - Indicates an SCODE. - - - Indicates a Boolean value. - - - Indicates a VARIANT pointer. - - - Indicates an pointer. - - - Indicates a value. - - - Indicates a value. - - - Indicates a . - - - Indicates an . - - - Indicates an . - - - Indicates a 64-bit integer. - - - Indicates an 64-bit unsigned integer. - - - Indicates an integer value. - - - Indicates an integer value. - - - Indicates a C style . - - - Indicates an HRESULT. - - - Indicates a pointer type. - - - Indicates a SAFEARRAY. Not valid in a VARIANT. - - - Indicates a C style array. - - - Indicates a user defined type. - - - Indicates a null-terminated string. - - - Indicates a wide string terminated by . - - - Indicates a user defined type. - - - Indicates a FILETIME value. - - - Indicates length prefixed bytes. - - - Indicates that the name of a stream follows. - - - Indicates that the name of a storage follows. - - - Indicates that a stream contains an object. - - - Indicates that a storage contains an object. - - - Indicates that a blob contains an object. - - - Indicates the clipboard format. - - - Indicates a class ID. - - - Indicates a simple, counted array. - - - Indicates a pointer. - - - Indicates that a value is a reference. - - - Use instead. - - - Assignment to the variable should not be allowed. - - - The variable returns an object that is a source of events. - - - The variable supports data binding. - - - When set, any attempt to directly change the property results in a call to . The implementation of determines if the change is accepted. - - - The variable is displayed to the user as bindable. must also be set. - - - The variable is the single property that best represents the object. Only one variable in type information can have this attribute. - - - The variable should not be displayed to the user in a browser, although it exists and is bindable. - - - The variable should not be accessible from macro languages. This flag is intended for system-level variables or variables that you do not want type browsers to display. - - - Permits an optimization in which the compiler looks for a member named "xyz" on the type of "abc". If such a member is found and is flagged as an accessor function for an element of the default collection, then a call is generated to that member function. Permitted on members in dispinterfaces and interfaces; not permitted on modules. - - - The variable is the default display in the user interface. - - - The variable appears in an object browser, but not in a properties browser. - - - Tags the interface as having default behaviors. - - - The variable is mapped as individual bindable properties. - - - Marshals data of type from managed to unmanaged code. This class cannot be inherited. - - - Specifies the default interface of a managed Windows Runtime class. - - - Provides data for the event. - - - A token that is returned when an event handler is added to a Windows Runtime event. The token is used to remove the event handler from the event at a later time. - - - Stores mappings between delegates and event tokens, to support the implementation of a Windows Runtime event in managed code. - The type of the event handler delegate for a particular event. - - - Enables classes to be activated by the Windows Runtime. - - - Specifies the version of the target type that first implemented the specified interface. - - - Provides data for the event. - - - When applied to an array parameter in a Windows Runtime component, specifies that the contents of the array that is passed to that parameter are used only for input. The caller expects the array to be unchanged by the call. See the Remarks section for important information about callers that are written using managed code. - - - Specifies the name of the return value of a method in a Windows Runtime component. - - - Provides helper methods for marshaling data between the .NET Framework and the Windows Runtime. - - - Provides an event for resolving reflection-only type requests for types that are provided by Windows Metadata files, and methods for performing the resolution. - - - When applied to an array parameter in a Windows Runtime component, specifies that the contents of an array that is passed to that parameter are used only for output. The caller does not guarantee that the contents are initialized, and the called method should not read the contents. See the Remarks section for important information about callers that are written using managed code. - - - Checks for sufficient memory resources before executing an operation. This class cannot be inherited. - - - - Improves the startup performance of application domains in applications that require the just-in-time (JIT) compiler by performing background compilation of methods that are likely to be executed, based on profiles created during previous compilations. - - - Holds values for an object type registered on the client end as a type that can be activated on the server. - - - Holds values for an object type registered on the service end as one that can be activated on request from a client. - - - Defines the appropriate position for a in the chain of activators. - - - Constructs a blank object and runs the constructor. - - - Finds or creates a suitable context. - - - Finds or creates a . - - - Starts a process. - - - Finds a suitable computer. - - - Provides the basic functionality for a remoting activator class. - - - Represents the construction call request of an object. - - - Identifies a that is returned after attempting to activate a remote object. - - - Defines an attribute that can be used at the call site to specify the URL where the activation will happen. This class cannot be inherited. - - - Provides a base implementation of a channel object that exposes a dictionary interface to its properties. - - - Provides a base implementation for channel sinks that want to expose a dictionary interface to their properties. - - - Provides a base implementation for channels that want to expose a dictionary interface to their properties. - - - Stores channel data for the remoting channels. - - - Provides static methods to aid with remoting channel registration, resolution, and URL discovery. This class cannot be inherited. - - - Holds the stack of client channel sinks that must be invoked during an asynchronous message response decoding. - - - Provides conduits for messages that cross remoting boundaries. - - - Stores channel data for the remoting channels. - - - Provides required functions and properties for the receiver channels. - - - Indicates that the implementing channel wants to hook into the outside listener service. - - - Provides required functions and properties for the sender channels. - - - Provides the base interface for channel sinks. - - - Provides required functions and properties for client channel sinks. - - - Creates client channel sinks for the client channel through which remoting messages flow. - - - Provides functionality for a stack of client channel sinks that must be invoked during an asynchronous message response decoding. - - - Marks a sink as a client formatter sink that serializes messages into a stream. - - - Marks a client channel sink provider as a client formatter sink provider. - - - Provides the stack functionality for a stack of client response channel sinks that must be invoked during an asynchronous message response decoding. - - - The contains one property, , which gets or sets a Boolean value that indicates whether the current channel is secure. - - - Provides methods used for security and transport sinks. - - - Creates server channel sinks for the server channel through which remoting messages flow. - - - Provides the stack functionality for a stack of server channel sinks. - - - Marks a server channel sink provider as a server formatter sink provider. - - - Provides the stack functionality for a stack of server response channel sinks. - - - Stores a collection of headers used in the channel sinks. - - - Holds the stack of server channel sinks. - - - Indicates the status of the server message processing. - - - The server synchronously processed the message. - - - The message was dispatched and no response can be sent. - - - The call was dispatched asynchronously, which indicates that the sink must store response data on the stack for later processing. - - - Stores sink provider data for sink providers. - - - Stores a collection of headers used in the channel sinks. - - - Defines an environment for the objects that are resident inside it and for which a policy can be enforced. - - - Provides the default implementations of the and interfaces. - - - Holds the name/value pair of the property name and the object representing the property of a context. - - - Represents the method that will handle the requests of execution of some code in another context. - - - Identifies a context attribute. - - - Gathers naming information from the context property and determines whether the new context is ok for the context property. - - - Indicates that the implementing property is interested in participating in activation and might not have provided a message sink. - - - Contributes an interception sink at the context boundary on the client end of a remoting call. - - - Indicates that the implementing property will be registered at runtime through the method. - - - Contributes an envoy message sink on the client end. - - - Contributes an object-specific interception sink on the server end of a remoting call. - - - Contributes an interception sink at the context boundary on the server end of a remoting call. - - - Indicates that the implementing message sink will be provided by dynamically registered properties. - - - Indicates that the implementing property should be registered at runtime through the method. - - - Enforces a synchronization domain for the current context and all contexts that share the same instance. - - - Specifies how custom errors are handled. - - - All callers receive filtered exception information. - - - All callers receive complete exception information. - - - Local callers receive complete exception information; remote callers receive filtered exception information. - - - Provides custom channel information that is carried along with the . - - - Provides envoy information. - - - Defines utility methods for use by the .NET Framework remoting infrastructure. - - - Defines the interface for unwrapping marshal-by-value objects from indirection. - - - Provides type information for an object. - - - Provides a default implementation for a lifetime sponsor class. - - - Defines a lifetime lease object that is used by the remoting lifetime service. - - - Indicates that the implementer wants to be a lifetime lease sponsor. - - - Indicates the possible lease states of a lifetime lease. - - - The lease is not initialized. - - - The lease has been created, but is not yet active. - - - The lease is active and has not expired. - - - The lease has expired and is seeking sponsorship. - - - The lease has expired and cannot be renewed. - - - Controls the.NET remoting lifetime services. - - - Encapsulates the results of an asynchronous operation on a delegate. - - - Provides a set of properties that are carried with the execution code path. This class cannot be inherited. - - - Implements the interface to create a request message that constitutes a constructor call on a remote object. - - - Implements the interface to create a message that responds to a call to instantiate a remote object. - - - Defines the out-of-band data for a call. - - - Represents the method that will handle processing of headers on the stream during deserialization. - The headers of the event. - A that conveys information about a remote function call. - - - Marks an object that can propagate outside of an in a . - - - Contains communication data sent between cooperating message sinks. - - - Provides a way to control asynchronous messages after they have dispatched using the . - - - Defines the interface for a message sink. - - - Defines the method call message interface. - - - Defines the method message interface. - - - Defines the method call return message interface. - - - Wraps remoting data for passing between message sinks, either for requests from client to server or for the subsequent responses. - - - Provides the remote procedure call (RPC) interface for all formatters. - - - Provides a set of properties that are carried with the execution code path during remote method calls. - - - Determines whether the class should ignore a particular property while creating an for a class. - The key to a particular remoting message property. - The value of a particular remoting message property. - True if the class should ignore a particular property while creating an for a class. - - - Implements the interface to create a request message that acts as a method call on a remote object. - - - Implements the interface to create a request message that acts as a method call on a remote object. - - - Implements the interface to create a message that acts as a method response on a remote object. - - - Implements the interface to create a message that acts as a response to a method call on a remote object. - - - Marks a method as one way, without a return value and or parameters. - - - Selects the remoting surrogate that can be used to serialize an object that derives from a . - - - Holds a message returned in response to a method call on a remote object. - - - Provides default functionality for all SOAP attributes. - - - Customizes SOAP generation and processing for a field. This class cannot be inherited. - - - Customizes SOAP generation and processing for a method. This class cannot be inherited. - - - Specifies the SOAP configuration options for use with the class. - - - The default option indicating that no extra options are selected. - - - Indicates that type will always be included on SOAP elements. This option is useful when performing SOAP interop with SOAP implementations that require types on all elements. - - - Indicates that the output SOAP string type in a SOAP Envelope is using the prefix, and that the resulting XML does not have an ID attribute for the string. - - - Indicates that SOAP will be generated without references. This option is currently not implemented. - - - Public reserved option for temporary interop conditions; the use will change. - - - Public reserved option for temporary interop conditions; the use will change. - - - Customizes SOAP generation and processing for a parameter. This class cannot be inherited. - - - Customizes SOAP generation and processing for target types. This class cannot be inherited. - - - Provides access to the XML Schema definition language (XSD) of a SOAP type. - - - Wraps an XSD type. - - - Wraps an XSD type. - - - Wraps an XSD type. - - - Provides static methods for the serialization and deserialization of to a string that is formatted as XSD . - - - Wraps an XSD type. - - - Provides static methods for the serialization and deserialization of to a string that is formatted as XSD . - - - Wraps an XML attribute. - - - Wraps an XML attribute. - - - Wraps an XSD type. - - - Wraps an XML attribute. - - - Wraps an XML attribute. - - - Wraps an XML attribute. - - - Wraps an XSD type. - - - Wraps an XML type. - - - Wraps an XSD type. - - - Wraps an XSD type. - - - Wraps an XML type. - - - Wraps an XML type. - - - Wraps an XSD type. - - - Wraps an XML attribute. - - - Wraps an XML attribute. - - - Wraps an XSD type. - - - Wraps an XSD type. - - - Wraps an XML type. - - - Wraps an XML attribute type. - - - Wraps an XSD type. - - - Wraps an XSD type. - - - Wraps an XSD type. - - - Wraps an XML type. - - - Wraps an XSD type. - - - Wraps an XSD type. - - - You should not use this enumeration; it is not used by the .NET Framework remoting infrastructure. - - - You should not use the XmlFieldOrderOption enumeration; it is not used by the .NET Framework's remoting infrastructure. - - - You should not use the XmlFieldOrderOption enumeration; it is not used by the .NET Framework's remoting infrastructure. - - - You should not use the XmlFieldOrderOption enumeration; it is not used by the .NET Framework's remoting infrastructure. - - - Wraps marshal-by-value object references, allowing them to be returned through an indirection. - - - Stores all relevant information required to generate a proxy in order to communicate with a remote object. - - - Indicates that an object type requires a custom proxy. - - - Provides base functionality for proxies. - - - Provides various static methods for configuring the remoting infrastructure. - - - The exception that is thrown when something has gone wrong during remoting. - - - Provides several methods for using and publishing remoted objects and proxies. This class cannot be inherited. - - - The exception that is thrown when the server or the client cannot be reached for a previously specified period of time. - - - The exception that is thrown to communicate errors to the client when the client connects to non-.NET Framework applications that cannot throw exceptions. - - - Provides APIs that are needed for communication and operation with unmanaged classes outside of the . This class cannot be inherited. - - - Indicates that the implementing object must be notified of marshaling, unmarshaling, and disconnection of objects and proxies by the remoting infrastructure. - - - Provides a way to register, unregister, and obtain a list of tracking handlers. - - - Provides several methods for using and publishing remoted objects in SOAP format. - - - Implements a base class that holds the configuration information used to activate an instance of a remote type. - - - Holds values for an object type registered on the client as a server-activated type (single call or singleton). - - - Defines how well-known objects are activated. - - - Every incoming message is serviced by the same object instance. - - - Every incoming message is serviced by a new object instance. - - - Holds values for an object type registered on the service end as a server-activated type object (single call or singleton). - - - Provides base functionality for the common language runtime serialization formatters. - - - Represents a base implementation of the interface that uses the class and the interface. - - - Serializes and deserializes an object, or an entire graph of connected objects, in binary format. - - - Indicates the method that will be used during deserialization for locating and loading assemblies. - - - In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the method is used to load the assembly. - - - In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The method of the class is used to load the assembly. - - - Indicates the format in which type descriptions are laid out in the serialized stream. - - - Indicates that types can be stated only for arrays of objects, object members of type , and non-primitive value types. - - - Indicates that types can be given to all object members and object members. - - - Indicates that strings can be given in the XSD format rather than SOAP. No string IDs are transmitted. - - - Allows access to field names and field types of objects that support the interface. - - - Logs tracing messages when the .NET Framework serialization infrastructure is compiled. - - - Logs tracing messages when the .NET Framework serialization infrastructure is compiled. - - - Provides an interface for an object that contains the names and types of parameters required during serialization of a SOAP RPC (Remote Procedure Call). - - - Contains information for a server fault. This class cannot be inherited. - - - Carries error and status information within a SOAP message. This class cannot be inherited. - - - Holds the names and types of parameters required during serialization of a SOAP RPC (Remote Procedure Call). - - - Specifies the level of automatic deserialization for .NET Framework remoting. - - - The low deserialization level for .NET Framework remoting. It supports types associated with basic remoting functionality. - - - The full deserialization level for .NET Framework remoting. It supports all types that remoting supports in all situations. - - - Provides static methods to aid with the implementation of a for serialization. This class cannot be inherited. - - - Indicates that a class is to be notified when deserialization of the entire object graph has been completed. Note that this interface is not called when deserializing with the XmlSerializer (System.Xml.Serialization.XmlSerializer). - - - Provides functionality for formatting serialized objects. - - - Provides the connection between an instance of and the formatter-provided class best suited to parse the data inside the . - - - Indicates that the current interface implementer is a reference to another object. - - - Enables serialization of custom exception data in security-transparent code. - - - Allows an object to control its own serialization and deserialization. - - - Implements a serialization surrogate selector that allows one object to perform serialization and deserialization of another. - - - Indicates a serialization surrogate selector class. - - - Generates IDs for objects. - - - Keeps track of objects as they are deserialized. - - - When applied to a method, specifies that the method is called immediately after deserialization of an object in an object graph. The order of deserialization relative to other objects in the graph is non-deterministic. - - - When applied to a method, specifies that the method is called during deserialization of an object in an object graph. The order of deserialization relative to other objects in the graph is non-deterministic. - - - When applied to a method, specifies that the method is called after serialization of an object in an object graph. The order of serialization relative to other objects in the graph is non-deterministic. - - - When applied to a method, specifies that the method is during serialization of an object in an object graph. The order of serialization relative to other objects in the graph is non-deterministic. - - - Specifies that a field can be missing from a serialization stream so that the and the does not throw an exception. - - - Provides data for the event. - - - Allows users to control class loading and mandate what class to load. - - - Holds the value, , and name of a serialized object. - - - The exception thrown when an error occurs during serialization or deserialization. - - - Stores all the data needed to serialize or deserialize an object. This class cannot be inherited. - - - Provides a formatter-friendly mechanism for parsing the data in . This class cannot be inherited. - - - Manages serialization processes at run time. This class cannot be inherited. - - - Describes the source and destination of a given serialized stream, and provides an additional caller-defined context. - - - Defines a set of flags that specifies the source or destination context for the stream during serialization. - - - Specifies that the source or destination context is a different process on the same computer. - - - Specifies that the source or destination context is a different computer. - - - Specifies that the source or destination context is a file. Users can assume that files will last longer than the process that created them and not serialize objects in such a way that deserialization will require accessing any data from the current process. - - - Specifies that the source or destination context is a persisted store, which could include databases, files, or other backing stores. Users can assume that persisted data will last longer than the process that created the data and not serialize objects so that deserialization will require accessing any data from the current process. - - - Specifies that the data is remoted to a context in an unknown location. Users cannot make any assumptions whether this is on the same computer. - - - Specifies that the serialization context is unknown. - - - Specifies that the object graph is being cloned. Users can assume that the cloned graph will continue to exist within the same process and be safe to access handles or other references to unmanaged resources. - - - Specifies that the source or destination context is a different AppDomain. (For a description of AppDomains, see Application Domains). - - - Specifies that the serialized data can be transmitted to or received from any of the other contexts. - - - Assists formatters in selection of the serialization surrogate to delegate the serialization or deserialization process to. - - - Indicates that the .NET Framework class library method to which this attribute is applied is unlikely to be affected by servicing releases, and therefore is eligible to be inlined across Native Image Generator (NGen) images. - - - Defines the compatibility guarantee of a component, type, or type member that may span multiple versions. - - - Describes the compatibility guarantee of a component, type, or type member that may span multiple versions. - - - The developer does not guarantee compatibility across versions. Consumers of the component, type, or member can expect future versions to break the existing client. - - - The developer promises multi-version exchange compatibility for the type. Consumers of the type can expect compatibility across future versions and can use the type in all their interfaces. Versioning problems cannot be fixed by side-by-side execution. - - - The developer promises stable compatibility across versions. Consumers of the type can expect that future versions will not break the existing client. However, if they do and if the client has not used the type in its interfaces, side-by-side execution may fix the problem. - - - The component has been tested to work when more than one version of the assembly is loaded into the same application domain. Future versions can break compatibility. However, when such breaking changes are made, the old version is not modified but continues to exist alongside the new version. - - - Specifies the resource consumed by the member of a class. This class cannot be inherited. - - - Specifies the resource exposure for a member of a class. This class cannot be inherited. - - - Identifies the scope of a sharable resource. - - - There is no shared state. - - - The state is shared by objects within the machine. - - - The state is shared within a process. - - - The state is shared by objects within an . - - - The state is shared by objects within a library. - - - The resource is visible to only the type. - - - The resource is visible at an assembly scope. - - - Identifies the version of the .NET Framework that a particular assembly was compiled against. - - - Provides methods to aid developers in writing version-safe code. This class cannot be inherited. - - - References a variable-length argument list. - - - Represents a field using an internal metadata token. - - - - is a handle to the internal metadata representation of a method. - - - Represents a type using an internal metadata token. - - - Represents an 8-bit signed integer. - - - Specifies the actions that are permitted for securable objects. - - - Specifies no access. - - - Specifies read-only access. - - - Specifies write-only access. - - - Specifies the type of access control modification to perform. This enumeration is used by methods of the class and its descendents. - - - Add the specified authorization rule to the access control list (ACL). - - - Remove all authorization rules from the ACL, then add the specified authorization rule to the ACL. - - - Remove authorization rules that contain the same SID as the specified authorization rule from the ACL, and then add the specified authorization rule to the ACL. - - - Remove authorization rules that contain the same security identifier (SID) and access mask as the specified authorization rule from the ACL. - - - Remove authorization rules that contain the same SID as the specified authorization rule from the ACL. - - - Remove authorization rules that exactly match the specified authorization rule from the ACL. - - - Specifies which sections of a security descriptor to save or load. - - - No sections. - - - The system access control list (SACL). - - - The discretionary access control list (DACL). - - - The owner. - - - The primary group. - - - The entire security descriptor. - - - Specifies whether an object is used to allow or deny access. These values are not flags, and they cannot be combined. - - - The object is used to allow access to a secured object. - - - The object is used to deny access to a secured object. - - - Represents a combination of a user's identity, an access mask, and an access control type (allow or deny). An object also contains information about the how the rule is inherited by child objects and how that inheritance is propagated. - - - Represents a combination of a user's identity, an access mask, and an access control type (allow or deny). An AccessRule`1 object also contains information about the how the rule is inherited by child objects and how that inheritance is propagated. - The access rights type for the access rule. - - - Provides the ability to iterate through the access control entries (ACEs) in an access control list (ACL). - - - Specifies the inheritance and auditing behavior of an access control entry (ACE). - - - No ACE flags are set. - - - The access mask is propagated onto child leaf objects. - - - The access mask is propagated to child container objects. - - - The access checks do not apply to the object; they only apply to its children. - - - The access mask is propagated only to child objects. This includes both container and leaf child objects. - - - An ACE is inherited from a parent container rather than being explicitly set for an object. - - - Successful access attempts are audited. - - - Failed access attempts are audited. - - - A logical of , , , and . - - - All access attempts are audited. - - - Specifies the function of an access control entry (ACE). - - - Allow access. - - - Deny access. - - - Cause a system audit. - - - Cause a system alarm. - - - Defines the available access control entry (ACE) types. - - - Allows access to an object for a specific trustee identified by an object. - - - Denies access to an object for a specific trustee identified by an object. - - - Causes an audit message to be logged when a specified trustee attempts to gain access to an object. The trustee is identified by an object. - - - Reserved for future use. - - - Defined but never used. Included here for completeness. - - - Allows access to an object, property set, or property. The ACE contains a set of access rights, a GUID that identifies the type of object, and an object that identifies the trustee to whom the system will grant access. The ACE also contains a GUID and a set of flags that control inheritance of the ACE by child objects. - - - Denies access to an object, property set, or property. The ACE contains a set of access rights, a GUID that identifies the type of object, and an object that identifies the trustee to whom the system will grant access. The ACE also contains a GUID and a set of flags that control inheritance of the ACE by child objects. - - - Causes an audit message to be logged when a specified trustee attempts to gain access to an object or subobjects such as property sets or properties. The ACE contains a set of access rights, a GUID that identifies the type of object or subobject, and an object that identifies the trustee for whom the system will audit access. The ACE also contains a GUID and a set of flags that control inheritance of the ACE by child objects. - - - Reserved for future use. - - - Allows access to an object for a specific trustee identified by an object. This ACE type may contain optional callback data. The callback data is a resource manager–specific BLOB that is not interpreted. - - - Denies access to an object for a specific trustee identified by an object. This ACE type can contain optional callback data. The callback data is a resource manager–specific BLOB that is not interpreted. - - - Allows access to an object, property set, or property. The ACE contains a set of access rights, a GUID that identifies the type of object, and an object that identifies the trustee to whom the system will grant access. The ACE also contains a GUID and a set of flags that control inheritance of the ACE by child objects. This ACE type may contain optional callback data. The callback data is a resource manager–specific BLOB that is not interpreted. - - - Denies access to an object, property set, or property. The ACE contains a set of access rights, a GUID that identifies the type of object, and an object that identifies the trustee to whom the system will grant access. The ACE also contains a GUID and a set of flags that control inheritance of the ACE by child objects. This ACE type can contain optional callback data. The callback data is a resource manager–specific BLOB that is not interpreted. - - - Causes an audit message to be logged when a specified trustee attempts to gain access to an object. The trustee is identified by an object. This ACE type can contain optional callback data. The callback data is a resource manager–specific BLOB that is not interpreted. - - - Reserved for future use. - - - Causes an audit message to be logged when a specified trustee attempts to gain access to an object or subobjects such as property sets or properties. The ACE contains a set of access rights, a GUID that identifies the type of object or subobject, and an object that identifies the trustee for whom the system will audit access. The ACE also contains a GUID and a set of flags that control inheritance of the ACE by child objects. This ACE type can contain optional callback data. The callback data is a resource manager–specific BLOB that is not interpreted. - - - Reserved for future use. - - - Tracks the maximum defined ACE type in the enumeration. - - - Specifies the conditions for auditing attempts to access a securable object. - - - No access attempts are to be audited. - - - Successful access attempts are to be audited. - - - Failed access attempts are to be audited. - - - Represents a combination of a user's identity and an access mask. An object also contains information about how the rule is inherited by child objects, how that inheritance is propagated, and for what conditions it is audited. - - - Represents a combination of a user’s identity and an access mask. - The type of the audit rule. - - - Determines access to securable objects. The derived classes and offer specializations for access and audit functionality. - - - Represents a collection of objects. - - - Represents an access control entry (ACE). - - - Represents an access control list (ACL) and is the base class for the and classes. - - - Controls access to objects without direct manipulation of access control lists (ACLs). This class is the abstract base class for the class. - - - Represents a security descriptor. A security descriptor includes an owner, a primary group, a Discretionary Access Control List (DACL), and a System Access Control List (SACL). - - - Represents a compound Access Control Entry (ACE). - - - Specifies the type of a object. - - - The object is used for impersonation. - - - These flags affect the security descriptor behavior. - - - No control flags. - - - Specifies that the owner was obtained by a defaulting mechanism. Set by resource managers only; should not be set by callers. - - - Specifies that the group was obtained by a defaulting mechanism. Set by resource managers only; should not be set by callers. - - - Specifies that the DACL is not . Set by resource managers or users. - - - Specifies that the DACL was obtained by a defaulting mechanism. Set by resource managers only. - - - Specifies that the SACL is not . Set by resource managers or users. - - - Specifies that the SACL was obtained by a defaulting mechanism. Set by resource managers only. - - - Ignored. - - - Ignored. - - - Ignored. - - - Ignored. - - - Specifies that the Discretionary Access Control List (DACL) has been automatically inherited from the parent. Set by resource managers only. - - - Specifies that the System Access Control List (SACL) has been automatically inherited from the parent. Set by resource managers only. - - - Specifies that the resource manager prevents auto-inheritance. Set by resource managers or users. - - - Specifies that the resource manager prevents auto-inheritance. Set by resource managers or users. - - - Specifies that the contents of the Reserved field are valid. - - - Specifies that the security descriptor binary representation is in the self-relative format. This flag is always set. - - - Represents an access rule for a cryptographic key. An access rule represents a combination of a user's identity, an access mask, and an access control type (allow or deny). An access rule object also contains information about the how the rule is inherited by child objects and how that inheritance is propagated. - - - Represents an audit rule for a cryptographic key. An audit rule represents a combination of a user's identity and an access mask. An audit rule also contains information about the how the rule is inherited by child objects, how that inheritance is propagated, and for what conditions it is audited. - - - Specifies the cryptographic key operation for which an authorization rule controls access or auditing. - - - Read the key data. - - - Write key data. - - - Read extended attributes of the key. - - - Write extended attributes of the key. - - - Read attributes of the key. - - - Write attributes of the key. - - - Delete the key. - - - Read permissions for the key. - - - Change permissions for the key. - - - Take ownership of the key. - - - Use the key for synchronization. - - - Full control of the key. - - - A combination of and . - - - Not used. - - - Write the key data, extended attributes of the key, attributes of the key, and permissions for the key. - - - Read the key data, extended attributes of the key, attributes of the key, and permissions for the key. - - - Provides the ability to control access to a cryptographic key object without direct manipulation of an Access Control List (ACL). - - - Represents an Access Control Entry (ACE) that is not defined by one of the members of the enumeration. - - - Provides the ability to control access to directory objects without direct manipulation of Access Control Lists (ACLs). - - - Represents the access control and audit security for a directory. This class cannot be inherited. - - - Represents a Discretionary Access Control List (DACL). - - - Represents a set of access rights allowed or denied for a user or group. This class cannot be inherited. - - - Represents a set of access rights to be audited for a user or group. This class cannot be inherited. - - - Specifies the access control rights that can be applied to named system event objects. - - - The right to set or reset the signaled state of a named event. - - - The right to delete a named event. - - - The right to open and copy the access rules and audit rules for a named event. - - - The right to change the security and audit rules associated with a named event. - - - The right to change the owner of a named event. - - - The right to wait on a named event. - - - The right to exert full control over a named event, and to modify its access rules and audit rules. - - - Represents the Windows access control security applied to a named system wait handle. This class cannot be inherited. - - - Represents the access control and audit security for a file. This class cannot be inherited. - - - Represents an abstraction of an access control entry (ACE) that defines an access rule for a file or directory. This class cannot be inherited. - - - Represents an abstraction of an access control entry (ACE) that defines an audit rule for a file or directory. This class cannot be inherited. - - - Defines the access rights to use when creating access and audit rules. - - - Specifies the right to open and copy a file or folder. This does not include the right to read file system attributes, extended file system attributes, or access and audit rules. - - - Specifies the right to read the contents of a directory. - - - Specifies the right to open and write to a file or folder. This does not include the right to open and write file system attributes, extended file system attributes, or access and audit rules. - - - Specifies the right to create a file. - - - Specifies the right to append data to the end of a file. - - - Specifies the right to create a folder. - - - Specifies the right to open and copy extended file system attributes from a folder or file. For example, this value specifies the right to view author and content information. This does not include the right to read data, file system attributes, or access and audit rules. - - - Specifies the right to open and write extended file system attributes to a folder or file. This does not include the ability to write data, attributes, or access and audit rules. - - - Specifies the right to run an application file. - - - Specifies the right to list the contents of a folder and to run applications contained within that folder. - - - Specifies the right to delete a folder and any files contained within that folder. - - - Specifies the right to open and copy file system attributes from a folder or file. For example, this value specifies the right to view the file creation or modified date. This does not include the right to read data, extended file system attributes, or access and audit rules. - - - Specifies the right to open and write file system attributes to a folder or file. This does not include the ability to write data, extended attributes, or access and audit rules. - - - Specifies the right to delete a folder or file. - - - Specifies the right to open and copy access and audit rules from a folder or file. This does not include the right to read data, file system attributes, and extended file system attributes. - - - Specifies the right to change the security and audit rules associated with a file or folder. - - - Specifies the right to change the owner of a folder or file. Note that owners of a resource have full access to that resource. - - - Specifies whether the application can wait for a file handle to synchronize with the completion of an I/O operation. - - - Specifies the right to exert full control over a folder or file, and to modify access control and audit rules. This value represents the right to do anything with a file and is the combination of all rights in this enumeration. - - - Specifies the right to open and copy folders or files as read-only. This right includes the right, right, right, and right. - - - Specifies the right to open and copy folders or files as read-only, and to run application files. This right includes the right and the right. - - - Specifies the right to create folders and files, and to add or remove data from files. This right includes the right, right, right, and right. - - - Specifies the right to read, write, list folder contents, delete folders and files, and run application files. This right includes the right, the right, and the right. - - - Represents the access control and audit security for a file or directory. - - - Represents an Access Control Entry (ACE), and is the base class for all other ACE classes. - - - Represents an access control list (ACL) and is the base class for the , , , and classes. - - - Represents a security descriptor. A security descriptor includes an owner, a primary group, a Discretionary Access Control List (DACL), and a System Access Control List (SACL). - - - Inheritance flags specify the semantics of inheritance for access control entries (ACEs). - - - The ACE is not inherited by child objects. - - - The ACE is inherited by child container objects. - - - The ACE is inherited by child leaf objects. - - - Encapsulates all Access Control Entry (ACE) types currently defined by Microsoft Corporation. All objects contain a 32-bit access mask and a object. - - - Represents a set of access rights allowed or denied for a user or group. This class cannot be inherited. - - - Represents a set of access rights to be audited for a user or group. This class cannot be inherited. - - - Specifies the access control rights that can be applied to named system mutex objects. - - - The right to release a named mutex. - - - The right to delete a named mutex. - - - The right to open and copy the access rules and audit rules for a named mutex. - - - The right to change the security and audit rules associated with a named mutex. - - - The right to change the owner of a named mutex. - - - The right to wait on a named mutex. - - - The right to exert full control over a named mutex, and to modify its access rules and audit rules. - - - Represents the Windows access control security for a named mutex. This class cannot be inherited. - - - Provides the ability to control access to native objects without direct manipulation of Access Control Lists (ACLs). Native object types are defined by the enumeration. - - - Provides a way for integrators to map numeric error codes to specific exceptions that they create. - The numeric error code. - The name of the securable object with which the object is associated. - The handle of the securable object with which the object is associated. - An object that contains contextual information about the source or destination of the exception. - The this delegate creates. - - - Represents a combination of a user's identity, an access mask, and an access control type (allow or deny). An object also contains information about the type of object to which the rule applies, the type of child object that can inherit the rule, how the rule is inherited by child objects, and how that inheritance is propagated. - - - Controls access to Directory Services objects. This class represents an Access Control Entry (ACE) associated with a directory object. - - - Specifies the presence of object types for Access Control Entries (ACEs). - - - No object types are present. - - - The type of object that is associated with the ACE is present. - - - The type of object that can inherit the ACE. - - - Represents a combination of a user's identity, an access mask, and audit conditions. An object also contains information about the type of object to which the rule applies, the type of child object that can inherit the rule, how the rule is inherited by child objects, and how that inheritance is propagated. - - - Provides the ability to control access to objects without direct manipulation of Access Control Lists (ACLs). This class is the abstract base class for the and classes. - - - Provides the ability to control access to objects without direct manipulation of Access Control Lists (ACLs); also grants the ability to type-cast access rights. - The access rights for the object. - - - The exception that is thrown when a method in the namespace attempts to enable a privilege that it does not have. - - - Specifies how Access Control Entries (ACEs) are propagated to child objects. These flags are significant only if inheritance flags are present. - - - Specifies that no inheritance flags are set. - - - Specifies that the ACE is not propagated to child objects. - - - Specifies that the ACE is propagated only to child objects. This includes both container and leaf child objects. - - - Represents an Access Control Entry (ACE) that contains a qualifier. The qualifier, represented by an object, specifies whether the ACE allows access, denies access, causes system audits, or causes system alarms. The class is the abstract base class for the and classes. - - - Represents an Access Control List (ACL). - - - Represents a security descriptor. A security descriptor includes an owner, a primary group, a Discretionary Access Control List (DACL), and a System Access Control List (SACL). - - - Represents a set of access rights allowed or denied for a user or group. This class cannot be inherited. - - - Represents a set of access rights to be audited for a user or group. This class cannot be inherited. - - - Specifies the access control rights that can be applied to registry objects. - - - The right to query the name/value pairs in a registry key. - - - The right to create, delete, or set name/value pairs in a registry key. - - - The right to create subkeys of a registry key. - - - The right to list the subkeys of a registry key. - - - The right to request notification of changes on a registry key. - - - Reserved for system use. - - - Same as . - - - The right to query the name/value pairs in a registry key, to request notification of changes, to enumerate its subkeys, and to read its access rules and audit rules. - - - The right to create, delete, and set the name/value pairs in a registry key, to create or delete subkeys, to request notification of changes, to enumerate its subkeys, and to read its access rules and audit rules. - - - The right to delete a registry key. - - - The right to open and copy the access rules and audit rules for a registry key. - - - The right to change the access rules and audit rules associated with a registry key. - - - The right to change the owner of a registry key. - - - The right to exert full control over a registry key, and to modify its access rules and audit rules. - - - Represents the Windows access control security for a registry key. This class cannot be inherited. - - - Specifies the defined native object types. - - - An unknown object type. - - - A file or directory. - - - A Windows service. - - - A printer. - - - A registry key. - - - A network share. - - - A local kernel object. - - - A window station or desktop object on the local computer. - - - A directory service (DS) object or a property set or property of a directory service object. - - - A directory service object and all of its property sets and properties. - - - An object defined by a provider. - - - A Windows Management Instrumentation (WMI) object. - - - An object for a registry entry under WOW64. - - - Specifies the section of a security descriptor to be queried or set. - - - Specifies the owner identifier. - - - Specifies the primary group identifier. - - - Specifies the discretionary access control list (DACL). - - - Specifies the system access control list (SACL). - - - Represents a System Access Control List (SACL). - - - Allows an assembly to be called by partially trusted code. Without this declaration, only fully trusted callers are able to use the assembly. This class cannot be inherited. - - - Represents a claim. - - - Represents a claims-based identity. - - - An implementation that supports multiple claims-based identities. - - - Defines constants for the well-known claim types that can be assigned to a subject. This class cannot be inherited. - - - Defines claim value types according to the type URIs defined by W3C and OASIS. This class cannot be inherited. - - - Defines the underlying structure of all code access permissions. - - - Represents the abstract base class from which all implementations of the Advanced Encryption Standard (AES) must inherit. - - - Represents the abstract base class from which all implementations of asymmetric algorithms must inherit. - - - Represents the base class from which all asymmetric key exchange deformatters derive. - - - Represents the base class from which all asymmetric key exchange formatters derive. - - - Represents the abstract base class from which all implementations of asymmetric signature deformatters derive. - - - Represents the base class from which all implementations of asymmetric signature formatters derive. - - - Specifies the block cipher mode to use for encryption. - - - The Cipher Block Chaining () mode introduces feedback. Before each plain text block is encrypted, it is combined with the cipher text of the previous block by a bitwise exclusive OR operation. This ensures that even if the plain text contains many identical blocks, they will each encrypt to a different cipher text block. The initialization vector is combined with the first plain text block by a bitwise exclusive OR operation before the block is encrypted. If a single bit of the cipher text block is mangled, the corresponding plain text block will also be mangled. In addition, a bit in the subsequent block, in the same position as the original mangled bit, will be mangled. - - - The Electronic Codebook () mode encrypts each block individually. Any blocks of plain text that are identical and in the same message, or that are in a different message encrypted with the same key, will be transformed into identical cipher text blocks. Important:  This mode is not recommended because it opens the door for multiple security exploits. If the plain text to be encrypted contains substantial repetition, it is feasible for the cipher text to be broken one block at a time. It is also possible to use block analysis to determine the encryption key. Also, an active adversary can substitute and exchange individual blocks without detection, which allows blocks to be saved and inserted into the stream at other points without detection. - - - The Output Feedback () mode processes small increments of plain text into cipher text instead of processing an entire block at a time. This mode is similar to ; the only difference between the two modes is the way that the shift register is filled. If a bit in the cipher text is mangled, the corresponding bit of plain text will be mangled. However, if there are extra or missing bits from the cipher text, the plain text will be mangled from that point on. - - - The Cipher Feedback () mode processes small increments of plain text into cipher text, instead of processing an entire block at a time. This mode uses a shift register that is one block in length and is divided into sections. For example, if the block size is 8 bytes, with one byte processed at a time, the shift register is divided into eight sections. If a bit in the cipher text is mangled, one plain text bit is mangled and the shift register is corrupted. This results in the next several plain text increments being mangled until the bad bit is shifted out of the shift register. The default feedback size can vary by algorithm, but is typically either 8 bits or the number of bits of the block size. You can alter the number of feedback bits by using the property. Algorithms that support CFB use this property to set the feedback. - - - The Cipher Text Stealing () mode handles any length of plain text and produces cipher text whose length matches the plain text length. This mode behaves like the mode for all but the last two blocks of the plain text. - - - Performs a cryptographic transformation of data. This class cannot be inherited. - - - Accesses the cryptography configuration information. - - - The exception that is thrown when an error occurs during a cryptographic operation. - - - The exception that is thrown when an unexpected operation occurs during a cryptographic operation. - - - Defines a stream that links data streams to cryptographic transformations. - - - Specifies the mode of a cryptographic stream. - - - Read access to a cryptographic stream. - - - Write access to a cryptographic stream. - - - Provides additional information about a cryptographic key pair. This class cannot be inherited. - - - Contains parameters that are passed to the cryptographic service provider (CSP) that performs cryptographic computations. This class cannot be inherited. - - - Specifies flags that modify the behavior of the cryptographic service providers (CSP). - - - Do not specify any settings. - - - Use key information from the computer's key store. - - - Use key information from the default key container. - - - Use key information that cannot be exported. - - - Use key information from the current key. - - - Allow a key to be exported for archival or recovery. - - - Notify the user through a dialog box or another method when certain actions are attempting to use a key. This flag is not compatible with the flag. - - - Prevent the CSP from displaying any user interface (UI) for this context. - - - Create a temporary key that is released when the associated Rivest-Shamir-Adleman (RSA) object is closed. Do not use this flag if you want your key to be independent of the RSA object. - - - Represents the abstract base class from which all classes that derive byte sequences of a specified length inherit. - - - Represents the base class for the Data Encryption Standard (DES) algorithm from which all implementations must derive. - - - Defines a wrapper object to access the cryptographic service provider (CSP) version of the Data Encryption Standard () algorithm. This class cannot be inherited. - - - Represents the abstract base class from which all implementations of the Digital Signature Algorithm () must inherit. - - - Defines a wrapper object to access the cryptographic service provider (CSP) implementation of the algorithm. This class cannot be inherited. - - - Contains the typical parameters for the algorithm. - - - Verifies a Digital Signature Algorithm () PKCS#1 v1.5 signature. - - - Creates a Digital Signature Algorithm () signature. - - - Converts a from base 64. - - - Specifies whether white space should be ignored in the base 64 transformation. - - - White space should be ignored. - - - White space should not be ignored. - - - Represents the base class from which all implementations of cryptographic hash algorithms must derive. - - - Specifies the name of a cryptographic hash algorithm. - - - Represents the abstract class from which all implementations of Hash-based Message Authentication Code (HMAC) must derive. - - - Computes a Hash-based Message Authentication Code (HMAC) by using the hash function. - - - Computes a Hash-based Message Authentication Code (HMAC) by using the hash function. - - - Computes a Hash-based Message Authentication Code (HMAC) using the hash function. - - - Computes a Hash-based Message Authentication Code (HMAC) by using the hash function. - - - Computes a Hash-based Message Authentication Code (HMAC) using the hash function. - - - Computes a Hash-based Message Authentication Code (HMAC) using the hash function. - - - Defines the basic operations of cryptographic transformations. - - - Defines methods that allow an class to enumerate key container information, and import and export Microsoft Cryptographic API (CAPI)–compatible key blobs. - - - Represents the abstract class from which all implementations of keyed hash algorithms must derive. - - - Specifies whether to create an asymmetric signature key or an asymmetric exchange key. - - - An exchange key pair used to encrypt session keys so that they can be safely stored and exchanged with other users. - - - A signature key pair used for authenticating digitally signed messages or files. - - - Determines the set of valid key sizes for the symmetric cryptographic algorithms. - - - Computes a Message Authentication Code (MAC) using for the input data . - - - Represents the abstract class from which all mask generator algorithms must derive. - - - Represents the abstract class from which all implementations of the hash algorithm inherit. - - - Computes the hash value for the input data using the implementation provided by the cryptographic service provider (CSP). This class cannot be inherited. - - - Specifies the type of padding to apply when the message data block is shorter than the full number of bytes needed for a cryptographic operation. - - - No padding is done. - - - The PKCS #7 padding string consists of a sequence of bytes, each of which is equal to the total number of padding bytes added. - - - The padding string consists of bytes set to zero. - - - The ANSIX923 padding string consists of a sequence of bytes filled with zeros before the length. - - - The ISO10126 padding string consists of random data before the length. - - - Derives a key from a password using an extension of the PBKDF1 algorithm. - - - Computes masks according to PKCS #1 for use by key exchange algorithms. - - - Represents the abstract class from which all implementations of cryptographic random number generators derive. - - - Represents the base class from which all implementations of the algorithm must derive. - - - Defines a wrapper object to access the cryptographic service provider (CSP) implementation of the algorithm. This class cannot be inherited. - - - Implements password-based key derivation functionality, PBKDF2, by using a pseudo-random number generator based on . - - - Represents the base class from which all implementations of the symmetric encryption algorithm must inherit. - - - Accesses the managed version of the algorithm. This class cannot be inherited. - - - Performs a cryptographic transformation of data using the Rijndael algorithm. This class cannot be inherited. - - - Represents the abstract class from which all implementations of the MD160 hash algorithm inherit. - - - Computes the hash for the input data using the managed library. - - - Implements a cryptographic Random Number Generator (RNG) using the implementation provided by the cryptographic service provider (CSP). This class cannot be inherited. - - - Represents the base class from which all implementations of the algorithm inherit. - - - Performs asymmetric encryption and decryption using the implementation of the algorithm provided by the cryptographic service provider (CSP). This class cannot be inherited. - - - Specifies the padding mode and parameters to use with RSA encryption or decryption operations. - - - Specifies the padding mode to use with RSA encryption or decryption operations. - - - PKCS #1 v1.5. - - - Optimal Asymmetric Encryption Padding. - - - Decrypts Optimal Asymmetric Encryption Padding (OAEP) key exchange data. - - - Creates Optimal Asymmetric Encryption Padding (OAEP) key exchange data using . - - - Represents the standard parameters for the algorithm. - - - Decrypts the PKCS #1 key exchange data. - - - Creates the PKCS#1 key exchange data using . - - - Verifies an PKCS #1 version 1.5 signature. - - - Creates an PKCS #1 version 1.5 signature. - - - Specifies the padding mode and parameters to use with RSA signature creation or verification operations. - - - Specifies the padding mode to use with RSA signature creation or verification operations. - - - PKCS #1 v1.5 - - - Probabilistic Signature Scheme - - - Computes the hash for the input data. - - - Computes the hash value for the input data using the implementation provided by the cryptographic service provider (CSP). This class cannot be inherited. - - - Computes the hash for the input data using the managed library. - - - Computes the hash for the input data. - - - Computes the hash for the input data using the managed library. - - - Computes the hash for the input data. - - - Computes the hash for the input data using the managed library. - - - Computes the hash for the input data. - - - Computes the hash algorithm for the input data using the managed library. - - - Contains information about the properties of a digital signature. - - - Represents the abstract base class from which all implementations of symmetric algorithms must inherit. - - - Converts a to base 64. - - - Represents the base class for Triple Data Encryption Standard algorithms from which all implementations must derive. - - - Defines a wrapper object to access the cryptographic service provider (CSP) version of the algorithm. This class cannot be inherited. - - - Provides methods that help you use X.509 v.3 certificates. - - - Specifies the format of an X.509 certificate. - - - An unknown X.509 certificate. - - - A single X.509 certificate. - - - A single serialized X.509 certificate. - - - A PFX-formatted certificate. The value is identical to the value. - - - A PKCS #12–formatted certificate. The value is identical to the value. - - - A serialized store. - - - A PKCS #7–formatted certificate. - - - An Authenticode X.509 certificate. - - - Defines where and how to import the private key of an X.509 certificate. - - - The default key set is used. The user key set is usually the default. - - - Private keys are stored in the current user store rather than the local computer store. This occurs even if the certificate specifies that the keys should go in the local computer store. - - - Private keys are stored in the local computer store rather than the current user store. - - - Imported keys are marked as exportable. - - - Notify the user through a dialog box or other method that the key is accessed. The Cryptographic Service Provider (CSP) in use defines the precise behavior. - - - The key associated with a PFX file is persisted when importing a certificate. - - - - - - The exception that is thrown when a denied host resource is detected. - - - Allows the control and customization of security behavior for application domains. - - - Specifies the security policy components to be used by the host security manager. - - - Use none of the security policy components. - - - Use the application domain evidence. - - - Use the policy level specified in the property. - - - Use the assembly evidence. - - - Route calls to the method to the method first. - - - Use the method to resolve the application evidence. - - - Use all security policy components. - - - Gets an object's . - - - Defines methods implemented by permission types. - - - Defines the methods that convert permission object state to and from XML element representation. - - - Supports the methods that convert permission object state to and from an XML element representation. - - - Manages the stack walk that determines whether all callers in the call stack have the required permissions to access a protected resource. - - - Defines a permission set that has a name and description associated with it. This class cannot be inherited. - - - Specifies the default partial-trust visibility for code that is marked with the (APTCA) attribute. - - - The assembly can always be called by partial-trust code. - - - The assembly has been audited for partial trust, but it is not visible to partial-trust code in all hosts. To make the assembly visible to partial-trust code, add it to the property. - - - Specifies the base attribute class for code access security. - - - Controls access to system and user environment variables. This class cannot be inherited. - - - Specifies access to environment variables. - - - No access to environment variables. represents no valid values and causes an when used as the parameter for , which expects a single value. - - - Only read access to environment variables is specified. Changing, deleting and creating environment variables is not included in this access level. - - - Only write access to environment variables is specified. Write access includes creating and deleting environment variables as well as changing existing values. Reading environment variables is not included in this access level. - - - - and access to environment variables. represents multiple values and causes an when used as the parameter for the method, which expects a single value. - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Controls the ability to access files or folders through a File dialog box. This class cannot be inherited. - - - Specifies the type of access to files allowed through the File dialog boxes. - - - No access to files through the File dialog boxes. - - - Ability to open files through the File dialog boxes. - - - Ability to save files through the File dialog boxes. - - - Ability to open and save files through the File dialog boxes. - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Controls the ability to access files and folders. This class cannot be inherited. - - - Specifies the type of file access requested. - - - No access to a file or directory. represents no valid values and causes an when used as the parameter for , which expects a single value. - - - Access to read from a file or directory. - - - Access to write to or delete a file or directory. access includes deleting and overwriting files or directories. - - - Access to append material to a file or directory. access includes the ability to create a new file or directory. - - - Access to the information in the path itself. This helps protect sensitive information in the path, such as user names, as well as information about the directory structure revealed in the path. This value does not grant access to files or folders represented by the path. - - - - , , , and access to a file or directory. represents multiple values and causes an when used as the parameter for the method, which expects a single value. - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Defines the identity permission for files originating in the global assembly cache. This class cannot be inherited. - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Allows the use of declarative security actions to determine host protection requirements. This class cannot be inherited. - - - Specifies categories of functionality potentially harmful to the host if invoked by a method or class. - - - Exposes no host resources. - - - Exposes synchronization. - - - Exposes state that might be shared between threads. - - - Might create or destroy other processes. - - - Might exit the current process, terminating the server. - - - Creates or manipulates threads other than its own, which might be harmful to the host. - - - Manipulates threads in a way that only affects user code. - - - Exposes the security infrastructure. - - - Exposes the user interface. - - - Might cause a resource leak on termination, if not protected by a safe handle or some other means of ensuring the release of resources. - - - Exposes all host resources. - - - Specifies the permitted use of isolated storage. - - - Use of isolated storage is not allowed. - - - Storage is isolated first by user and then by domain and assembly. Storage is also isolated by computer. Data can only be accessed within the context of the same application and only when run by the same user. This is helpful when a third-party assembly wants to keep a private data store. - - - Storage is isolated first by user and then by application. Storage is also isolated by computer. This provides a data store for the application that is accessible in any domain context. The per-application data compartment requires additional trust because it potentially provides a "tunnel" between applications that could compromise the data isolation of applications in particular Web sites. - - - Storage is isolated first by user and then by code assembly. Storage is also isolated by computer. This provides a data store for the assembly that is accessible in any domain context. The per-assembly data compartment requires additional trust because it potentially provides a "tunnel" between applications that could compromise the data isolation of applications in particular Web sites. - - - Storage is isolated first by computer and then by domain and assembly. Data can only be accessed within the context of the same application and only when run on the same computer. This is helpful when a third-party assembly wants to keep a private data store. - - - Storage is isolated first by computer and then by code assembly. This provides a data store for the assembly that is accessible in any domain context. The per-assembly data compartment requires additional trust because it potentially provides a "tunnel" between applications that could compromise the data isolation of applications in particular Web sites. - - - Storage is isolated first by computer and then by application. This provides a data store for the application that is accessible in any domain context. The per-application data compartment requires additional trust because it potentially provides a "tunnel" between applications that could compromise the data isolation of applications in particular Web sites. - - - Storage is isolated first by user and then by domain and assembly. Storage will roam if Windows user data roaming is enabled. Data can only be accessed within the context of the same application and only when run by the same user. This is helpful when a third-party assembly wants to keep a private data store. - - - Storage is isolated first by user and then by assembly evidence. Storage will roam if Windows user data roaming is enabled. This provides a data store for the assembly that is accessible in any domain context. The per-assembly data compartment requires additional trust because it potentially provides a "tunnel" between applications that could compromise the data isolation of applications in particular Web sites. - - - Storage is isolated first by user and then by application evidence. Storage will roam if Windows user data roaming is enabled. This provides a data store for the application that is accessible in any domain context. The per-application data compartment requires additional trust because it potentially provides a "tunnel" between applications that could compromise the data isolation of applications in particular Web sites. - - - Unlimited administration ability for the user store. Allows browsing and deletion of the entire user store, but not read access other than the user's own domain/assembly identity. - - - Use of isolated storage is allowed without restriction. Code has full access to any part of the user store, regardless of the identity of the domain or assembly. This use of isolated storage includes the ability to enumerate the contents of the isolated storage data store. - - - Specifies the allowed usage of a private virtual file system. This class cannot be inherited. - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Represents access to generic isolated storage capabilities. - - - Allows security actions for to be applied to code using declarative security. - - - Allows a permission to expose an unrestricted state. - - - Controls the ability to access key containers. This class cannot be inherited. - - - Specifies access rights for specific key containers. This class cannot be inherited. - - - Represents a collection of objects. This class cannot be inherited. - - - Represents the enumerator for objects in a . - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Specifies the type of key container access allowed. - - - No access to a key container. - - - Create a key container. - - - Open a key container and use the public key. - - - Delete a key container. - - - Import a key into a key container. - - - Export a key from a key container. - - - Sign a file using a key. - - - Decrypt a key container. - - - View the access control list (ACL) for a key container. - - - Change the access control list (ACL) for a key container. - - - Create, decrypt, delete, and open a key container; export and import a key; sign files using a key; and view and change the access control list for a key container. - - - Allows security actions for a to be applied to code using declarative security. This class cannot be inherited. - - - Specifies whether a permission should have all or no access to resources at creation. - - - Full access to the resource protected by the permission. - - - No access to the resource protected by the permission. - - - Allows checks against the active principal (see ) using the language constructs defined for both declarative and imperative security actions. This class cannot be inherited. - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Represents the identity of a software publisher. This class cannot be inherited. - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Controls access to non-public types and members through the APIs. Controls some features of the APIs. - - - Allows security actions for to be applied to code using declarative security. - - - Specifies the permitted use of the and namespaces. - - - Enumeration of types and members is allowed. Invocation operations are allowed on visible types and members. - - - This flag is obsolete. No flags are necessary to enumerate types and members and to examine their metadata. Use instead. - - - Invocation operations on all members are allowed, regardless of grant set. If this flag is not set, invocation operations are allowed only on visible members. - - - Emitting debug symbols is allowed. Beginning with the .NET Framework 2.0 Service Pack 1, this flag is no longer required to emit code. - - - Restricted member access is provided for partially trusted code. Partially trusted code can access nonpublic types and members, but only if the grant set of the partially trusted code includes all permissions in the grant set of the assembly that contains the nonpublic types and members being accessed. This flag is new in the .NET Framework 2.0 SP1. - - - - - , , and are set. does not include . - - - Controls the ability to access registry variables. This class cannot be inherited. - - - Specifies the permitted access to registry keys and values. - - - No access to registry variables. represents no valid values and causes an when used as the parameter for , which expects a single value. - - - Read access to registry variables. - - - Write access to registry variables. - - - Create access to registry variables. - - - - , , and access to registry variables. represents multiple values and causes an when used as the parameter for the method, which expects a single value. - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Specifies the security actions that can be performed using declarative security. - - - All callers higher in the call stack are required to have been granted the permission specified by the current permission object. - - - The calling code can access the resource identified by the current permission object, even if callers higher in the stack have not been granted permission to access the resource (see Using the Assert Method). - - - The ability to access the resource specified by the current permission object is denied to callers, even if they have been granted permission to access it (see Using the Deny Method). - - - Only the resources specified by this permission object can be accessed, even if the code has been granted permission to access other resources. - - - The immediate caller is required to have been granted the specified permission. Do not use in the .NET Framework 4. For full trust, use  instead; for partial trust, use . - - - The derived class inheriting the class or overriding a method is required to have been granted the specified permission.. - - - The request for the minimum permissions required for code to run. This action can only be used within the scope of the assembly. - - - The request for additional permissions that are optional (not required to run). This request implicitly refuses all other permissions not specifically requested. This action can only be used within the scope of the assembly. - - - The request that permissions that might be misused will not be granted to the calling code. This action can only be used within the scope of the assembly. - - - Specifies the base attribute class for declarative security from which is derived. - - - Describes a set of security permissions applied to code. This class cannot be inherited. - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Specifies access flags for the security permission object. - - - No security access. - - - Ability to assert that all this code's callers have the requisite permission for the operation. - - - Ability to call unmanaged code. - - - Ability to skip verification of code in this assembly. Code that is unverifiable can be run if this permission is granted. - - - Permission for the code to run. Without this permission, managed code will not be executed. - - - Ability to use certain advanced operations on threads. - - - Ability to provide evidence, including the ability to alter the evidence provided by the common language runtime. - - - Ability to view and modify policy. - - - Ability to provide serialization services. Used by serialization formatters. - - - Ability to specify domain policy. - - - Ability to manipulate the principal object. - - - Ability to create and manipulate an . - - - Permission to configure Remoting types and channels. - - - Permission to plug code into the common language runtime infrastructure, such as adding Remoting Context Sinks, Envoy Sinks and Dynamic Sinks. - - - Permission to perform explicit binding redirection in the application configuration file. This includes redirection of .NET Framework assemblies that have been unified as well as other assemblies found outside the .NET Framework. - - - The unrestricted state of the permission. - - - Defines the identity permission for the Web site from which the code originates. This class cannot be inherited. - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Defines the identity permission for strong names. This class cannot be inherited. - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Represents the public key information (called a blob) for a strong name. This class cannot be inherited. - - - Controls the permissions related to user interfaces and the Clipboard. This class cannot be inherited. - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Specifies the type of clipboard access that is allowed to the calling code. - - - Clipboard cannot be used. - - - The ability to put data on the clipboard (, ) is unrestricted. Intrinsic controls that accept , such as text box, can accept the clipboard data, but user controls that must programmatically read the clipboard cannot. - - - Clipboard can be used without restriction. - - - Specifies the type of windows that code is allowed to use. - - - Users cannot use any windows or user interface events. No user interface can be used. - - - Users can only use for drawing, and can only use user input events for user interface within that subwindow. Examples of are a , common dialog controls, and a control displayed within a browser. - - - Users can only use and for drawing, and can only use user input events for the user interface within those top-level windows and subwindows. - - - Users can use all windows and user input events without restriction. - - - Defines the identity permission for the URL from which the code originates. This class cannot be inherited. - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Defines the identity permission for the zone from which the code originates. This class cannot be inherited. - - - Allows security actions for to be applied to code using declarative security. This class cannot be inherited. - - - Represents a collection that can contain many different types of permissions. - - - Represents a membership condition that matches all code. This class cannot be inherited. - - - Provides the application directory as evidence for policy evaluation. This class cannot be inherited. - - - Determines whether an assembly belongs to a code group by testing its application directory. This class cannot be inherited. - - - Holds the security evidence for an application. This class cannot be inherited. - - - Manages trust decisions for manifest-activated applications. - - - Encapsulates security decisions about an application. This class cannot be inherited. - - - Represents a collection of objects. This class cannot be inherited. - - - Represents the enumerator for objects in the collection. - - - Specifies how to match versions when locating application trusts in a collection. - - - Match on the exact version. - - - Match on all versions. - - - Specifies the network resource access that is granted to code. - - - Represents the abstract base class from which all implementations of code groups must derive. - - - Defines the set of information that constitutes input to security policy decisions. This class cannot be inherited. - - - Provides a base class from which all objects to be used as evidence must derive. - - - Grants permission to manipulate files located in the code assemblies to code assemblies that match the membership condition. This class cannot be inherited. - - - Allows security policy to be defined by the union of the policy statement of a code group and that of the first child code group that matches. This class cannot be inherited. - - - Confirms that a code assembly originates in the global assembly cache (GAC) as evidence for policy evaluation. This class cannot be inherited. - - - Determines whether an assembly belongs to a code group by testing its global assembly cache membership. This class cannot be inherited. - - - Provides evidence about the hash value for an assembly. This class cannot be inherited. - - - Determines whether an assembly belongs to a code group by testing its hash value. This class cannot be inherited. - - - Determines whether an application should be executed and which set of permissions should be granted to it. - - - Defines the method that creates a new identity permission. - - - Defines the test to determine whether a code assembly is a member of a code group. - - - Grants Web permission to the site from which the assembly was downloaded. This class cannot be inherited. - - - Defines evidence that represents permission requests. This class cannot be inherited. - - - The exception that is thrown when policy forbids code to run. - - - Represents the security policy levels for the common language runtime. This class cannot be inherited. - - - Represents the statement of a describing the permissions and other information that apply to code with a particular set of evidence. This class cannot be inherited. - - - Defines special attribute flags for security policy on code groups. - - - No flags are set. - - - The exclusive code group flag. When a code group has this flag set, only the permissions associated with that code group are granted to code belonging to the code group. At most, one code group matching a given piece of code can be set as exclusive. - - - The flag representing a policy statement that causes lower policy levels to not be evaluated as part of the resolve operation, effectively allowing the policy level to override lower levels. - - - All attribute flags are set. - - - Provides the Authenticode X.509v3 digital signature of a code assembly as evidence for policy evaluation. This class cannot be inherited. - - - Determines whether an assembly belongs to a code group by testing its software publisher's Authenticode X.509v3 certificate. This class cannot be inherited. - - - Provides the Web site from which a code assembly originates as evidence for policy evaluation. This class cannot be inherited. - - - Determines whether an assembly belongs to a code group by testing the site from which it originated. This class cannot be inherited. - - - Provides the strong name of a code assembly as evidence for policy evaluation. This class cannot be inherited. - - - Determines whether an assembly belongs to a code group by testing its strong name. This class cannot be inherited. - - - Represents the context for the trust manager to consider when making the decision to run an application, and when setting up the security on a new in which to run an application. - - - Specifies the type of user interface (UI) the trust manager should use for trust decisions. - - - An Install UI. - - - An Upgrade UI. - - - A Run UI. - - - Represents a code group whose policy statement is the union of the current code group's policy statement and the policy statement of all its matching child code groups. This class cannot be inherited. - - - Provides the URL from which a code assembly originates as evidence for policy evaluation. This class cannot be inherited. - - - Determines whether an assembly belongs to a code group by testing its URL. This class cannot be inherited. - - - Provides the security zone of a code assembly as evidence for policy evaluation. This class cannot be inherited. - - - Determines whether an assembly belongs to a code group by testing its zone of origin. This class cannot be inherited. - - - Specifies the type of a managed code policy level. - - - Security policy for all managed code that is run by the user. - - - Security policy for all managed code that is run on the computer. - - - Security policy for all managed code in an enterprise. - - - Security policy for all managed code in an application. - - - Represents a generic user. - - - Represents a generic principal. - - - Represents an exception for a principal whose identity could not be mapped to a known identity. - - - Represents an identity and is the base class for the and classes. This class does not provide a public constructor, and therefore cannot be inherited. - - - Represents a collection of objects and provides a means of converting sets of -derived objects to -derived types. - - - Defines the basic functionality of an identity object. - - - Defines the basic functionality of a principal object. - - - Represents a user or group account. - - - Specifies how principal and identity objects should be created for an application domain. The default is . - - - Principal and identity objects for the unauthenticated entity should be created. An unauthenticated entity has set to the empty string ("") and set to . - - - No principal or identity objects should be created. - - - Principal and identity objects that reflect the operating system token associated with the current execution thread should be created, and the associated operating system groups should be mapped into roles. - - - Represents a security identifier (SID) and provides marshaling and comparison operations for SIDs. - - - Defines the privileges of the user account associated with the access token. - - - The user can attach a primary token to a process. - - - The user can duplicate the token. - - - The user can impersonate a client. - - - The user can query the token. - - - The user can query the source of the token. - - - The user can enable or disable privileges in the token. - - - The user can change the attributes of the groups in the token. - - - The user can change the default owner, primary group, or discretionary access control list (DACL) of the token. - - - The user can adjust the session identifier of the token. - - - The user has standard read rights and the privilege for the token. - - - The user has standard write rights and the , and privileges for the token. - - - The user has all possible access to the token. - - - The maximum value that can be assigned for the enumeration. - - - Defines security impersonation levels. Security impersonation levels govern the degree to which a server process can act on behalf of a client process. - - - An impersonation level is not assigned. - - - The server process cannot obtain identification information about the client, and it cannot impersonate the client. - - - The server process can obtain information about the client, such as security identifiers and privileges, but it cannot impersonate the client. This is useful for servers that export their own objects, for example, database products that export tables and views. Using the retrieved client-security information, the server can make access-validation decisions without being able to use other services that are using the client's security context. - - - The server process can impersonate the client's security context on its local system. The server cannot impersonate the client on remote systems. - - - The server process can impersonate the client's security context on remote systems. - - - Defines a set of commonly used security identifiers (SIDs). - - - Indicates a null SID. - - - Indicates a SID that matches everyone. - - - Indicates a local SID. - - - Indicates a SID that matches the owner or creator of an object. - - - Indicates a SID that matches the creator group of an object. - - - Indicates a creator owner server SID. - - - Indicates a creator group server SID. - - - Indicates a SID for the Windows NT authority. - - - Indicates a SID for a dial-up account. - - - Indicates a SID for a network account. This SID is added to the process of a token when it logs on across a network. - - - Indicates a SID for a batch process. This SID is added to the process of a token when it logs on as a batch job. - - - Indicates a SID for an interactive account. This SID is added to the process of a token when it logs on interactively. - - - Indicates a SID for a service. This SID is added to the process of a token when it logs on as a service. - - - Indicates a SID for the anonymous account. - - - Indicates a proxy SID. - - - Indicates a SID for an enterprise controller. - - - Indicates a SID for self. - - - Indicates a SID for an authenticated user. - - - Indicates a SID for restricted code. - - - Indicates a SID that matches a terminal server account. - - - Indicates a SID that matches remote logons. - - - Indicates a SID that matches logon IDs. - - - Indicates a SID that matches the local system. - - - Indicates a SID that matches a local service. - - - Indicates a SID that matches a network service. - - - Indicates a SID that matches the domain account. - - - Indicates a SID that matches the administrator account. - - - Indicates a SID that matches built-in user accounts. - - - Indicates a SID that matches the guest account. - - - Indicates a SID that matches the power users group. - - - Indicates a SID that matches the account operators account. - - - Indicates a SID that matches the system operators group. - - - Indicates a SID that matches the print operators group. - - - Indicates a SID that matches the backup operators group. - - - Indicates a SID that matches the replicator account. - - - Indicates a SID that matches pre-Windows 2000 compatible accounts. - - - Indicates a SID that matches remote desktop users. - - - Indicates a SID that matches the network operators group. - - - Indicates a SID that matches the account administrators group. - - - Indicates a SID that matches the account guest group. - - - Indicates a SID that matches the account Kerberos target group. - - - Indicates a SID that matches the account domain administrator group. - - - Indicates a SID that matches the account domain users group. - - - Indicates a SID that matches the account domain guests group. - - - Indicates a SID that matches the account computer group. - - - Indicates a SID that matches the account controller group. - - - Indicates a SID that matches the certificate administrators group. - - - Indicates a SID that matches the schema administrators group. - - - Indicates a SID that matches the enterprise administrators group. - - - Indicates a SID that matches the policy administrators group. - - - Indicates a SID that matches the RAS and IAS server account. - - - Indicates a SID present when the Microsoft NTLM authentication package authenticated the client. - - - Indicates a SID present when the Microsoft Digest authentication package authenticated the client. - - - Indicates a SID present when the Secure Channel (SSL/TLS) authentication package authenticated the client. - - - Indicates a SID present when the user authenticated from within the forest or across a trust that does not have the selective authentication option enabled. If this SID is present, then cannot be present. - - - Indicates a SID present when the user authenticated across a forest with the selective authentication option enabled. If this SID is present, then cannot be present. - - - Indicates a SID that allows a user to create incoming forest trusts. It is added to the token of users who are a member of the Incoming Forest Trust Builders built-in group in the root domain of the forest. - - - Indicates a SID that matches the group of users that have remote access to schedule logging of performance counters on this computer. - - - Indicates a SID that matches the group of users that have remote access to monitor the computer. - - - Indicates a SID that matches the Windows Authorization Access group. - - - Indicates a SID is present in a server that can issue Terminal Server licenses. - - - Indicates the maximum defined SID in the enumeration. - - - Specifies the type of Windows account used. - - - A standard user account. - - - A Windows guest account. - - - A Windows system account. - - - An anonymous account. - - - Specifies common roles to be used with . - - - Administrators have complete and unrestricted access to the computer or domain. - - - Users are prevented from making accidental or intentional system-wide changes. Thus, users can run certified applications, but not most legacy applications. - - - Guests are more restricted than users. - - - Power users possess most administrative permissions with some restrictions. Thus, power users can run legacy applications, in addition to certified applications. - - - Account operators manage the user accounts on a computer or domain. - - - System operators manage a particular computer. - - - Print operators can take control of a printer. - - - Backup operators can override security restrictions for the sole purpose of backing up or restoring files. - - - Replicators support file replication in a domain. - - - Represents a Windows user. - - - Represents the Windows user prior to an impersonation operation. - - - Enables code to check the Windows group membership of a Windows user. - - - Represents a read-only collection that can contain many different types of permissions. - - - Represents text that should be kept confidential, such as by deleting it from computer memory when no longer needed. This class cannot be inherited. - - - Encapsulates and propagates all security-related data for execution contexts transferred across threads. This class cannot be inherited. - - - Identifies the source for the security context. - - - The current application domain is the source for the security context. - - - The current assembly is the source for the security context. - - - Specifies that code or an assembly performs security-critical operations. - - - Specifies the scope of a . - - - The attribute applies only to the immediate target. - - - The attribute applies to all code that follows it. - - - Represents the XML object model for encoding security objects. This class cannot be inherited. - - - The exception that is thrown when a security error is detected. - - - Provides the main access point for classes interacting with the security system. This class cannot be inherited. - - - Indicates the set of security rules the common language runtime should enforce for an assembly. - - - Identifies the set of security rules the common language runtime should enforce for an assembly. - - - Unsupported. Using this value results in a being thrown. - - - Indicates that the runtime will enforce level 1 (.NET Framework version 2.0) transparency rules. - - - Indicates that the runtime will enforce level 2 transparency rules. - - - Identifies types or members as security-critical and safely accessible by transparent code. - - - Provides a base class for requesting the security status of an action from the object. - - - Specifies that an assembly cannot cause an elevation of privilege. - - - Identifies which of the nonpublic members are accessible by transparent code within the assembly. - - - Defines the integer values corresponding to security zones used by security policy. - - - The local computer zone is an implicit zone used for content that exists on the user's computer. - - - The local intranet zone is used for content located on a company's intranet. Because the servers and information would be within a company's firewall, a user or company could assign a higher trust level to the content on the intranet. - - - The trusted sites zone is used for content located on Web sites considered more reputable or trustworthy than other sites on the Internet. Users can use this zone to assign a higher trust level to these sites to minimize the number of authentication requests. The URLs of these trusted Web sites need to be mapped into this zone by the user. - - - The Internet zone is used for the Web sites on the Internet that do not belong to another zone. - - - The restricted sites zone is used for Web sites with content that could cause, or could have caused, problems when downloaded. The URLs of these untrusted Web sites need to be mapped into this zone by the user. - - - No zone is specified. - - - Allows managed code to call into unmanaged code without a stack walk. This class cannot be inherited. - - - Marks modules containing unverifiable code. This class cannot be inherited. - - - The exception that is thrown when the security policy requires code to be type safe and the verification process is unable to verify that the code is type safe. - - - The exception that is thrown when there is a syntax error in XML parsing. This class cannot be inherited. - - - Indicates that a class can be serialized. This class cannot be inherited. - - - Represents a single-precision floating-point number. - - - The exception that is thrown when the execution stack overflows because it contains too many nested method calls. This class cannot be inherited. - - - Indicates that the COM threading model for an application is single-threaded apartment (STA). - - - Represents text as a sequence of UTF-16 code units.To browse the .NET Framework source code for this type, see the Reference Source. - - - Represents a string comparison operation that uses specific case and culture-based or ordinal comparison rules. - - - Specifies the culture, case, and sort rules to be used by certain overloads of the and methods. - - - Compare strings using culture-sensitive sort rules and the current culture. - - - Compare strings using culture-sensitive sort rules, the current culture, and ignoring the case of the strings being compared. - - - Compare strings using culture-sensitive sort rules and the invariant culture. - - - Compare strings using culture-sensitive sort rules, the invariant culture, and ignoring the case of the strings being compared. - - - Compare strings using ordinal (binary) sort rules. - - - Compare strings using ordinal (binary) sort rules and ignoring the case of the strings being compared. - - - Specifies whether applicable method overloads include or omit empty substrings from the return value. - - - The return value includes array elements that contain an empty string - - - The return value does not include array elements that contain an empty string - - - Serves as the base class for system exceptions namespace. - - - Represents an ASCII character encoding of Unicode characters. - - - Converts a sequence of encoded bytes into a set of characters. - - - Provides a failure-handling mechanism, called a fallback, for an encoded input byte sequence that cannot be converted to an input character. The fallback throws an exception instead of decoding the input byte sequence. This class cannot be inherited. - - - Throws when an encoded input byte sequence cannot be converted to a decoded output character. This class cannot be inherited. - - - Provides a failure-handling mechanism, called a fallback, for an encoded input byte sequence that cannot be converted to an output character. - - - Provides a buffer that allows a fallback handler to return an alternate string to a decoder when it cannot decode an input byte sequence. - - - The exception that is thrown when a decoder fallback operation fails. This class cannot be inherited. - - - Provides a failure-handling mechanism, called a fallback, for an encoded input byte sequence that cannot be converted to an output character. The fallback emits a user-specified replacement string instead of a decoded input byte sequence. This class cannot be inherited. - - - Represents a substitute output string that is emitted when the original input byte sequence cannot be decoded. This class cannot be inherited. - - - Converts a set of characters into a sequence of bytes. - - - Provides a failure-handling mechanism, called a fallback, for an input character that cannot be converted to an output byte sequence. The fallback throws an exception if an input character cannot be converted to an output byte sequence. This class cannot be inherited. - - - Throws when an input character cannot be converted to an encoded output byte sequence. This class cannot be inherited. - - - Provides a failure-handling mechanism, called a fallback, for an input character that cannot be converted to an encoded output byte sequence. - - - Provides a buffer that allows a fallback handler to return an alternate string to an encoder when it cannot encode an input character. - - - The exception that is thrown when an encoder fallback operation fails. This class cannot be inherited. - - - Provides a failure handling mechanism, called a fallback, for an input character that cannot be converted to an output byte sequence. The fallback uses a user-specified replacement string instead of the original input character. This class cannot be inherited. - - - Represents a substitute input string that is used when the original input character cannot be encoded. This class cannot be inherited. - - - Represents a character encoding.To browse the .NET Framework source code for this type, see the Reference Source. - - - Provides basic information about an encoding. - - - Provides the base class for an encoding provider, which supplies encodings that are unavailable on a particular platform. - - - Defines the type of normalization to perform. - - - Indicates that a Unicode string is normalized using full canonical decomposition, followed by the replacement of sequences with their primary composites, if possible. - - - Indicates that a Unicode string is normalized using full canonical decomposition. - - - Indicates that a Unicode string is normalized using full compatibility decomposition, followed by the replacement of sequences with their primary composites, if possible. - - - Indicates that a Unicode string is normalized using full compatibility decomposition. - - - Represents a mutable string of characters. This class cannot be inherited.To browse the .NET Framework source code for this type, see the Reference Source. - - - Represents a UTF-16 encoding of Unicode characters. - - - Represents a UTF-32 encoding of Unicode characters. - - - Represents a UTF-7 encoding of Unicode characters. - - - Represents a UTF-8 encoding of Unicode characters. - - - The exception that is thrown when one thread acquires a object that another thread has abandoned by exiting without releasing it. - - - Specifies the apartment state of a . - - - The will create and enter a single-threaded apartment. - - - The will create and enter a multithreaded apartment. - - - The property has not been set. - - - Provides the functionality to restore the migration, or flow, of the execution context between threads. - - - Represents ambient data that is local to a given asynchronous control flow, such as an asynchronous method. - The type of the ambient data. - - - The class that provides data change information to instances that register for change notifications. - The type of the data. - - - Notifies a waiting thread that an event has occurred. This class cannot be inherited. - - - Propagates notification that operations should be canceled. - - - Represents a callback delegate that has been registered with a . - - - Signals to a that it should be canceled. - - - Provides methods for setting and capturing the compressed stack on the current thread. This class cannot be inherited. - - - Represents a method to be called within a new context. - An object containing information to be used by the callback method each time it executes. - - - Represents a synchronization primitive that is signaled when its count reaches zero. - - - Indicates whether an is reset automatically or manually after receiving a signal. - - - When signaled, the resets automatically after releasing a single thread. If no threads are waiting, the remains signaled until a thread blocks, and resets after releasing the thread. - - - When signaled, the releases all waiting threads and remains signaled until it is manually reset. - - - Represents a thread synchronization event. - - - Manages the execution context for the current thread. This class cannot be inherited. - - - Encapsulates and propagates the host execution context across threads. - - - Provides the functionality that allows a common language runtime host to participate in the flow, or migration, of the execution context. - - - Provides atomic operations for variables that are shared by multiple threads. - - - Receives the error code, number of bytes, and overlapped value type when an I/O operation completes on the thread pool. - The error code. - The number of bytes that are transferred. - A representing an unmanaged pointer to the native overlapped value type. - - - Provides lazy initialization routines. - - - Specifies how a instance synchronizes access among multiple threads. - - - The instance is not thread safe; if the instance is accessed from multiple threads, its behavior is undefined. Use this mode only when high performance is crucial and the instance is guaranteed never to be initialized from more than one thread. If you use a constructor that specifies an initialization method ( parameter), and if that initialization method throws an exception (or fails to handle an exception) the first time you call the property, then the exception is cached and thrown again on subsequent calls to the property. If you use a constructor that does not specify an initialization method, exceptions that are thrown by the default constructor for are not cached. In that case, a subsequent call to the property might successfully initialize the instance. If the initialization method recursively accesses the property of the instance, an is thrown. - - - When multiple threads try to initialize a instance simultaneously, all threads are allowed to run the initialization method (or the default constructor, if there is no initialization method). The first thread to complete initialization sets the value of the instance. That value is returned to any other threads that were simultaneously running the initialization method, unless the initialization method throws exceptions on those threads. Any instances of that were created by the competing threads are discarded. If the initialization method throws an exception on any thread, the exception is propagated out of the property on that thread. The exception is not cached. The value of the property remains , and subsequent calls to the property, either by the thread where the exception was thrown or by other threads, cause the initialization method to run again. If the initialization method recursively accesses the property of the instance, no exception is thrown. - - - Locks are used to ensure that only a single thread can initialize a instance in a thread-safe manner. If the initialization method (or the default constructor, if there is no initialization method) uses locks internally, deadlocks can occur. If you use a constructor that specifies an initialization method ( parameter), and if that initialization method throws an exception (or fails to handle an exception) the first time you call the property, then the exception is cached and thrown again on subsequent calls to the property. If you use a constructor that does not specify an initialization method, exceptions that are thrown by the default constructor for are not cached. In that case, a subsequent call to the property might successfully initialize the instance. If the initialization method recursively accesses the property of the instance, an is thrown. - - - Defines the lock that implements single-writer/multiple-reader semantics. This is a value type. - - - The exception that is thrown when recursive entry into a lock is not compatible with the recursion policy for the lock. - - - Notifies one or more waiting threads that an event has occurred. This class cannot be inherited. - - - Provides a slimmed down version of . - - - Provides a mechanism that synchronizes access to objects. - - - A synchronization primitive that can also be used for interprocess synchronization. - - - Provides an explicit layout that is visible from unmanaged code and that will have the same layout as the Win32 OVERLAPPED structure with additional reserved fields at the end. - - - Provides a managed representation of a Win32 OVERLAPPED structure, including methods to transfer information from an instance to a structure. - - - Represents the method that executes on a . - An object that contains data for the thread procedure. - - - Represents pre-allocated state for native overlapped I/O operations. - - - Defines a lock that supports single writers and multiple readers. - - - Represents a handle that has been registered when calling . This class cannot be inherited. - - - The exception that is thrown when the method is called on a semaphore whose count is already at the maximum. - - - Represents a lightweight alternative to that limits the number of threads that can access a resource or pool of resources concurrently. - - - Represents a method to be called when a message is to be dispatched to a synchronization context. - The object passed to the delegate. - - - Provides a mutual exclusion lock primitive where a thread trying to acquire the lock waits in a loop repeatedly checking until the lock becomes available. - - - Provides support for spin-based waiting. - - - Provides the basic functionality for propagating a synchronization context in various synchronization models. - - - The exception that is thrown when a method requires the caller to own the lock on a given Monitor, and the method is invoked by a caller that does not own that lock. - - - Provides task schedulers that coordinate to execute tasks while ensuring that concurrent tasks may run concurrently and exclusive tasks never do. - - - Provides support for parallel loops and regions. - - - Provides completion status on the execution of a loop. - - - Enables iterations of parallel loops to interact with other iterations. An instance of this class is provided by the class to each loop; you can not create instances in your code. - - - Stores options that configure the operation of methods on the class. - - - Represents an asynchronous operation.To browse the .NET Framework source code for this type, see the Reference Source. - - - Represents an asynchronous operation that can return a value. - The type of the result produced by this . - - - Represents an exception used to communicate task cancellation. - - - Represents the producer side of a unbound to a delegate, providing access to the consumer side through the property. - The type of the result value assocatied with this . - - - Specifies the behavior for a task that is created by using the or method. - - - When no continuation options are specified, specifies that default behavior should be used when executing a continuation. The continuation runs asynchronously when the antecedent task completes, regardless of the antecedent's final property value. It the continuation is a child task, it is created as a detached nested task. - - - A hint to a to schedule task in the order in which they were scheduled, so that tasks scheduled sooner are more likely to run sooner, and tasks scheduled later are more likely to run later. - - - Specifies that a continuation will be a long-running, course-grained operation. It provides a hint to the that oversubscription may be warranted. - - - Specifies that the continuation, if it is a child task, is attached to a parent in the task hierarchy. The continuation can be a child task only if its antecedent is also a child task. By default, a child task (that is, an inner task created by an outer task) executes independently of its parent. You can use the option so that the parent and child tasks are synchronized. Note that if a parent task is configured with the option, the option in the child task has no effect, and the child task will execute as a detached child task. For more information, see Attached and Detached Child Tasks. - - - Specifies that any child task (that is, any nested inner task created by this continuation) that is created with the option and attempts to execute as an attached child task will not be able to attach to the parent task and will execute instead as a detached child task. For more information, see Attached and Detached Child Tasks. - - - Specifies that tasks created by the continuation by calling methods such as or see the default scheduler () rather than the scheduler on which this continuation is running as the current scheduler. - - - In the case of continuation cancellation, prevents completion of the continuation until the antecedent has completed. - - - Specifies that the continuation task should be run asynchronously. This option has precedence over . - - - Specifies that the continuation task should not be scheduled if its antecedent ran to completion. An antecedent runs to completion if its property upon completion is . This option is not valid for multi-task continuations. - - - Specifies that the continuation task should not be scheduled if its antecedent threw an unhandled exception. An antecedent throws an unhandled exception if its property upon completion is . This option is not valid for multi-task continuations. - - - Specifies that the continuation task should not be scheduled if its antecedent was canceled. An antecedent is canceled if its property upon completion is . This option is not valid for multi-task continuations. - - - Specifies that the continuation should be scheduled only if its antecedent ran to completion. An antecedent runs to completion if its property upon completion is . This option is not valid for multi-task continuations. - - - Specifies that the continuation task should be scheduled only if its antecedent threw an unhandled exception. An antecedent throws an unhandled exception if its property upon completion is . The option guarantees that the property in the antecedent is not . You can use that property to catch the exception and see which exception caused the task to fault. If you do not access the property, the exception is unhandled. Also, if you attempt to access the property of a task that has been canceled or has faulted, a new exception is thrown. This option is not valid for multi-task continuations. - - - Specifies that the continuation should be scheduled only if its antecedent was canceled. An antecedent is canceled if its property upon completion is . This option is not valid for multi-task continuations. - - - Specifies that the continuation task should be executed synchronously. With this option specified, the continuation runs on the same thread that causes the antecedent task to transition into its final state. If the antecedent is already complete when the continuation is created, the continuation will run on the thread that creates the continuation. If the antecedent's is disposed in a block ( in Visual Basic), a continuation with this option will run in that block. Only very short-running continuations should be executed synchronously. Because the task executes synchronously, there is no need to call a method such as to ensure that the calling thread waits for the task to complete. - - - Specifies flags that control optional behavior for the creation and execution of tasks. - - - Specifies that the default behavior should be used. - - - A hint to a to schedule a task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to be run sooner, and tasks scheduled later will be more likely to be run later. - - - Specifies that a task will be a long-running, coarse-grained operation involving fewer, larger components than fine-grained systems. It provides a hint to the that oversubscription may be warranted. Oversubscription lets you create more threads than the available number of hardware threads. It also provides a hint to the task scheduler that an additional thread might be required for the task so that it does not block the forward progress of other threads or work items on the local thread-pool queue. - - - Specifies that a task is attached to a parent in the task hierarchy. By default, a child task (that is, an inner task created by an outer task) executes independently of its parent. You can use the option so that the parent and child tasks are synchronized. Note that if a parent task is configured with the option, the option in the child task has no effect, and the child task will execute as a detached child task. For more information, see Attached and Detached Child Tasks. - - - Specifies that any child task that attempts to execute as an attached child task (that is, it is created with the option) will not be able to attach to the parent task and will execute instead as a detached child task. For more information, see Attached and Detached Child Tasks. - - - Prevents the ambient scheduler from being seen as the current scheduler in the created task. This means that operations like StartNew or ContinueWith that are performed in the created task will see as the current scheduler. - - - Forces continuations added to the current task to be executed asynchronously. Note that the member is available in the enumeration starting with the .NET Framework 4.6. - - - Provides support for creating and scheduling objects. - - - Provides support for creating and scheduling objects. - The return value of the objects that the methods of this class create. - - - Represents an object that handles the low-level work of queuing tasks onto threads. - - - Represents an exception used to communicate an invalid operation by a . - - - Represents the current stage in the lifecycle of a . - - - The task has been initialized but has not yet been scheduled. - - - The task is waiting to be activated and scheduled internally by the .NET Framework infrastructure. - - - The task has been scheduled for execution but has not yet begun executing. - - - The task is running but has not yet completed. - - - The task has finished executing and is implicitly waiting for attached child tasks to complete. - - - The task completed execution successfully. - - - The task acknowledged cancellation by throwing an OperationCanceledException with its own CancellationToken while the token was in signaled state, or the task's CancellationToken was already signaled before the task started executing. For more information, see Task Cancellation. - - - The task completed due to an unhandled exception. - - - Provides data for the event that is raised when a faulted 's exception goes unobserved. - - - Creates and controls a thread, sets its priority, and gets its status. - - - The exception that is thrown when a call is made to the method. This class cannot be inherited. - - - The exception that is thrown when a is interrupted while it is in a waiting state. - - - Provides thread-local storage of data. - Specifies the type of data stored per-thread. - - - Provides a pool of threads that can be used to execute tasks, post work items, process asynchronous I/O, wait on behalf of other threads, and process timers. - - - Represents an I/O handle that is bound to the system thread pool and enables low-level components to receive notifications for asynchronous I/O operations. - - - Specifies the scheduling priority of a . - - - The can be scheduled after threads with any other priority. - - - The can be scheduled after threads with priority and before those with priority. - - - The can be scheduled after threads with priority and before those with priority. Threads have priority by default. - - - The can be scheduled after threads with priority and before those with priority. - - - The can be scheduled before threads with any other priority. - - - Represents the method that executes on a . - - - The exception that is thrown when a failure occurs in a managed thread after the underlying operating system thread has been started, but before the thread is ready to execute user code. - - - Specifies the execution states of a . - - - The thread has been started, it is not blocked, and there is no pending . - - - The thread is being requested to stop. This is for internal use only. - - - The thread is being requested to suspend. - - - The thread is being executed as a background thread, as opposed to a foreground thread. This state is controlled by setting the property. - - - The method has not been invoked on the thread. - - - The thread has stopped. - - - The thread is blocked. This could be the result of calling or , of requesting a lock — for example, by calling or — or of waiting on a thread synchronization object such as . - - - The thread has been suspended. - - - The method has been invoked on the thread, but the thread has not yet received the pending that will attempt to terminate it. - - - The thread state includes and the thread is now dead, but its state has not yet changed to . - - - The exception that is thrown when a is in an invalid for the method call. - - - Contains constants that specify infinite time-out intervals. This class cannot be inherited. - - - Provides a mechanism for executing a method on a thread pool thread at specified intervals. This class cannot be inherited.To browse the .NET Framework source code for this type, see the Reference Source. - - - Represents the method that handles calls from a . - An object containing application-specific information relevant to the method invoked by this delegate, or . - - - Contains methods for performing volatile memory operations. - - - Represents a callback method to be executed by a thread pool thread. - An object containing information to be used by the callback method. - - - Encapsulates operating system–specific objects that wait for exclusive access to shared resources. - - - The exception that is thrown when an attempt is made to open a system mutex, semaphore, or event wait handle that does not exist. - - - Provides convenience methods to for working with a safe handle for a wait handle. - - - Represents a method to be called when a is signaled or times out. - An object containing information to be used by the callback method each time it executes. - - if the timed out; if it was signaled. - - - Indicates that the value of a static field is unique for each thread. - - - The exception that is thrown when the time allotted for a process or operation has expired. - - - Represents a time interval.To browse the .NET Framework source code for this type, see the Reference Source. - - - Represents a time zone. - - - Represents any time zone in the world. - - - Provides information about a time zone adjustment, such as the transition to and from daylight saving time. - - - Provides information about a specific time change, such as the change from daylight saving time to standard time or vice versa, in a particular time zone. - - - The exception that is thrown when a time zone cannot be found. - - - Provides static methods for creating tuple objects. To browse the .NET Framework source code for this type, see the Reference Source. - - - Represents a 1-tuple, or singleton. - The type of the tuple's only component. - - - Represents a 2-tuple, or pair. - The type of the tuple's first component. - The type of the tuple's second component. - - - Represents a 3-tuple, or triple. - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - - - Represents a 4-tuple, or quadruple. - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - - - Represents a 5-tuple, or quintuple. - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - The type of the tuple's fifth component. - - - Represents a 6-tuple, or sextuple. - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - The type of the tuple's fifth component. - The type of the tuple's sixth component. - - - Represents a 7-tuple, or septuple. - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - The type of the tuple's fifth component. - The type of the tuple's sixth component. - The type of the tuple's seventh component. - - - Represents an n-tuple, where n is 8 or greater. - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - The type of the tuple's fifth component. - The type of the tuple's sixth component. - The type of the tuple's seventh component. - Any generic object that defines the types of the tuple's remaining components. - - - Provides extension methods for tuples to interoperate with language support for tuples in C#. - - - Represents type declarations: class types, interface types, array types, value types, enumeration types, type parameters, generic type definitions, and open or closed constructed generic types.To browse the .NET Framework source code for this type, see the Reference Source. - - - The exception that is thrown when a method attempts to use a type that it does not have access to. - - - Specifies the type of an object. - - - A null reference. - - - A general type representing any reference or value type not explicitly represented by another . - - - A database null (column) value. - - - A simple type representing Boolean values of or . - - - An integral type representing unsigned 16-bit integers with values between 0 and 65535. The set of possible values for the type corresponds to the Unicode character set. - - - An integral type representing signed 8-bit integers with values between -128 and 127. - - - An integral type representing unsigned 8-bit integers with values between 0 and 255. - - - An integral type representing signed 16-bit integers with values between -32768 and 32767. - - - An integral type representing unsigned 16-bit integers with values between 0 and 65535. - - - An integral type representing signed 32-bit integers with values between -2147483648 and 2147483647. - - - An integral type representing unsigned 32-bit integers with values between 0 and 4294967295. - - - An integral type representing signed 64-bit integers with values between -9223372036854775808 and 9223372036854775807. - - - An integral type representing unsigned 64-bit integers with values between 0 and 18446744073709551615. - - - A floating point type representing values ranging from approximately 1.5 x 10 -45 to 3.4 x 10 38 with a precision of 7 digits. - - - A floating point type representing values ranging from approximately 5.0 x 10 -324 to 1.7 x 10 308 with a precision of 15-16 digits. - - - A simple type representing values ranging from 1.0 x 10 -28 to approximately 7.9 x 10 28 with 28-29 significant digits. - - - A type representing a date and time value. - - - A sealed class type representing Unicode character strings. - - - Describes objects that contain both a managed pointer to a location and a runtime representation of the type that may be stored at that location. - - - The exception that is thrown as a wrapper around the exception thrown by the class initializer. This class cannot be inherited. - - - The exception that is thrown when type-loading failures occur. - - - The exception that is thrown when there is an attempt to access an unloaded class. - - - Represents a 16-bit unsigned integer. - - - Represents a 32-bit unsigned integer. - - - Represents a 64-bit unsigned integer. - - - A platform-specific type that is used to represent a pointer or a handle. - - - The exception that is thrown when the operating system denies access because of an I/O error or a specific type of security error. - - - Provides data for the event that is raised when there is an exception that is not handled in any application domain. - - - Represents the method that will handle the event raised by an exception that is not handled by the application domain. - The source of the unhandled exception event. - An that contains the event data. - - - Provides static methods for creating value tuples. - - - Represents a value tuple with a single component. - The type of the value tuple's only element. - - - Represents a value tuple with 2 components. - The type of the value tuple's first element. - The type of the value tuple's second element. - - - Represents a value tuple with 3 components. - The type of the value tuple's first element. - The type of the value tuple's second element. - The type of the value tuple's third element. - - - Represents a value tuple with 4 components. - The type of the value tuple's first element. - The type of the value tuple's second element. - The type of the value tuple's third element. - The type of the value tuple's fourth element. - - - Represents a value tuple with 5 components. - The type of the value tuple's first element. - The type of the value tuple's second element. - The type of the value tuple's third element. - The type of the value tuple's fourth element. - The type of the value tuple's fifth element. - - - Represents a value tuple with 6 components. - The type of the value tuple's first element. - The type of the value tuple's second element. - The type of the value tuple's third element. - The type of the value tuple's fourth element. - The type of the value tuple's fifth element. - The type of the value tuple's sixth element. - - - Represents a value tuple with 7 components. - The type of the value tuple's first element. - The type of the value tuple's second element. - The type of the value tuple's third element. - The type of the value tuple's fourth element. - The type of the value tuple's fifth element. - The type of the value tuple's sixth element. - The type of the value tuple's seventh element. - - - Represents an n-value tuple, where n is 8 or greater. - The type of the value tuple's first element. - The type of the value tuple's second element. - The type of the value tuple's third element. - The type of the value tuple's fourth element. - The type of the value tuple's fifth element. - The type of the value tuple's sixth element. - The type of the value tuple's seventh element. - Any generic value tuple instance that defines the types of the tuple's remaining elements. - - - Provides the base class for value types. - - - Represents the version number of an assembly, operating system, or the common language runtime. This class cannot be inherited. - - - Specifies a return value type for a method that does not return a value. - - - Represents a weak reference, which references an object while still allowing that object to be reclaimed by garbage collection. - - - Represents a typed weak reference, which references an object while still allowing that object to be reclaimed by garbage collection. - The type of the object referenced. - - - \ No newline at end of file From deac695cb8b56c43caec40b8c12dad725b047ba1 Mon Sep 17 00:00:00 2001 From: SFGrenade <25555417+SFGrenade@users.noreply.github.com> Date: Mon, 1 Jun 2026 23:10:55 +0200 Subject: [PATCH 54/54] also have the other projects be based on the vanilla game files --- PostPatcher/PostPatcher.csproj | 1 + PrePatcher/PrePatcher.csproj | 1 + TeamCherry.Localization/TeamCherry.Localization.csproj | 1 + 3 files changed, 3 insertions(+) diff --git a/PostPatcher/PostPatcher.csproj b/PostPatcher/PostPatcher.csproj index 7aaf0d5f..9dcc494c 100644 --- a/PostPatcher/PostPatcher.csproj +++ b/PostPatcher/PostPatcher.csproj @@ -10,6 +10,7 @@ bin/$(Configuration)/ latest true + $(MSBuildProjectDirectory)/../Vanilla diff --git a/PrePatcher/PrePatcher.csproj b/PrePatcher/PrePatcher.csproj index 33fc7e56..67eb92fa 100644 --- a/PrePatcher/PrePatcher.csproj +++ b/PrePatcher/PrePatcher.csproj @@ -10,6 +10,7 @@ bin/$(Configuration)/ latest true + $(MSBuildProjectDirectory)/../Vanilla diff --git a/TeamCherry.Localization/TeamCherry.Localization.csproj b/TeamCherry.Localization/TeamCherry.Localization.csproj index 49c94a27..d3b36fff 100644 --- a/TeamCherry.Localization/TeamCherry.Localization.csproj +++ b/TeamCherry.Localization/TeamCherry.Localization.csproj @@ -12,6 +12,7 @@ packages latest true + $(MSBuildProjectDirectory)/../Vanilla