当前位置: 首页>>代码示例>>C#>>正文


C# Class.IsSupportedStdType方法代码示例

本文整理汇总了C#中Class.IsSupportedStdType方法的典型用法代码示例。如果您正苦于以下问题:C# Class.IsSupportedStdType方法的具体用法?C# Class.IsSupportedStdType怎么用?C# Class.IsSupportedStdType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Class的用法示例。


在下文中一共展示了Class.IsSupportedStdType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: VisitClassDecl

        public override bool VisitClassDecl(Class @class)
        {
            if (!base.VisitClassDecl(@class) || [email protected] ||
                Driver.Options.IsCLIGenerator || [email protected]())
                return false;

            // we only need a few members for marshalling so strip the rest
            switch (@class.Name)
            {
                case "basic_string":
                    foreach (var specialization in @class.Specializations.Where(
                        s => s.IsSupportedStdSpecialization()))
                    {
                        MarkForGeneration(specialization);
                        foreach (var method in specialization.Methods.Where(m => m.OriginalName != "c_str"))
                            method.ExplicitlyIgnore();
                        var l = specialization.Methods.Where(m => m.IsConstructor && m.Parameters.Count == 2).ToList();
                        var ctor = specialization.Methods.Single(m => m.IsConstructor && m.Parameters.Count == 2 &&
                            m.Parameters[0].Type.Desugar().IsPointerToPrimitiveType(PrimitiveType.Char) &&
                            !m.Parameters[1].Type.Desugar().IsPrimitiveType());
                        ctor.GenerationKind = GenerationKind.Generate;
                        foreach (var parameter in ctor.Parameters)
                            parameter.DefaultArgument = null;
                    }
                    break;
                case "allocator":
                    foreach (var specialization in @class.Specializations.Where(
                        s => s.IsSupportedStdSpecialization()))
                    {
                        MarkForGeneration(specialization);
                        foreach (var method in specialization.Methods.Where(m => !m.IsConstructor || m.Parameters.Any()))
                            method.ExplicitlyIgnore();
                    }
                    break;
            }
            return true;
        }
开发者ID:tritao,项目名称:CppSharp,代码行数:37,代码来源:IgnoreSystemDeclarationsPass.cs

示例2: VisitClassDecl

        public override bool VisitClassDecl(Class @class)
        {
            if (VisitDeclarationContext(@class) && [email protected]())
            {
                if (Options.VisitClassBases)
                    foreach (var baseClass in @class.Bases)
                        if (baseClass.IsClass)
                            VisitClassDecl(baseClass.Class);

                new PropertyGenerator(@class, Log).GenerateProperties();
            }
            return false;
        }
开发者ID:tritao,项目名称:CppSharp,代码行数:13,代码来源:GetterSetterToPropertyAdvancedPass.cs


注:本文中的Class.IsSupportedStdType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。