本文整理汇总了C#中ISecurityProvider.LookupById方法的典型用法代码示例。如果您正苦于以下问题:C# ISecurityProvider.LookupById方法的具体用法?C# ISecurityProvider.LookupById怎么用?C# ISecurityProvider.LookupById使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISecurityProvider
的用法示例。
在下文中一共展示了ISecurityProvider.LookupById方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetUnderlyingAsset
/// <summary>
/// To get the underlying asset by the derivative.
/// </summary>
/// <param name="derivative">The derivative.</param>
/// <param name="provider">The provider of information about instruments.</param>
/// <returns>Underlying asset.</returns>
public static Security GetUnderlyingAsset(this Security derivative, ISecurityProvider provider)
{
if (derivative == null)
throw new ArgumentNullException("derivative");
if (provider == null)
throw new ArgumentNullException("provider");
if (derivative.Type == SecurityTypes.Option)
{
derivative.CheckOption();
return _underlyingSecurities.SafeAdd(derivative, key =>
{
var underlyingSecurity = provider.LookupById(key.UnderlyingSecurityId);
if (underlyingSecurity == null)
throw new InvalidOperationException(LocalizedStrings.Str704Params.Put(key.UnderlyingSecurityId));
return underlyingSecurity;
});
}
else
{
return provider.LookupById(derivative.UnderlyingSecurityId);
}
}
示例2: GetAsset
/// <summary>
/// To get the underlying asset.
/// </summary>
/// <param name="derivative">The derivative.</param>
/// <param name="provider">The provider of information about instruments.</param>
/// <returns>Underlying asset.</returns>
public static Security GetAsset(this Security derivative, ISecurityProvider provider)
{
var asset = provider.LookupById(derivative.UnderlyingSecurityId);
if (asset == null)
throw new ArgumentException(LocalizedStrings.Str705Params.Put(derivative));
return asset;
}