Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ RequiresMemberAccessForWrite()

bool System.Runtime.Serialization.ClassDataContract.RequiresMemberAccessForWrite ( SecurityException securityException)
inlinepackage

Definition at line 1474 of file ClassDataContract.cs.

1475 {
1477 if (!DataContract.IsTypeVisible(base.UnderlyingType))
1478 {
1479 if (securityException != null)
1480 {
1481 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityException(System.SR.Format(System.SR.PartialTrustDataContractTypeNotPublic, DataContract.GetClrTypeFullName(base.UnderlyingType)), securityException));
1482 }
1483 return true;
1484 }
1486 {
1487 return true;
1488 }
1489 if (DataContract.MethodRequiresMemberAccess(OnSerializing))
1490 {
1491 if (securityException != null)
1492 {
1493 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityException(System.SR.Format(System.SR.PartialTrustDataContractOnSerializingNotPublic, DataContract.GetClrTypeFullName(base.UnderlyingType), OnSerializing.Name), securityException));
1494 }
1495 return true;
1496 }
1497 if (DataContract.MethodRequiresMemberAccess(OnSerialized))
1498 {
1499 if (securityException != null)
1500 {
1501 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityException(System.SR.Format(System.SR.PartialTrustDataContractOnSerializedNotPublic, DataContract.GetClrTypeFullName(base.UnderlyingType), OnSerialized.Name), securityException));
1502 }
1503 return true;
1504 }
1505 if (Members != null)
1506 {
1507 for (int i = 0; i < Members.Count; i++)
1508 {
1509 if (!Members[i].RequiresMemberAccessForGet())
1510 {
1511 continue;
1512 }
1513 if (securityException != null)
1514 {
1516 {
1517 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityException(System.SR.Format(System.SR.PartialTrustDataContractFieldGetNotPublic, DataContract.GetClrTypeFullName(base.UnderlyingType), Members[i].MemberInfo.Name), securityException));
1518 }
1519 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityException(System.SR.Format(System.SR.PartialTrustDataContractPropertyGetNotPublic, DataContract.GetClrTypeFullName(base.UnderlyingType), Members[i].MemberInfo.Name), securityException));
1520 }
1521 return true;
1522 }
1523 }
1524 return false;
1525 }
bool RequiresMemberAccessForWrite(SecurityException securityException)
DataContract(DataContractCriticalHelper helper)
static string PartialTrustDataContractFieldGetNotPublic
Definition SR.cs:242
static string PartialTrustDataContractPropertyGetNotPublic
Definition SR.cs:246
static string PartialTrustDataContractOnSerializingNotPublic
Definition SR.cs:234
static string PartialTrustDataContractTypeNotPublic
Definition SR.cs:250
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string PartialTrustDataContractOnSerializedNotPublic
Definition SR.cs:236
Definition SR.cs:7

References System.Runtime.Serialization.ClassDataContract.BaseContract, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Runtime.Serialization.ClassDataContract.EnsureMethodsImported(), System.SR.Format(), System.Runtime.Serialization.DataContract.GetClrTypeFullName(), System.Runtime.Serialization.DataContract.IsTypeVisible(), System.Runtime.Serialization.ClassDataContract.Members, System.Runtime.Serialization.DataContract.MethodRequiresMemberAccess(), System.Reflection.MemberInfo.Name, System.Runtime.Serialization.ClassDataContract.OnSerialized, System.Runtime.Serialization.ClassDataContract.OnSerializing, System.SR.PartialTrustDataContractFieldGetNotPublic, System.SR.PartialTrustDataContractOnSerializedNotPublic, System.SR.PartialTrustDataContractOnSerializingNotPublic, System.SR.PartialTrustDataContractPropertyGetNotPublic, System.SR.PartialTrustDataContractTypeNotPublic, System.Runtime.Serialization.ClassDataContract.RequiresMemberAccessForWrite(), and System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError().

Referenced by System.Runtime.Serialization.ClassDataContract.RequiresMemberAccessForWrite().