编译器错误 CS0193
* 或 -> 运算符只能应用于指针
* 或 -> 运算符曾用于非指针类型。 有关详细信息,请参阅指针类型。
下面的示例生成 CS0193:
// CS0193.cs
using System;
public struct Age
{
public int AgeYears;
public int AgeMonths;
public int AgeDays;
}
public class MyClass
{
public static void SetAge(ref Age anAge, int years, int months, int days)
{
anAge->Months = 3; // CS0193, anAge is not a pointer
// try the following line instead
// anAge.AgeMonths = 3;
}
public static void Main()
{
Age MyAge = new Age();
Console.WriteLine(MyAge.AgeMonths);
SetAge(ref MyAge, 22, 4, 15);
Console.WriteLine(MyAge.AgeMonths);
}
}