0

我有一门课叫电影。Movie 有一个movieYear 字符串属性和movieYearInt int 属性。我想要一个类方法,我可以在其中发送电影对象并取回一个对象,该对象已获取movieYear字符串属性并将其值复制到movieYearInt。稍后我将转换对象的更多属性。

这是电影课

 public class movie
{
    public string movieName { get; set; }
    public string movieYear { get; set; }
    public int movieYearInt { get; set; }

    public movie convertFilm(movie m)
    {
        m.movieYearInt = int.Parse(m.movieYear);
        return m;
    }
}

这就是我想以我的形式检索对象的方式

movie m = new movie();
m.movieYear = cmbMovieYear.ToString();  
movie newMovie = m.convertFilm(m);

我得到的错误是:输入字符串的格式不正确我做错了什么?

编辑-这是电影年组合框

List<int> allYears = new List<int>();
allYears.AddRange(Enumerable.Range(1900, 113));
cmbMovieYear.DataSource = allYears;

编辑-

m.movieYear = cmbMovieYear.SelectedItem.ToString();

这就是解决方案。

4

2 回答 2

0

您是否考虑过将movieYearInt 属性的getter 修改为类似的东西,而不是返回转换后的对象?

  public int movieYearInt 
  {
    get
    {
      // add some validation, and consider using System.Int32.TryParse
      return System.Int32.Parse(movieYear);
    }      
  }
于 2013-01-22T13:05:05.370 回答
0
public class movie: ICloneable
{
    public string movieName { get; set; }
    public string movieYear { get; set; }
    public int movieYearInt { get { return int.Parse(movieYear) set {movieYear = value.ToString()}}

    public object Clone()
    {
        return new movie() {movieName = this.movieName, movieYear = this.movieYear};
    }
}

var m = new movie();
m.movieYear = "2001";
var newMovie = (movie) m.Clone();
于 2013-01-22T13:15:40.160 回答