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

◆ RequiresMemberAccessForRead()

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

Definition at line 1409 of file ClassDataContract.cs.

1410 {
1412 if (!DataContract.IsTypeVisible(base.UnderlyingType))
1413 {
1414 if (securityException != null)
1415 {
1416 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityException(System.SR.Format(System.SR.PartialTrustDataContractTypeNotPublic, DataContract.GetClrTypeFullName(base.UnderlyingType)), securityException));
1417 }
1418 return true;
1419 }
1421 {
1422 return true;
1423 }
1424 if (DataContract.ConstructorRequiresMemberAccess(GetNonAttributedTypeConstructor()))
1425 {
1426 if (Globals.TypeOfScriptObject_IsAssignableFrom(base.UnderlyingType))
1427 {
1428 return true;
1429 }
1430 if (securityException != null)
1431 {
1432 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityException(System.SR.Format(System.SR.PartialTrustNonAttributedSerializableTypeNoPublicConstructor, DataContract.GetClrTypeFullName(base.UnderlyingType)), securityException));
1433 }
1434 return true;
1435 }
1436 if (DataContract.MethodRequiresMemberAccess(OnDeserializing))
1437 {
1438 if (securityException != null)
1439 {
1440 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityException(System.SR.Format(System.SR.PartialTrustDataContractOnDeserializingNotPublic, DataContract.GetClrTypeFullName(base.UnderlyingType), OnDeserializing.Name), securityException));
1441 }
1442 return true;
1443 }
1444 if (DataContract.MethodRequiresMemberAccess(OnDeserialized))
1445 {
1446 if (securityException != null)
1447 {
1448 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityException(System.SR.Format(System.SR.PartialTrustDataContractOnDeserializedNotPublic, DataContract.GetClrTypeFullName(base.UnderlyingType), OnDeserialized.Name), securityException));
1449 }
1450 return true;
1451 }
1452 if (Members != null)
1453 {
1454 for (int i = 0; i < Members.Count; i++)
1455 {
1456 if (!Members[i].RequiresMemberAccessForSet())
1457 {
1458 continue;
1459 }
1460 if (securityException != null)
1461 {
1463 {
1464 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityException(System.SR.Format(System.SR.PartialTrustDataContractFieldSetNotPublic, DataContract.GetClrTypeFullName(base.UnderlyingType), Members[i].MemberInfo.Name), securityException));
1465 }
1466 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityException(System.SR.Format(System.SR.PartialTrustDataContractPropertySetNotPublic, DataContract.GetClrTypeFullName(base.UnderlyingType), Members[i].MemberInfo.Name), securityException));
1467 }
1468 return true;
1469 }
1470 }
1471 return false;
1472 }
bool RequiresMemberAccessForRead(SecurityException securityException)
DataContract(DataContractCriticalHelper helper)
static string PartialTrustDataContractTypeNotPublic
Definition SR.cs:250
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string PartialTrustDataContractFieldSetNotPublic
Definition SR.cs:244
static string PartialTrustDataContractOnDeserializingNotPublic
Definition SR.cs:238
static string PartialTrustNonAttributedSerializableTypeNoPublicConstructor
Definition SR.cs:252
static string PartialTrustDataContractOnDeserializedNotPublic
Definition SR.cs:240
static string PartialTrustDataContractPropertySetNotPublic
Definition SR.cs:248
Definition SR.cs:7

References System.Runtime.Serialization.ClassDataContract.BaseContract, System.Runtime.Serialization.DataContract.ConstructorRequiresMemberAccess(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Runtime.Serialization.ClassDataContract.EnsureMethodsImported(), System.SR.Format(), System.Runtime.Serialization.DataContract.GetClrTypeFullName(), System.Runtime.Serialization.ClassDataContract.GetNonAttributedTypeConstructor(), System.Runtime.Serialization.DataContract.IsTypeVisible(), System.Runtime.Serialization.ClassDataContract.Members, System.Runtime.Serialization.DataContract.MethodRequiresMemberAccess(), System.Reflection.MemberInfo.Name, System.Runtime.Serialization.ClassDataContract.OnDeserialized, System.Runtime.Serialization.ClassDataContract.OnDeserializing, System.SR.PartialTrustDataContractFieldSetNotPublic, System.SR.PartialTrustDataContractOnDeserializedNotPublic, System.SR.PartialTrustDataContractOnDeserializingNotPublic, System.SR.PartialTrustDataContractPropertySetNotPublic, System.SR.PartialTrustDataContractTypeNotPublic, System.SR.PartialTrustNonAttributedSerializableTypeNoPublicConstructor, System.Runtime.Serialization.ClassDataContract.RequiresMemberAccessForRead(), System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(), and System.Runtime.Serialization.Globals.TypeOfScriptObject_IsAssignableFrom().

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