My reputation drastically drowned from 140 to 28. I don't know why. There should be some trace why, when and by whom. I checked the reputation tab. But it does not show any such drowning.
Your answer to How do I filter a generic list in .Net2.0? was locked and deleted by the Community user 2 days ago. That's a clear sign that it was voted "spam or offensive" enough times to have it removed, which costs you 100 reputation.
The other -12 probably came from downvotes on that and other answers. As @Ether pointed out in a comment, the additional -12 comes from the -2 that's applied for each individual spam flag.
Check at https://stackoverflow.com/reputation
You can check which answer/question cause your rep drop, but votes are anonymous, you will not see by whom