我有以下代码:
我已经在Powershell(Windows 8)中加载了dll。我尝试以以下方式使用它:
应该返回@(1, 2, 4, 8, 16...)。
但是,它却说没有这样的方法。
我尝试了以下方法:
还是没有任何东西。在IntEx类中我没有命名空间。
我该如何使其工作?
using System;
public static class IntEx
{
/// <summary>
/// Yields a power of the given number
/// </summary>
/// <param name="number">The base number</param>
/// <param name="powerOf">the power to be applied on te base number</param>
/// <returns>Powers applied to the base number</returns>
public static IEnumerable<int> ListPowersOf(this int number, int powerOf)
{
for (var i = number; ; i <<= powerOf)
{
yield return i;
}
}
}
我已经在Powershell(Windows 8)中加载了dll。我尝试以以下方式使用它:
$test = 1.ListPowersOf(2)
应该返回@(1, 2, 4, 8, 16...)。
但是,它却说没有这样的方法。
我尝试了以下方法:
[BaseDllNamespace]::ListPowersOf(1,2)
还是没有任何东西。在IntEx类中我没有命名空间。
我该如何使其工作?
;
,应该加上“using System.Collections.Generic;”。此外,代码会导致无限循环。你可以用“yield return (int)Math.Pow(number, powerOf);”来替换整个“for”循环。 - Keith Hill