using System;
using System.Runtime.InteropServices;
using System.Runtime.Serialization;
using Cpp2IlInjected;
namespace System
{
/// 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.
// Token: 0x020001B9 RID: 441
[Token(Token = "0x20001B9")]
[Serializable]
public sealed class WeakReference : ISerializable where T : class
{
/// Initializes a new instance of the class that references the specified object.
/// The object to reference, or .
// Token: 0x060010F8 RID: 4344 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60010F8")]
[Address(RVA = "0x2F027C0", Offset = "0x2F017C0", VA = "0x182F027C0")]
public WeakReference(T target)
{
}
/// 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.
// Token: 0x060010F9 RID: 4345 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60010F9")]
[Address(RVA = "0x3501C00", Offset = "0x3500C00", VA = "0x183501C00")]
public WeakReference(T target, bool trackResurrection)
{
}
// Token: 0x060010FA RID: 4346 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60010FA")]
[Address(RVA = "0x3501AF0", Offset = "0x3500AF0", VA = "0x183501AF0")]
private WeakReference(SerializationInfo info, StreamingContext context)
{
}
/// 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 .
// Token: 0x060010FB RID: 4347 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60010FB")]
[Address(RVA = "0x3501930", Offset = "0x3500930", VA = "0x183501930", Slot = "4")]
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
}
/// 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, .
// Token: 0x060010FC RID: 4348 RVA: 0x0000D668 File Offset: 0x0000B868
[Token(Token = "0x60010FC")]
[Address(RVA = "0x35019F0", Offset = "0x35009F0", VA = "0x1835019F0")]
public bool TryGetTarget(out T target)
{
return default(bool);
}
/// Discards the reference to the target that is represented by the current object.
// Token: 0x060010FD RID: 4349 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60010FD")]
[Address(RVA = "0x35018B0", Offset = "0x35008B0", VA = "0x1835018B0", Slot = "1")]
protected override void Finalize()
{
}
// Token: 0x040008B8 RID: 2232
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x40008B8")]
private GCHandle handle;
// Token: 0x040008B9 RID: 2233
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x40008B9")]
private bool trackResurrection;
}
}