public static void Accept(this NktParam aParameter, INktParameterVisitor aVisitor) { if (aParameter.IntResourceString > 0) aVisitor.VisitResourceStringParameter(aParameter); else if (!string.IsNullOrEmpty(aParameter.GuidString)) aVisitor.VisitGuidStringParameter(aParameter); else if (aParameter.IsAnsiString || aParameter.IsWideString) aVisitor.VisitStringParameter(aParameter); else if (aParameter.BasicType == eNktDboFundamentalType.ftAnsiChar) aVisitor.VisitAnsiCharParameter(aParameter); else if (aParameter.BasicType == eNktDboFundamentalType.ftWideChar) aVisitor.VisitWideCharParameter(aParameter); else if (aParameter.BasicType == eNktDboFundamentalType.ftDouble) aVisitor.VisitDoubleParameter(aParameter); else if (aParameter.BasicType == eNktDboFundamentalType.ftFloat) aVisitor.VisitFloatParameter(aParameter); else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedByte) aVisitor.VisitSignedByteParameter(aParameter); else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedByte) aVisitor.VisitUnsignedByteParameter(aParameter); else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedWord) aVisitor.VisitSignedWordParameter(aParameter); else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedWord) aVisitor.VisitUnsignedWordParameter(aParameter); else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedDoubleWord) aVisitor.VisitSignedDoubleWordParameter(aParameter); else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedDoubleWord) aVisitor.VisitUnsignedDoubleWordParameter(aParameter); else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedQuadWord) aVisitor.VisitSignedQuadWordParameter(aParameter); else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedQuadWord) aVisitor.VisitUnsignedQuadWordParameter(aParameter); //else if ((aParameter.BasicType) == eNktDboFundamentalType.ftNone) aVisitor.VisitFtNone(aParameter); else if (aParameter.FieldsCount > 0) aVisitor.VisitStructureParameter(aParameter); else if (aParameter.PointerVal == IntPtr.Zero) { aVisitor.VisitNullPointerParameter(aParameter); } else if (aParameter.IsPointerToVoid()) { if (aParameter.LongLongVal > 0xFFFFFFFFL) { aVisitor.VisitUnsignedQuadWordParameter(aParameter); return; } aVisitor.VisitUnsignedDoubleWordParameter(aParameter); } else if (aParameter.PointerVal != IntPtr.Zero) { aVisitor.VisitNonNullPointerParameter(aParameter); } else { throw new InvalidOperationException("Unrecognized parameter type"); } }
public static void Accept(this NktParam aParameter, INktParameterVisitor aVisitor) { if (aParameter.IntResourceString > 0) { aVisitor.VisitResourceStringParameter(aParameter); } else if (!string.IsNullOrEmpty(aParameter.GuidString)) { aVisitor.VisitGuidStringParameter(aParameter); } else if (aParameter.IsAnsiString || aParameter.IsWideString) { aVisitor.VisitStringParameter(aParameter); } else if (aParameter.BasicType == eNktDboFundamentalType.ftAnsiChar) { aVisitor.VisitAnsiCharParameter(aParameter); } else if (aParameter.BasicType == eNktDboFundamentalType.ftWideChar) { aVisitor.VisitWideCharParameter(aParameter); } else if (aParameter.BasicType == eNktDboFundamentalType.ftDouble) { aVisitor.VisitDoubleParameter(aParameter); } else if (aParameter.BasicType == eNktDboFundamentalType.ftFloat) { aVisitor.VisitFloatParameter(aParameter); } else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedByte) { aVisitor.VisitSignedByteParameter(aParameter); } else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedByte) { aVisitor.VisitUnsignedByteParameter(aParameter); } else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedWord) { aVisitor.VisitSignedWordParameter(aParameter); } else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedWord) { aVisitor.VisitUnsignedWordParameter(aParameter); } else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedDoubleWord) { aVisitor.VisitSignedDoubleWordParameter(aParameter); } else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedDoubleWord) { aVisitor.VisitUnsignedDoubleWordParameter(aParameter); } else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedQuadWord) { aVisitor.VisitSignedQuadWordParameter(aParameter); } else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedQuadWord) { aVisitor.VisitUnsignedQuadWordParameter(aParameter); } //else if ((aParameter.BasicType) == eNktDboFundamentalType.ftNone) aVisitor.VisitFtNone(aParameter); else if (aParameter.FieldsCount > 0) { aVisitor.VisitStructureParameter(aParameter); } else if (aParameter.PointerVal == IntPtr.Zero) { aVisitor.VisitNullPointerParameter(aParameter); } else if (aParameter.IsPointerToVoid()) { if (aParameter.LongLongVal > 0xFFFFFFFFL) { aVisitor.VisitUnsignedQuadWordParameter(aParameter); return; } aVisitor.VisitUnsignedDoubleWordParameter(aParameter); } else if (aParameter.PointerVal != IntPtr.Zero) { aVisitor.VisitNonNullPointerParameter(aParameter); } else { throw new InvalidOperationException("Unrecognized parameter type"); } }