Пытаюсь передать методу класс, который лежит в теге кнопки, при создании собственно в самом вызове все хорошо.
public void DrowField()
{
var button = new Button()
{
Tag = new Tag {height=0,width=0 }
}
}
void Panel_Click(object sender, RoutedEventArgs e)
{
var tag = (sender as Button).Tag;
var tag1 = new Tag {height = 0, width = 0 };
proc.Addmass(tag); //ошибка, хотя все свойства на месте
proc.Addmass(tag1); //все OK
}
public void Addmass(Tag obj)
{ }
public class Tag
{public byte height, width;}
Сама ошибка: Ошибка 1 Аргумент "1": преобразование типа из "object" в "tofu.Tag"
Тип свойства Button.Tag
- object
. Это Вы знаете, что там на самом деле тип Tag
, а компилятору это неизвестно. Ваш код
var tag = (sender as Button).Tag;
proc.Addmass(tag);
пытается вызвать proc.Addmass
с параметром, тип которого object
.
Tag tag = (Tag)(sender as Button).Tag;
proc.Addmass(tag);
Это тоже сработает:
var tag = (Tag)(sender as Button).Tag;
proc.Addmass(tag);
что это за уточнение
Это "уточнение" называется "преобразование типа" ("type-cast").
В ffmpeg модуле, а именно в avformat, есть структура под названием AVIndexEntry, и описана она как:
Нужно чтобы переменная proverkaTimera менялась в необходимом интервале времени с false на true и бесконечный цикл заходил бы в тело условия if (proverkaTimera)
Решил вспомнить PHP и написать простую программу, но столкнулся с проблемой доступа к данным из другого потока, не понимаю что не так, вроде...