为什么控制台在C ++ / CLI中需要两个冒号?

问题描述 投票:0回答:1

在C#中,我们这样做:

Console.WriteLine("C#");

在C ++ / CLI中,我们使用此语法来使用控制台对象。

Console::WriteLine("C++ CLI");

我们在两个地方都使用.NET对象控制台,为什么我们在C#项目中用dot(。)访问其成员函数WriteLine()但在C ++ / CLI项目中使用两个冒号?

从有关C ++ / CLI的书中说,ConsoleSystem命名空间中的类,为什么::运算符呢?这是一个完全不同的consol e类吗? system命名空间是否也与C#中的命名空间不同?如果可以,为什么他们给它起同样的名字?

c# c++-cli
1个回答
0
投票

这是因为WriteLine是静态方法:

// C#
public static void WriteLine (string value);

scope resolution operator ::用于在C ++中调用静态方法

请参见How do I call a static method of another class (in C++)

© www.soinside.com 2019 - 2024. All rights reserved.