C #: Custom casting do typu wartości

Czy możliwe jest rzutowanie klasy niestandardowej na typ wartości?

Oto przykład:

var x = new Foo();
var y = (int) x; //Does not compile 

Czy to możliwe, aby to się stało? Czy muszę coś przeciążaćFoo ?