NS2.0 - Complete System.Security namespace.
authorAtsushi Kanamori <atsushik@microsoft.com>
Mon, 20 Mar 2017 21:01:10 +0000 (14:01 -0700)
committerdotnet-bot <dotnet-bot@microsoft.com>
Tue, 21 Mar 2017 02:03:02 +0000 (02:03 +0000)
- Add GetObjectData() implementation to System.SecurityExcepton

- Clean up a bit and move to shared partition.

Commit migrated from https://github.com/dotnet/coreclr/commit/74e00c8c34a490a7dfd00a7a6fb2fb9ffc77f7db

src/coreclr/src/mscorlib/shared/System.Private.CoreLib.Shared.projitems
src/coreclr/src/mscorlib/shared/System/Security/SecurityException.cs [new file with mode: 0644]

index fd12c72..193edaf 100644 (file)
     <Compile Include="$(MSBuildThisFileDirectory)System\Security\PartialTrustVisibilityLevel.cs"/>
     <Compile Include="$(MSBuildThisFileDirectory)System\Security\SecurityCriticalAttribute.cs"/>
     <Compile Include="$(MSBuildThisFileDirectory)System\Security\SecurityCriticalScope.cs"/>
+    <Compile Include="$(MSBuildThisFileDirectory)System\Security\SecurityException.cs"/>
     <Compile Include="$(MSBuildThisFileDirectory)System\Security\SecurityRulesAttribute.cs"/>
     <Compile Include="$(MSBuildThisFileDirectory)System\Security\SecurityRuleSet.cs"/>
     <Compile Include="$(MSBuildThisFileDirectory)System\Security\SecuritySafeCriticalAttribute.cs"/>
diff --git a/src/coreclr/src/mscorlib/shared/System/Security/SecurityException.cs b/src/coreclr/src/mscorlib/shared/System/Security/SecurityException.cs
new file mode 100644 (file)
index 0000000..86e3cd4
--- /dev/null
@@ -0,0 +1,66 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System.Reflection;
+using System.Runtime.Serialization;
+
+namespace System.Security
+{
+    [Serializable]
+    public class SecurityException : SystemException
+    {
+        public SecurityException()
+            : base(SR.Arg_SecurityException)
+        {
+            HResult = __HResults.COR_E_SECURITY;
+        }
+
+        public SecurityException(string message)
+            : base(message)
+        {
+            HResult = __HResults.COR_E_SECURITY;
+        }
+
+        public SecurityException(string message, Exception inner)
+            : base(message, inner)
+        {
+            HResult = __HResults.COR_E_SECURITY;
+        }
+
+        public SecurityException(string message, Type type)
+            : base(message)
+        {
+            HResult = __HResults.COR_E_SECURITY;
+            PermissionType = type;
+        }
+
+        public SecurityException(string message, Type type, string state)
+            : base(message)
+        {
+            HResult = __HResults.COR_E_SECURITY;
+            PermissionType = type;
+            PermissionState = state;
+        }
+
+        protected SecurityException(SerializationInfo info, StreamingContext context)
+            : base(info, context)
+        {
+        }
+
+        public override string ToString() => base.ToString();
+
+        public override void GetObjectData(SerializationInfo info, StreamingContext context) => base.GetObjectData(info, context);
+
+        public object Demanded { get; set; }
+        public object DenySetInstance { get; set; }
+        public AssemblyName FailedAssemblyInfo { get; set; }
+        public string GrantedSet { get; set; }
+        public MethodInfo Method { get; set; }
+        public string PermissionState { get; set; }
+        public Type PermissionType { get; set; }
+        public object PermitOnlySetInstance { get; set; }
+        public string RefusedSet { get; set; }
+        public string Url { get; set; }
+    }
+}