System.Runtime.Serialization.XsdDataContractExporter.CanExport C# (CSharp) Method

CanExport() public method

public CanExport ( ICollection assemblies ) : bool
assemblies ICollection
return bool
        public bool CanExport(ICollection<Assembly> assemblies)
        {
            if (assemblies == null)
                throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException(nameof(assemblies)));

            DataContractSet oldValue = (_dataContractSet == null) ? null : new DataContractSet(_dataContractSet);
            try
            {
                foreach (Assembly assembly in assemblies)
                {
                    if (assembly == null)
                        throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.Format(SR.CannotExportNullAssembly, nameof(assemblies))));

                    Type[] types = assembly.GetTypes();
                    for (int j = 0; j < types.Length; j++)
                        CheckAndAddType(types[j]);
                }
                AddKnownTypes();
                return true;
            }
            catch (InvalidDataContractException)
            {
                _dataContractSet = oldValue;
                return false;
            }
            catch (Exception ex)
            {
                if (DiagnosticUtility.IsFatal(ex))
                {
                    throw;
                }
                _dataContractSet = oldValue;
                TraceExportError(ex);
                throw;
            }
        }

Same methods

XsdDataContractExporter::CanExport ( ICollection types ) : bool
XsdDataContractExporter::CanExport ( System type ) : bool
XsdDataContractExporter::CanExport ( System assemblies ) : bool
XsdDataContractExporter::CanExport ( System types ) : bool
XsdDataContractExporter::CanExport ( Type type ) : bool

Usage Example

コード例 #1
0
		public void CanExportTest ()
		{
			XsdDataContractExporter xdce = new XsdDataContractExporter ();
			Assert.IsTrue (xdce.CanExport (typeof (int)), "#1");
			Assert.IsTrue (xdce.CanExport (typeof (dc)), "#2");

			//No DataContract/Serializable etc -> changed in 3.5
			Assert.IsTrue (xdce.CanExport (this.GetType ()), "#3");
		}
All Usage Examples Of System.Runtime.Serialization.XsdDataContractExporter::CanExport