Я пытаюсь сделать связь между объектами, использующими ADO.Используйте ключевое слово 'new'
public class Banner
{
public int IdBanner { get; set; }
public string NameBanner { get; set; }
public string Media { get; set; }
public Country Country{ get; set; }
}
public class Country
{
public int IdCountry { get; set; }
public string NameCountry { get; set; }
}
И в моем другом классе (DAL), у меня есть метод, и этот метод мне нужно вставить свойства внутри Country класса, как мой Exemple:
public List<Banner> Listar()
{
List<Banner> lista = new List<Banner>();
using (SqlConnection conn = ConnectionDAL.GetConnection())
{
String sql = "BannerListar";
using (SqlCommand command = new SqlCommand(sql, conn))
{
command.CommandType = CommandType.StoredProcedure;
try
{
conn.Open();
SqlDataReader dr = command.ExecuteReader();
while (dr.Read())
{
Banner obj = new Banner();
if (dr["IdBanner"] != DBNull.Value)
obj.IdBanner = Convert.ToInt32(dr["IdBanner"]);
if (dr["NameBanner"] != DBNull.Value)
obj.NameBanner = dr["NameBanner"].ToString();
if (dr["Media"] != DBNull.Value)
obj.Media = dr["Media"].ToString();
//HERE the problem
if (dr["NameCountry"] != DBNull.Value)
obj.Country.NameCountry = dr["NameCountry"].ToString();
lista.Add(obj);
}
}
catch
{
throw;
}
finally
{
conn.Close();
conn.Dispose();
}
return lista;
}
}
}
Когда я делаю это шоу для me erro вот так: «Используйте« новое »ключевое слово для создания экземпляра объекта« Как его исправить?
На какой строке вы получаете сообщение об ошибке? – Adil
Здесь: if (dr ["NameCountry"]! = DBNull.Value) obj.Country.NameCountry = dr ["NameCountry"]. ToString(); – user1887732
В то время как ошибка есть. Ошибка в основном потому, что вы пытаетесь создать экземпляр какого-либо класса без нового ключевого слова. – Dnyanesh