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


C# ValidationErrorHandler类代码示例

本文整理汇总了C#中ValidationErrorHandler的典型用法代码示例。如果您正苦于以下问题:C# ValidationErrorHandler类的具体用法?C# ValidationErrorHandler怎么用?C# ValidationErrorHandler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: PeVerify

        private static string[] PeVerify(byte[] peImage, int domainId, string assemblyPath)
        {
            lock (s_guard)
            {
                GCHandle pinned = GCHandle.Alloc(peImage, GCHandleType.Pinned);
                try
                {
                    IntPtr buffer = pinned.AddrOfPinnedObject();

                    ICLRValidator validator = (ICLRValidator)RuntimeEnvironment.GetRuntimeInterfaceAsObject(s_clsIdClrRuntimeHost, typeof(ICLRRuntimeHost).GUID);
                    ValidationErrorHandler errorHandler = new ValidationErrorHandler(validator);

                    IMetaDataDispenser dispenser = (IMetaDataDispenser)RuntimeEnvironment.GetRuntimeInterfaceAsObject(s_clsIdCorMetaDataDispenser, typeof(IMetaDataDispenser).GUID);

                    // the buffer needs to be pinned during validation
                    Guid riid = typeof(IMetaDataImport).GUID;
                    object metaDataImport = null;
                    if (assemblyPath != null)
                    {
                        dispenser.OpenScope(assemblyPath, CorOpenFlags.ofRead, ref riid, out metaDataImport);
                    }
                    else
                    {
                        dispenser.OpenScopeOnMemory(buffer, (uint)peImage.Length, CorOpenFlags.ofRead, ref riid, out metaDataImport);
                    }

                    IMetaDataValidate metaDataValidate = (IMetaDataValidate)metaDataImport;
                    metaDataValidate.ValidatorInit(CorValidatorModuleType.ValidatorModuleTypePE, errorHandler);
                    metaDataValidate.ValidateMetaData();

                    validator.Validate(errorHandler, (uint)domainId, ValidatorFlags.VALIDATOR_EXTRA_VERBOSE,
                        ulMaxError: 10, token: 0, fileName: assemblyPath, pe: buffer, ulSize: (uint)peImage.Length);

                    return errorHandler.GetOutput();
                }
                finally
                {
                    pinned.Free();
                }
            }
        }
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:41,代码来源:CLRHelpers.cs

示例2: Rule02

        private static bool Rule02(string name, NodeIndex nodeIndex, XmlNodeList list, ValidationErrorHandler errorHandler)
        {
            bool		result 	= true;

            foreach (XmlElement context in list) {
                XmlElement	    startDate	= XPath.Path (context, "novation", "firstPeriodStartDate");
                XmlAttribute	href;

                if ((startDate == null) || (href = startDate.GetAttributeNode ("href"))== null) continue;

                XmlElement		target	= nodeIndex.GetElementById (href.Value);

                if ((target == null) || !target.LocalName.Equals("party")) {
                    errorHandler ("305", context,
                        "The @href attribute on the firstPeriodStartDate must reference a party",
                        name, href.Value);

                    result = false;
                }
            }
            return (result);
        }
开发者ID:formicary,项目名称:fpml-toolkit-csharp,代码行数:22,代码来源:BusinessProcessRules.cs

示例3: PerformValidation

 internal bool PerformValidation(NodeIndex nodeIndex, ValidationErrorHandler errorHandler)
 {
     return (Validate (nodeIndex, errorHandler));
 }
开发者ID:formicary,项目名称:fpml-toolkit-csharp,代码行数:4,代码来源:Validator.cs

