Indicates a parameter that is to be passed from the caller to the called method. This information is useful for custom marshaling.
[in]
Parameter declarations.
in is a single-use attribute. in is an alias for System.InterOp.InAttribute.
The in attribute can be used in combination with the out attribute. If a parameter has neither in nor out specified, its marshaling depends on its parameter modifiers: the ref modifier implies [in, out] marshaling; the out modifier implies [out] marshaling; the absence of any modifier implies [in] marshaling.
In this hypothetical spelling-checker interface, the word to be checked is marshaled [in]
to the CheckSpelling
method and an array of suggested spellings is marshaled [out]
to the caller:
interface ISpellCheck { bool CheckSpelling([in]string word, [out]out string[] suggestions); }