Что означает объявить элемент в явном виде? - C#

Формулировка задачи:

Что означает объявить элемент в явном виде? Получается, что существует также неявный вид объявления элементов? Как это осуществить и зачем это требуется?

Код к задаче: «Что означает объявить элемент в явном виде? - C#»

textual
.class private auto sealed ansi beforefieldinit <>f__AnonymousType0`2 extends [mscorlib]System.Object
{
  .field private initonly var<u1> <b>i__Field
 
  .field private initonly var<u1> <c>i__Field
 
  .property instance var<u1> b
  {
    .get instance var<u1> get_b()
  }
 
  .property instance var<u1> c
  {
    .get instance var<u1> get_c()
  }
 
 
  .method public hidebysig specialname rtspecialname instance void .ctor(var<u1> b, !!T0 c)
  {
    .maxstack 8
    ldarg.0
    call     instance void [mscorlib]System.Object::.ctor()
    ldarg.0
    ldarg.1
    stfld    T0xA000016
    ldarg.0
    ldarg.2
    stfld    T0xA000017
    ret
  }
 
  .method public hidebysig specialname instance var<u1> get_b()
  {
    .maxstack 1
    .locals init (var<u1> V0)
    ldarg.0
    ldfld    T0xA000016
    stloc.0
    br.s     loc_89
 
loc_89:
    ldloc.0
    ret
  }
 
  .method public hidebysig specialname instance var<u1> get_c()
  {
    .maxstack 1
    .locals init (var<u1> V0)
    ldarg.0
    ldfld    T0xA000017
    stloc.0
    br.s     loc_99
 
loc_99:
    ldloc.0
    ret
  }
 
  .method public hidebysig virtual instance string ToString()
  {
    .maxstack 2
    .locals init (class [mscorlib]System.Text.StringBuilder V0,
                  string V1)
    newobj   instance void [mscorlib]System.Text.StringBuilder::.ctor()
    stloc.0
    ldloc.0
    ldstr    "{ b = "
    callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string)
    pop
    ldloc.0
    ldarg.0
    ldfld    T0xA000016
    box      var<u1>
    callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object)
    pop
    ldloc.0
    ldstr    ", c = "
    callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string)
    pop
    ldloc.0
    ldarg.0
    ldfld    T0xA000017
    box      var<u1>
    callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object)
    pop
    ldloc.0
    ldstr    " }"
    callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string)
    pop
    ldloc.0
    callvirt instance string [mscorlib]System.Object::ToString()
    stloc.1
    br.s     loc_F7
 
loc_F7:
    ldloc.1
    ret
  }
 
  .method public hidebysig virtual instance bool Equals(object value)
  {
    .maxstack 3
    .locals init (genericinst(class <>f__AnonymousType0`2,19,0) V0,
                  var<u1> V1)
    ldarg.1
    isinst   genericinst(class <>f__AnonymousType0`2,19,0)
    stloc.0
    ldloc.0
    brfalse.s loc_13A
    call     T0xA00001C
    ldarg.0
    ldfld    T0xA000016
    ldloc.0
    ldfld    T0xA000016
    callvirt T0xA00001D
    brfalse.s loc_13A
    call     T0xA00001E
    ldarg.0
    ldfld    T0xA000017
    ldloc.0
    ldfld    T0xA000017
    callvirt T0xA00001F
    br.s     loc_13B
 
loc_13A:                                // CODE XREF: Equals+8j Equals+20j
    ldc.i4.0
 
loc_13B:                                // CODE XREF: Equals+38j
    nop
    stloc.1
    br.s     loc_13F
 
loc_13F:
    ldloc.1
    ret
  }
 
  .method public hidebysig virtual instance int32 GetHashCode()
  {
    .maxstack 3
    .locals init (int32 V0,
                  int32 V1)
    ldc.i4   0x39719293
    stloc.0
    ldc.i4   0xA5555529
    ldloc.0
    mul
    call     T0xA00001C
    ldarg.0
    ldfld    T0xA000016
    callvirt T0xA000020
    add
    stloc.0
    ldc.i4   0xA5555529
    ldloc.0
    mul
    call     T0xA00001E
    ldarg.0
    ldfld    T0xA000017
    callvirt T0xA000021
    add
    stloc.0
    ldloc.0
    stloc.1
    br.s     loc_18C
 
loc_18C:
    ldloc.1
    ret
  }
}

5   голосов, оценка 4.400 из 5


СОХРАНИТЬ ССЫЛКУ