示例4: Rule01

        private static bool Rule01(string name, NodeIndex nodeIndex, XmlNodeList list,
            ValidationErrorHandler errorHandler)
        {
            bool		result 	= true;

            foreach (XmlElement	 context in list) {
                XmlElement		generic	= XPath.Path (context, "generic");
                XmlAttribute	href;
                XmlElement		target;

                if ((generic == null) ||
                    ((href = generic.GetAttributeNode ("href")) == null) ||
                    ((target = nodeIndex.GetElementById (href.Value)) == null)) continue;

                string targetName = target.LocalName;

                if (targetName.Equals ("basket") ||
                    targetName.Equals ("cash") ||
                    targetName.Equals ("commodity") ||
                    targetName.Equals ("deposit") ||
                    targetName.Equals ("bond") ||
                    targetName.Equals ("convertibleBond") ||
                    targetName.Equals ("equity") ||
                    targetName.Equals ("exchangeTradedFund") ||
                    targetName.Equals ("index") ||
                    targetName.Equals ("future") ||
                    targetName.Equals ("fxRate") ||
                    targetName.Equals ("loan") ||
                    targetName.Equals ("mortgage") ||
                    targetName.Equals ("mutualFund") ||
                    targetName.Equals ("rateIndex") ||
                    targetName.Equals ("simpleCreditDefautSwap") ||
                    targetName.Equals ("simpleFra") ||
                    targetName.Equals ("simpleIrSwap") ||
                    targetName.Equals ("dealSummary") ||
                    targetName.Equals ("facilitySummary")) continue;

                errorHandler ("305", context,
                    "generic/@href must match the @id attribute of an element of type Asset",
                    name, targetName);

                result = false;
            }
            return (result);
        }
开发者ID:formicary,项目名称:fpml-toolkit-csharp,代码行数:45,代码来源:PricingAndRiskRules.cs

示例5: Rule02

        private static bool Rule02(string name, NodeIndex nodeIndex, XmlNodeList list, ValidationErrorHandler errorHandler)
        {
            bool		result 	= true;

            foreach (XmlElement context in list) {
                XmlAttribute	href;
                XmlElement		target;

                if (((href = context.GetAttributeNode ("href")) == null) ||
                    ((target = nodeIndex.GetElementById (href.Value)) == null)) continue;

                string targetName = target.LocalName;

                if (targetName.Equals ("creditCurve") ||
                    targetName.Equals ("fxCurve") ||
                    targetName.Equals ("volatilityRepresentation") ||
                    targetName.Equals ("yieldCurve")) continue;

                errorHandler ("305", context,
                    "@href must match the @id attribute of an element of type PricingStructure",
                    name, targetName);

                result = false;
            }
            return (result);
        }
开发者ID:formicary,项目名称:fpml-toolkit-csharp,代码行数:26,代码来源:PricingAndRiskRules.cs

示例6: Rule16

        // --------------------------------------------------------------------
        private static bool Rule16(string name, NodeIndex nodeIndex, ValidationErrorHandler errorHandler)
        {
            bool			result = true;

            foreach (XmlElement context in nodeIndex.GetElementsByName ("creditDefaultSwap")) {
                if (Implies (
                        And (
                            Equal (
                                Count (XPath.Paths (context, "generalTerms", "referenceInformation", "referenceObligation")), 1),
                            Exists (XPath.Path (context, "cashSettlementTerms", "valuationDate", "multipleValuationDates"))),
                        Or (
                            Equal (
                                XPath.Path (context, "cashSettlementTerms", "valuationMethod"),
                                "AverageMarket"),
                            Or (
                                Equal (
                                    XPath.Path (context, "cashSettlementTerms", "valuationMethod"),
                                    "Highest"),
                                Equal (
                                    XPath.Path (context, "cashSettlementTerms", "valuationMethod"),
                                    "AverageHighest")))))
                    continue;

                errorHandler ("305", context,
                    "If there is exactly one generalTerms/referenceInformation/referenceObligation " +
                    "and cashSettlementTerms/valuationDate/multipleValuationDates occurs " +
                    "then the value of cashSettlementTerms/valuationMethod must be " +
                    "AverageMarket, Highest or AverageHighest",
                    name, XPath.Path (context, "cashSettlementTerms", "valuationMethod").InnerText);

                result = false;
            }
            return (result);
        }
开发者ID:formicary,项目名称:fpml-toolkit-csharp,代码行数:35,代码来源:CdsRules.cs

