Witam. Czy można w C# wymusić w jednym atrybucie typ przyjmowanych argumentów, na podstawie innego? W kodzie miałoby to wyglądać tak:

 
[GlownyAtrybutu(Type t)]       // <-- jeśli w argumencie użyję, np. typeof(string)
class Klasa
{
    [InnyAtrybut(object o)]     // <-- to tutaj zamiast 'object' (lub czegoś co wstawię w zastępstwie) pojawi się 'string' i będę mógł spokojnie wpisać "słowo". Chodzi tutaj o kontrole na poziomie środowiska, a nie podczas kompilacji (bo wtedy nie byłoby mi to potrzebne). Chodzi mi bardziej o wymuszenie na środowisku pojawiania się odpowiednich typów.
    int value;
}

Od razu powiem, że typy generyczne w atrybutach nie bardzo chcą działać.