Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ConstraintEnumerator.cs
Go to the documentation of this file.
1
using
System.Collections
;
2
3
namespace
System.Data
;
4
5
internal
class
ConstraintEnumerator
6
{
7
private
IEnumerator
_tables
;
8
9
private
IEnumerator
_constraints
;
10
11
private
Constraint
_currentObject
;
12
13
protected
Constraint
CurrentObject
=>
_currentObject
;
14
15
public
ConstraintEnumerator
(
DataSet
dataSet)
16
{
17
_tables
= dataSet?.
Tables
.
GetEnumerator
();
18
_currentObject
=
null
;
19
}
20
21
public
bool
GetNext
()
22
{
23
_currentObject
=
null
;
24
while
(
_tables
!=
null
)
25
{
26
if
(
_constraints
==
null
)
27
{
28
if
(!
_tables
.
MoveNext
())
29
{
30
_tables
=
null
;
31
return
false
;
32
}
33
_constraints
= ((
DataTable
)
_tables
.
Current
).Constraints.GetEnumerator();
34
}
35
if
(!
_constraints
.
MoveNext
())
36
{
37
_constraints
=
null
;
38
continue
;
39
}
40
Constraint
constraint = (
Constraint
)
_constraints
.
Current
;
41
if
(!
IsValidCandidate
(constraint))
42
{
43
continue
;
44
}
45
_currentObject
= constraint;
46
return
true
;
47
}
48
return
false
;
49
}
50
51
public
Constraint
GetConstraint
()
52
{
53
return
_currentObject
;
54
}
55
56
protected
virtual
bool
IsValidCandidate
(
Constraint
constraint)
57
{
58
return
true
;
59
}
60
}
System.Data.ConstraintEnumerator.CurrentObject
Constraint CurrentObject
Definition
ConstraintEnumerator.cs:13
System.Data.ConstraintEnumerator._constraints
IEnumerator _constraints
Definition
ConstraintEnumerator.cs:9
System.Data.ConstraintEnumerator.IsValidCandidate
virtual bool IsValidCandidate(Constraint constraint)
Definition
ConstraintEnumerator.cs:56
System.Data.ConstraintEnumerator.ConstraintEnumerator
ConstraintEnumerator(DataSet dataSet)
Definition
ConstraintEnumerator.cs:15
System.Data.ConstraintEnumerator._tables
IEnumerator _tables
Definition
ConstraintEnumerator.cs:7
System.Data.ConstraintEnumerator._currentObject
Constraint _currentObject
Definition
ConstraintEnumerator.cs:11
System.Data.ConstraintEnumerator.GetConstraint
Constraint GetConstraint()
Definition
ConstraintEnumerator.cs:51
System.Data.ConstraintEnumerator.GetNext
bool GetNext()
Definition
ConstraintEnumerator.cs:21
System.Data.ConstraintEnumerator
Definition
ConstraintEnumerator.cs:6
System.Data.Constraint
Definition
Constraint.cs:11
System.Data.DataSet.Tables
DataTableCollection Tables
Definition
DataSet.cs:396
System.Data.DataSet
Definition
DataSet.cs:28
System.Data.DataTable
Definition
DataTable.cs:29
System.Data.InternalDataCollectionBase.GetEnumerator
virtual IEnumerator GetEnumerator()
Definition
InternalDataCollectionBase.cs:30
System.Collections.IEnumerator.MoveNext
bool MoveNext()
System.Collections.IEnumerator.Current
object Current
Definition
IEnumerator.cs:5
System.Collections.IEnumerator
Definition
IEnumerator.cs:4
System.Collections
Definition
BlockingCollection.cs:8
System.Data
Definition
ADP.cs:12
source
System.Data.Common
System.Data
ConstraintEnumerator.cs
Generated by
1.10.0