Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
SignatureArrayType.cs
Go to the documentation of this file.
1namespace System.Reflection;
2
4{
5 private readonly int _rank;
6
7 private readonly bool _isMultiDim;
8
9 public sealed override bool IsSZArray => !_isMultiDim;
10
11 public sealed override bool IsVariableBoundArray => _isMultiDim;
12
13 protected sealed override string Suffix
14 {
15 get
16 {
17 if (!_isMultiDim)
18 {
19 return "[]";
20 }
21 if (_rank == 1)
22 {
23 return "[*]";
24 }
25 return "[" + new string(',', _rank - 1) + "]";
26 }
27 }
28
29 internal SignatureArrayType(SignatureType elementType, int rank, bool isMultiDim)
30 : base(elementType)
31 {
32 _rank = rank;
33 _isMultiDim = isMultiDim;
34 }
35
36 protected sealed override bool IsArrayImpl()
37 {
38 return true;
39 }
40
41 protected sealed override bool IsByRefImpl()
42 {
43 return false;
44 }
45
46 protected sealed override bool IsPointerImpl()
47 {
48 return false;
49 }
50
51 public sealed override int GetArrayRank()
52 {
53 return _rank;
54 }
55}
SignatureArrayType(SignatureType elementType, int rank, bool isMultiDim)