I’m getting an “An object reference is required for the non-static field, method, or property Skirmer_Final.Nyhed.FK_Nyhed_ID.get” error. And I can’t figure out whats wrong.
My code
public class Nyhed
{
public int FK_Status_ID { get; set; }
public int FK_Nyhed_ID { get; set; }
public static List<Nyhed> GetByStatus(int ID, SqlConnection connection)
{
List<Nyhed> result = new List<Nyhed>();
using (var command = new SqlCommand("Select FK_Nyhed_ID from Status_Kan_Se_Nyhed where FK_Status_ID=@id"))
{
command.Connection = connection;
command.Parameters.AddWithValue("id", ID);
SqlDataReader reader = command.ExecuteReader();
try
{
while (reader.Read())
{
Nyhed StatusKanSeNyhed = new Nyhed();
StatusKanSeNyhed.FK_Status_ID = ID;
StatusKanSeNyhed.FK_Nyhed_ID = reader.GetInt32(0);
result.Add(StatusKanSeNyhed);
}
}
finally
{
reader.Close();
}
foreach (Nyhed N in result)
{
N.status = Status.GetByID(FK_Status_ID, connection);
N.nyhed = Nyhed.GetByID(FK_Nyhed_ID, connection);
}
}
return result;
}
}
Can you see the error?
FK_Nyhed_IDis a property. As such, you need to reference it through an object. I’m guessing the problem is here:You previously referenced
FK_Nyhed_IDon theStatusKanSeNyhedinstance, so I’m guessing you’ll want to referenceN.FK_Nyhed_IDbelow