[英]where is the real implementation of Int32 in .net-core
我從github克隆了dotnet core的代碼,想看一下System.Int32的src代碼,結果發現Int32的代碼真的好奇怪。
public partial struct Int32 : System.IComparable, System.IComparable<int>, System.IConvertible, System.IEquatable<int>, System.IFormattable
{
public const int MaxValue = 2147483647;
public const int MinValue = -2147483648;
public int CompareTo(int value) { return default(int); }
public bool Equals(int obj) { return default(bool); }
public override bool Equals(object obj) { return default(bool); }
public override int GetHashCode() { return default(int); }
public static int Parse(string s) { return default(int); }
public static int Parse(string s, System.Globalization.NumberStyles style) { return default(int); }
public static int Parse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider) { return default(int); }
public static int Parse(string s, System.IFormatProvider provider) { return default(int); }
int System.IComparable.CompareTo(object value) { return default(int); }
System.TypeCode System.IConvertible.GetTypeCode() { return default(System.TypeCode); }
bool System.IConvertible.ToBoolean(System.IFormatProvider provider) { return default(bool); }
byte System.IConvertible.ToByte(System.IFormatProvider provider) { return default(byte); }
char System.IConvertible.ToChar(System.IFormatProvider provider) { return default(char); }
System.DateTime System.IConvertible.ToDateTime(System.IFormatProvider provider) { return default(System.DateTime); }
decimal System.IConvertible.ToDecimal(System.IFormatProvider provider) { return default(decimal); }
double System.IConvertible.ToDouble(System.IFormatProvider provider) { return default(double); }
short System.IConvertible.ToInt16(System.IFormatProvider provider) { return default(short); }
int System.IConvertible.ToInt32(System.IFormatProvider provider) { return default(int); }
long System.IConvertible.ToInt64(System.IFormatProvider provider) { return default(long); }
sbyte System.IConvertible.ToSByte(System.IFormatProvider provider) { return default(sbyte); }
float System.IConvertible.ToSingle(System.IFormatProvider provider) { return default(float); }
object System.IConvertible.ToType(System.Type type, System.IFormatProvider provider) { return default(object); }
ushort System.IConvertible.ToUInt16(System.IFormatProvider provider) { return default(ushort); }
uint System.IConvertible.ToUInt32(System.IFormatProvider provider) { return default(uint); }
ulong System.IConvertible.ToUInt64(System.IFormatProvider provider) { return default(ulong); }
public override string ToString() { return default(string); }
public string ToString(System.IFormatProvider provider) { return default(string); }
public string ToString(string format) { return default(string); }
public string ToString(string format, System.IFormatProvider provider) { return default(string); }
public static bool TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out int result) { result = default(int); return default(bool); }
public static bool TryParse(string s, out int result) { result = default(int); return default(bool); }
}
Int32的所有方法都只是返回默認值,那么哪里可以找到System.Int32的真正實現呢?
.net 中幾乎所有數據類型都是CLR的一部分,因此您可以在 coreclr 項目中找到數據類型的實現。
在項目中,我在這個鏈接找到了System.Int32
的實現。 System.Int32 源代碼
我想,這就是你想要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.