隐式转换字符串的问题

时间:2011-04-11 09:20:33

标签: c#

我有一个Data类型的对象'currentVersion'和'version'的字符串变量,我需要将'版本'的内容分配给'currentVersion' 代码就像这样

    private static DataVersion currentVersion = new DataVersion();

    string version = this_event.variableData[1].atr_value;

and in internal layers 
public SPD_variableData[] variableData;
and 
      /// <summary>
      /// Definition of variable data for events.
      /// </summary>
      public struct SPD_variableData
      {
         /// <summary>
         /// attribute name 
         /// </summary>
         public string attribute;
         /// <summary>
         /// attribute value
         /// </summary>
         public string atr_value;
      }

但是当我做currentVersion =版本时;我收到这样的错误“错误1无法将类型'字符串'隐式转换为'Safe.Model.Data'” 如果是这样的话,我可以将版本中的值分配给currentVersion

2 个答案:

答案 0 :(得分:1)

您不能将字符串转换为任何旧对象 - 在.NET中,任何旧对象都可以使用ToString方法转换为字符串。

如果要在您认为转换为Data对象的字符串中存储有意义的内容,则编写一个方法以从字符串中实例化Data对象。例如:

public static Data FromString(string input)
{
//get something meaningful from the string. eg. if it is a CSV, use split
Data ret = new Data();
string[] fields = input.Split(',');
ret.property1 = fields[0];
ret.property2 = fields[1];
return ret;
}

或者您是否认为可以将字符串转换为Data对象?

更新

这样的东西?

public static DataVersion FromVariableData(SPD_variableData input)
{
    //set the properties of a new object before returning it
    DataVersion ret = new DataVersion();
    ret.attribute = input.attribute;
    ret.atr_value = input.atr_value;
    return ret;
}

答案 1 :(得分:0)

首先,数据似乎不是数组...
第二:哪种类型
编辑:
您更改了代码:级别是什么?它似乎与数据 ...

无关