【发布时间】:2009-08-25 21:23:32
【问题描述】:
我正在使用 OracleClient 库版本 1.0.5000.0,我对 OracleParameter 类及其 ICloneable 的实现感到困惑。
这是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();
}
它实现了System.ICloneable,但是里面没有Clone()方法。
谁能解释一下?
【问题讨论】:
-
你确定这是整个班级吗?你从哪里得到的代码?反光板?你确定你都看到了吗?
-
visual studio 2008 F12 - 所以来自元数据。嗯...反射器确实显示了有趣的对象 ICloneable.Clone()...
标签: c# .net oracleclient