No, you can't.
You can add the following generic constraint:
T MyMethod() where T : struct {}
And then:
bool expression.MyMethod(); //OK
int expression.MyMethod(); //OK
string expression.MyMethod(); //fails! string is a reference type
struct MyStruct {}
MyStruct MyMethod(); //OK! MyStruct is a value type
class MyCustomClass {}
MyCustomClass MyMethod(); //FAILS! MyCustomClass is a reference type
But you can't add compile time constraints for int and string simultaneously.