示例7: Rule13

        // --------------------------------------------------------------------
        private static bool Rule13(string name, NodeIndex nodeIndex, ValidationErrorHandler errorHandler)
        {
            bool			result	= true;

            foreach (XmlElement context in nodeIndex.GetElementsByName ("creditDefaultSwap")) {
                foreach (XmlElement buyer in XPath.Paths (context, "protectionTerms", "creditEvents", "creditEventNotice", "notifyingParty", "buyerPartyReference")) {
                    string		buyerName;
                    string		referenceName;

                    if (Equal (
                            buyerName = buyer.GetAttribute ("href"),
                            referenceName = XPath.Path (context, "generalTerms", "buyerPartyReference").GetAttribute ("href")))
                        continue;

                    errorHandler ("305", context,
                        "Credit event notice references buyer party reference " + buyerName +
                        " but general terms references " + referenceName,
                        name, null);

                    result = false;
                }
            }
            return (result);
        }
开发者ID:formicary,项目名称:fpml-toolkit-csharp,代码行数:25,代码来源:CdsRules.cs

示例8: Rule11

        // --------------------------------------------------------------------
        private static bool Rule11(string name, NodeIndex nodeIndex, ValidationErrorHandler errorHandler)
        {
            bool			result	= true;

            foreach (XmlElement trade in nodeIndex.GetElementsByName ("trade")) {
                if (IsIsda2003 (trade) && IsLongForm (trade)) {
                    XmlElement	context = XPath.Path (trade, "creditDefaultSwap", "generalTerms", "referenceInformation") as XmlElement;

                    if (Exists (XPath.Path (context, "allGuarantees"))) continue;

                    errorHandler ("305", context,
                        "allGuarantees element missing in protection terms",
                        name, null);

                    result = false;
                }
            }
            return (result);
        }
开发者ID:formicary,项目名称:fpml-toolkit-csharp,代码行数:20,代码来源:CdsRules.cs

示例9: Rule44

 // --------------------------------------------------------------------
 private static bool Rule44(string name, NodeIndex nodeIndex, ValidationErrorHandler errorHandler)
 {
     return (Rule44 (name, nodeIndex.GetElementsByName ("creditDefaultSwap"), errorHandler));
 }
开发者ID:formicary,项目名称:fpml-toolkit-csharp,代码行数:5,代码来源:CdsRules.cs

示例10: Rule43

        // --------------------------------------------------------------------
        private static bool Rule43(string name, NodeIndex nodeIndex, ValidationErrorHandler errorHandler)
        {
            bool		result 	= true;

            foreach (XmlElement context in nodeIndex.GetElementsByName ("creditDefaultSwap")) {
                if (!IsSingleName (context)) continue;

                if (!Exists (XPath.Path(context, "feeLeg", "initialPayment"))) continue;

                XmlElement	payer		= XPath.Path (context, "feeLeg", "initialPayment", "payerPartyReference");
                XmlElement	receiver 	= XPath.Path (context, "feeLeg", "initialPayment", "receiverPartyReference");
                XmlElement	seller		= XPath.Path (context, "generalTerms", "sellerPartyReference");
                XmlElement	buyer		= XPath.Path (context, "generalTerms", "buyerPartyReference");

                if ((payer != null) && (seller != null) && (receiver != null) && (buyer != null)) {
                    if (payer.GetAttribute ("href").Equals (buyer.GetAttribute ("href")) &&
                        receiver.GetAttribute ("href").Equals (seller.GetAttribute ("href")))
                        continue;
                }

                errorHandler ("305", context,
                    "The initial payment should be paid by the protection buyer to the protection seller",
                    name, null);

                result = false;
            }
            return (result);
        }
开发者ID:formicary,项目名称:fpml-toolkit-csharp,代码行数:29,代码来源:CdsRules.cs

