J'utilise la bibliothèque OracleClient
version 1.0.5000.0 et je suis confus au sujet de la classe OracleParameter
et son implémentation de ICloneable
.Pourquoi OracleParameter implémente ICloneable mais ne fournit pas Clone()?
Telle est la définition de la classe OracleParameter
:
public sealed class OracleParameter : MarshalByRefObject, IDbDataParameter, IDataParameter, ICloneable {
public OracleParameter();
public OracleParameter(string name, object value);
public OracleParameter(string name, OracleType oracleType);
public OracleParameter(string name, OracleType oracleType, int size);
public OracleParameter(string name, OracleType oracleType, int size, string srcColumn);
public OracleParameter(string name, OracleType oracleType, int size, ParameterDirection direction, bool isNullable, byte precision, byte scale, string srcColumn, DataRowVersion srcVersion, object value);
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[RefreshProperties(RefreshProperties.All)]
[Browsable(false)]
public DbType DbType { get; set; }
[RefreshProperties(RefreshProperties.All)]
public ParameterDirection Direction { get; set; }
[Browsable(false)]
[DesignOnly(true)]
[EditorBrowsable(EditorBrowsableState.Never)]
[DefaultValue(false)]
public bool IsNullable { get; set; }
[DefaultValue(0)]
[Browsable(false)]
public int Offset { get; set; }
[RefreshProperties(RefreshProperties.All)]
public OracleType OracleType { get; set; }
[DefaultValue("")]
public string ParameterName { get; set; }
[DefaultValue(0)]
public byte Precision { get; set; }
[DefaultValue(0)]
public byte Scale { get; set; }
[DefaultValue(0)]
public int Size { get; set; }
[DefaultValue("")]
public string SourceColumn { get; set; }
public DataRowVersion SourceVersion { get; set; }
[DefaultValue("")]
[RefreshProperties(RefreshProperties.All)]
[TypeConverter(typeof(StringConverter))]
public object Value { get; set; }
public override string ToString();
}
Il met en œuvre System.ICloneable
, mais il n'y a pas de méthode Clone()
là-dedans.
Quelqu'un peut-il expliquer cela?
Êtes-vous sûr que c'est la classe entière? Où avez-vous reçu le code? Réflecteur? Vous êtes sûr de tout voir? – BFree
studio visuel 2008 F12 - donc des métadonnées. Hmmm ... le réflecteur montre l'objet ICloneable.Clone() ce qui est intéressant ... –