public static TResult? Map<T, TResult>(
	this T self,
	NullableExtensionsClassToStructFunc<T, TResult> map
)
where T : class
where TResult : struct, new()
<ExtensionAttribute>
Public Shared Function Map(Of T As Class, TResult As {Structure, New}) ( 
	self As T,
	map As NullableExtensionsClassToStructFunc(Of T, TResult)
) As TResult?
Dim self As T
Dim map As NullableExtensionsClassToStructFunc(Of T, TResult)
Dim returnValue As TResult?
returnValue = self.Map(map)public:
[ExtensionAttribute]
generic<typename T, typename TResult>
where T : ref class
where TResult : value class, gcnew()
static Nullable<TResult> Map(
	T self, 
	NullableExtensionsClassToStructFunc<T, TResult>^ map
)The map function is only called if self is not .