当前位置:在线查询网 > 在线百科全书查询 > safe_cast

safe_cast_在线百科全书查询


请输入要查询的词条内容:

safe_cast


safe_cast allows you to change the type of an expression and generate verifiable MSIL code.

Example

// safe_cast.cpp

// compile with: /clr

using namespace System;

interface class I1 {};

interface class I2 {};

interface class I3 {};

ref class X : public I1, public I2 {};

int main() {

I1^ i1 = gcnew X;

I2^ i2 = safe_cast<I2^>(i1); // OK, I1 and I2 have common type: X

// I2^ i3 = static_cast<I2^>(i1); C2440 use safe_cast instead

try {

I3^ i4 = safe_cast<I3^>(i1); // fail at runtime, no common type

}

catch(InvalidCastException^) {

Console::WriteLine("Caught expected exception");

}

}

//

Caught expected exception

相关分词: safe_cast safe cast