示例11: Rule42

        // --------------------------------------------------------------------
        private static bool Rule42(string name, NodeIndex nodeIndex, ValidationErrorHandler errorHandler)
        {
            bool		result 	= true;

            foreach (XmlElement context in nodeIndex.GetElementsByName ("generalTerms")) {
                XmlElement	basket			= XPath.Path (context, "basketReferenceInformation");
                XmlElement	substitution	= XPath.Path (context, "substitution");

                if ((basket == null) && (substitution != null)) {
                    errorHandler ("305", context,
                        "If basketReferenceInformation is not present then substitution must not be present.",
                        name, null);

                    result = false;
                }
            }
            return (result);
        }
开发者ID:formicary,项目名称:fpml-toolkit-csharp,代码行数:19,代码来源:CdsRules.cs

示例12: Rule41

        // --------------------------------------------------------------------
        private static bool Rule41(string name, NodeIndex nodeIndex, ValidationErrorHandler errorHandler)
        {
            bool		result 	= true;

            foreach (XmlElement context in nodeIndex.GetElementsByName ("generalTerms")) {
                XmlElement		tranche		= XPath.Path (context, "indexReferenceInformation", "tranche");
                XmlElement		delivery	= XPath.Path (context, "modifiedEquityDelivery");

                if ((tranche == null) && (delivery != null)) {
                    errorHandler ("305", context,
                        "If indexReferenceInformation/tranche is not present then modifiedEquityDelivery must not be present.",
                        name, null);

                    result = false;
                }
            }
            return (result);
        }
开发者ID:formicary,项目名称:fpml-toolkit-csharp,代码行数:19,代码来源:CdsRules.cs

示例13: Rule40

        private static bool Rule40(string name, XmlNodeList list, ValidationErrorHandler errorHandler)
        {
            bool		result = true;

            foreach (XmlElement context in list) {
                XmlElement	tranche	= XPath.Path (context, "generalTerms", "indexReferenceInformation", "tranche");
                XmlElement	attach	= XPath.Path (tranche, "attachmentPoint");
                XmlElement	exhaust	= XPath.Path (tranche, "exhaustionPoint");

                if ((attach == null) || (exhaust == null) || LessOrEqual (ToDecimal (attach), ToDecimal (exhaust))) continue;

                errorHandler ("305", tranche,
                        "attachmentPoint must be less than or equal to exhaustionPoint.",
                        name, null);

                result = false;
            }
            return (result);
        }
开发者ID:formicary,项目名称:fpml-toolkit-csharp,代码行数:19,代码来源:CdsRules.cs

示例14: Rule39

        private static bool Rule39(string name, XmlNodeList list, ValidationErrorHandler errorHandler)
        {
            bool		result = true;

            foreach (XmlElement context in list) {
                XmlElement	info	= XPath.Path (context, "generalTerms", "basketReferenceInformation");
                XmlElement	nth		= XPath.Path (context, "nthToDefault");
                XmlElement	mth		= XPath.Path (context, "mthToDefault");

                if ((nth == null) || (mth == null) || (ToInteger (nth) < ToInteger (mth))) continue;

                errorHandler ("305", info,
                        "If nthToDefault is present and mthToDefault is present then nthToDefault must be less than mthToDefault.",
                        name, null);

                result = false;
            }
            return (result);
        }
开发者ID:formicary,项目名称:fpml-toolkit-csharp,代码行数:19,代码来源:CdsRules.cs

示例15: Rule38

        private static bool Rule38(string name, XmlNodeList list, ValidationErrorHandler errorHandler)
        {
            bool		result = true;

            foreach (XmlElement context in list) {
                XmlElement 	pool	= XPath.Path (context, "generalTerms", "basketReferenceInformation", "referencePool");
                XmlNodeList	items	= XPath.Paths (pool, "referencePoolItem", "constituentWeight", "basketPercentage");

                if (items.Count == 0) continue;

                Decimal total = 0;
                foreach (XmlElement item in items)
                    total += ToDecimal (item);

                if (Equal (total, decimal.One)) continue;

                errorHandler ("305", pool,
                        "The sum of referencePoolItem/constituentWeight/basketPercentage should be equal to 1",
                        name, total.ToString ());

                result = false;
            }
            return (result);
        }
开发者ID:formicary,项目名称:fpml-toolkit-csharp,代码行数:24,代码来源:CdsRules.cs


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