[ORD c#] c# 的PolyfaceVisitor获取Mesh

我在参考c++例子的时候发现ELementHandle类型在Bentley.DgnPlatform下,Bentley.DgnPlatformNET并无法创建这个对象,那么按照下面的方法我就无法继续获取了,求解

void meshQuery(WCharCP  unparsed)
    {
    ElementHandle eh(849L, ACTIVEMODEL);
    if (!eh.IsValid())
        {
        mdlDialog_dmsgsPrint(L"invalid element id");
        return;
        }
    auto meshQuery = dynamic_cast<IMeshQuery*>(&eh.GetHandler());
    if (nullptr == meshQuery)
        return;
    
    PolyfaceHeaderPtr pMesh;
    meshQuery->GetMeshData(eh, pMesh);
    size_t numVertex, numFacet, numQuad, numTriangle, numImplicitTriangle, numVisEdges, numInvEdges;
    pMesh->CollectCounts(numVertex, numFacet, numQuad, numTriangle, numImplicitTriangle, numVisEdges, numInvEdges);
    WPrintfString myStr(L"mesh style = %d, numVertex = %d, numFacet = %d, numQuad = %d, numTriangle = %d",
                        pMesh->GetMeshStyle(), numVertex, numFacet, numQuad, numTriangle);
    mdlDialog_dmsgsPrint(myStr.GetWCharCP());

    PolyfaceVisitorPtr pv = PolyfaceVisitor::Attach(*pMesh);
    int nFace = 1;
    while (pv->AdvanceToNextFace())
        {
        myStr.Sprintf(L"------------ face %d ------------", nFace);
        mdlDialog_dmsgsPrint(myStr.GetWCharCP());
        BlockedVectorDPoint3dR pts = pv->Point();
        for (DPoint3d pt : pts)
            {
            myStr.Sprintf(L"x = %.2f, y = %.2f, z = %.2f", pt.x, pt.y, pt.z);
            mdlDialog_dmsgsPrint(myStr.GetWCharCP());
            }
        nFace++;
        }
    }