Whenever I attempt to set the default value of an optional parameter to something in a resource file, I get a compile-time error of:
Default parameter value for ‘message’ must be a compile-time constant.
Is there any way that I can change how the resource files work to make this possible?
public void ValidationError(string fieldName,
string message = ValidationMessages.ContactNotFound)
In this, ValidationMessages is a resource file.
No, you will not be able to make the resource work directly in the default. What you need to do is set the default value to something like null and then do the resource lookup when the parameter has the default value in the body of the method.