1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
//------------------------------------------------------------------------------
// <copyright file="StrongTypingException.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
// <owner current="true" primary="true">Microsoft</owner>
// <owner current="true" primary="false">Microsoft</owner>
// <owner current="false" primary="false">Microsoft</owner>
//------------------------------------------------------------------------------
namespace System.Data {
using System;
using System.Collections;
using System.Data;
using System.Runtime.Serialization;
#if !COREFX
/// <devdoc>
/// <para>DEV: The exception that is throwing from strong typed DataSet when user access to DBNull value.</para>
/// </devdoc>
[Serializable]
public class StrongTypingException : DataException {
protected StrongTypingException(SerializationInfo info, StreamingContext context)
: base(info, context) {
}
/// <devdoc>
/// <para>[To be supplied.]</para>
/// </devdoc>
public StrongTypingException() : base() {
HResult = HResults.StrongTyping;
}
public StrongTypingException(string message) : base(message) {
HResult = HResults.StrongTyping;
}
/// <devdoc>
/// <para>[To be supplied.]</para>
/// </devdoc>
public StrongTypingException(string s, Exception innerException) : base(s, innerException) {
HResult = HResults.StrongTyping;
}
}
#endif
/// <devdoc>
/// <para>DEV: The exception that is throwing in generating strong typed DataSet when name conflict happens.</para>
/// </devdoc>
[Serializable]
public class TypedDataSetGeneratorException : DataException {
private ArrayList errorList;
private string KEY_ARRAYCOUNT = "KEY_ARRAYCOUNT";
private string KEY_ARRAYVALUES = "KEY_ARRAYVALUES";
protected TypedDataSetGeneratorException(SerializationInfo info, StreamingContext context)
: base(info, context) {
int count = (int) info.GetValue(KEY_ARRAYCOUNT, typeof(System.Int32));
if (count > 0) {
errorList = new ArrayList();
for (int i = 0; i < count; i++) {
errorList.Add(info.GetValue(KEY_ARRAYVALUES + i, typeof(System.String)));
}
}
else
errorList = null;
}
/// <devdoc>
/// <para>[To be supplied.]</para>
/// </devdoc>
public TypedDataSetGeneratorException() : base() {
errorList = null;
HResult = HResults.StrongTyping;
}
public TypedDataSetGeneratorException(string message) : base(message) {
HResult = HResults.StrongTyping;
}
public TypedDataSetGeneratorException(string message, Exception innerException) : base(message, innerException) {
HResult = HResults.StrongTyping;
}
/// <devdoc>
/// <para>[To be supplied.]</para>
/// </devdoc>
public TypedDataSetGeneratorException(ArrayList list) : this() {
errorList = list;
HResult = HResults.StrongTyping;
}
/// <devdoc>
/// <para>[To be supplied.]</para>
/// </devdoc>
public ArrayList ErrorList {
get {
return errorList;
}
}
[System.Security.Permissions.SecurityPermissionAttribute(System.Security.Permissions.SecurityAction.LinkDemand, Flags=System.Security.Permissions.SecurityPermissionFlag.SerializationFormatter)]
public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
base.GetObjectData(info, context);
if (errorList != null) {
info.AddValue(KEY_ARRAYCOUNT, errorList.Count);
for (int i = 0; i < errorList.Count; i++) {
info.AddValue(KEY_ARRAYVALUES + i, errorList[i].ToString());
}
}
else {
info.AddValue(KEY_ARRAYCOUNT, 0);
}
}
}
}
|