我用许多不同的方法创建了一个类库(DLL)。并返回不同类型的数据(字符串字符串 [] 双双 [])。因此,我为包含不同数据类型的所有方法创建了一个名为 CustomDataType 的类,因此库中的每个方法都可以返回自定义类的对象,这样就能够返回多种数据类型,我已经这样做了:
public class CustomDataType
{
public double Value;
public string Timestamp;
public string Description;
public string Unit;
// special for GetparamterInfo
public string OpcItemUrl;
public string Source;
public double Gain;
public double Offset;
public string ParameterName;
public int ParameterID;
public double[] arrayOfValue;
public string[] arrayOfTimestamp;
//
public string[] arrayOfParameterName;
public string[] arrayOfUnit;
public string[] arrayOfDescription;
public int[] arrayOfParameterID;
public string[] arrayOfItemUrl;
public string[] arrayOfSource;
public string[] arrayOfModBusRegister;
public string[] arrayOfGain;
public string[] arrayOfOffset;
}
该库包含以下方法:
public CustomDataType GetDeviceParameters(string deviceName)
{
......................
code
getDeviceParametersObj.arrayOfParameterName;
return getDeviceParametersObj;
}
public CustomDataType GetMaxMin(string parameterName, string period, string maxMin)
{
.....................................code
getMaxMingObj.Value = (double)reader["MaxMinValue"];
getMaxMingObj.Timestamp = reader["MeasurementDateTime"].ToString();
getMaxMingObj.Unit = reader["Unit"].ToString();
getMaxMingObj.Description = reader["Description"].ToString();
return getMaxMingObj;
}
public CustomDataType GetSelectedMaxMinData(string[] parameterName, string period, string mode)
{................................code
selectedMaxMinObj.arrayOfValue = MaxMinvalueList.ToArray();
selectedMaxMinObj.arrayOfTimestamp = MaxMintimeStampList.ToArray();
selectedMaxMinObj.arrayOfDescription = MaxMindescriptionList.ToArray();
selectedMaxMinObj.arrayOfUnit = MaxMinunitList.ToArray();
return selectedMaxMinObj;
}
如图所示,不同的方法返回不同的数据类型,它对我来说很好,但是当我导入 DLL 并想要使用这些方法时,Visual Studio 会显示 CustomDataType 类中的所有数据类型作为所有方法的建议,即使返回不同数据。如下图所示。正如我们从图片中看到的,所有不同的返回数据的建议,用户可能会感到困惑并为某些方法选择错误的返回数据。所以我的问题是如何改进这一点。所以 Visual Studio 只建议每种方法的所属返回数据类型。