Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Operator "operator" nie może być stosowany do operandów typu "type" i "type"
Operator binarny jest stosowany do typów danych, które nie obsługują tego typu. Na przykład nie można użyć operatora w ciągach, nie można użyć ||+operatorów , -, <lub > w zmiennych logicznych i nie można użyć == operatora z typem struct
, chyba że typ jawnie przeciąża tego operatora.
Operator można przeciążyć, aby obsługiwał operandy niektórych typów. Aby uzyskać więcej informacji, zobacz Przeciążenie operatora.
W poniższym przykładzie cs0019 jest generowany w trzech miejscach, ponieważ wartość logiczna w języku C# nie jest konwertowana na int. CS0019 jest również generowany, gdy operator -
odejmowania jest stosowany do ciągu. Operator +
dodawania może być używany z operandami ciągów, ponieważ ten operator jest przeciążony przez klasę String
do łączenia ciągów.
static void Main()
{
bool result = true;
if (result > 0) //CS0019
{
// Do something.
}
int i = 1;
// You cannot compare an integer and a boolean value.
if (i == true) //CS0019
{
//Do something...
}
string s = "Just try to subtract me.";
float f = 100 - s; // CS0019
}
W poniższym przykładzie logika warunkowa musi być określona poza elementem ConditionalAttribute. Do pliku można przekazać tylko jeden wstępnie zdefiniowany symbol ConditionalAttribute.
Poniższy przykład generuje PLIK CS0019:
// CS0019_a.cs
// compile with: /target:library
using System.Diagnostics;
public class MyClass
{
[ConditionalAttribute("DEBUG" || "TRACE")] // CS0019
public void TestMethod() {}
// OK
[ConditionalAttribute("DEBUG"), ConditionalAttribute("TRACE")]
public void TestMethod2() {}
}
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: