Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
FinalizedObject.cs
Go to the documentation of this file.
1
using
System.Collections
;
2
3
namespace
System.Transactions
;
4
5
internal
sealed
class
FinalizedObject
:
IDisposable
6
{
7
private
readonly
Guid
_identifier
;
8
9
private
readonly
InternalTransaction
_internalTransaction
;
10
11
internal
FinalizedObject
(
InternalTransaction
internalTransaction,
Guid
identifier)
12
{
13
_internalTransaction
= internalTransaction;
14
_identifier
= identifier;
15
}
16
17
private
void
Dispose
(
bool
disposing)
18
{
19
if
(disposing)
20
{
21
GC
.
SuppressFinalize
(
this
);
22
}
23
Hashtable
promotedTransactionTable =
TransactionManager
.
PromotedTransactionTable
;
24
lock (promotedTransactionTable)
25
{
26
WeakReference
weakReference = (
WeakReference
)promotedTransactionTable[
_identifier
];
27
if
(weakReference !=
null
&& weakReference.
Target
!=
null
)
28
{
29
weakReference.Target =
null
;
30
}
31
promotedTransactionTable.
Remove
(
_identifier
);
32
}
33
}
34
35
public
void
Dispose
()
36
{
37
Dispose
(disposing:
true
);
38
}
39
40
~FinalizedObject
()
41
{
42
Dispose
(disposing:
false
);
43
}
44
}
System.Collections.Hashtable.Remove
virtual void Remove(object key)
Definition
Hashtable.cs:1028
System.Collections.Hashtable
Definition
Hashtable.cs:13
System.GC.SuppressFinalize
static void SuppressFinalize(object obj)
Definition
GC.cs:202
System.GC
Definition
GC.cs:8
System.Transactions.FinalizedObject.~FinalizedObject
~FinalizedObject()
Definition
FinalizedObject.cs:40
System.Transactions.FinalizedObject.Dispose
void Dispose()
Definition
FinalizedObject.cs:35
System.Transactions.FinalizedObject.FinalizedObject
FinalizedObject(InternalTransaction internalTransaction, Guid identifier)
Definition
FinalizedObject.cs:11
System.Transactions.FinalizedObject._internalTransaction
readonly InternalTransaction _internalTransaction
Definition
FinalizedObject.cs:9
System.Transactions.FinalizedObject.Dispose
void Dispose(bool disposing)
Definition
FinalizedObject.cs:17
System.Transactions.FinalizedObject._identifier
readonly Guid _identifier
Definition
FinalizedObject.cs:7
System.Transactions.FinalizedObject
Definition
FinalizedObject.cs:6
System.Transactions.InternalTransaction
Definition
InternalTransaction.cs:9
System.Transactions.TransactionManager.PromotedTransactionTable
static Hashtable PromotedTransactionTable
Definition
TransactionManager.cs:147
System.Transactions.TransactionManager
Definition
TransactionManager.cs:11
System.WeakReference.Target
virtual ? object Target
Definition
WeakReference.cs:22
System.WeakReference
Definition
WeakReference.cs:77
System.IDisposable
Definition
IDisposable.cs:4
System.Collections
Definition
BlockingCollection.cs:8
System.Transactions
Definition
AppSettings.cs:1
System.Guid
Definition
Guid.cs:15
source
System.Transactions.Local
System.Transactions
FinalizedObject.cs
Generated by
1.10.0