[英]Determining the number of parameters accepted by a method
是否可以獲取方法接受的參數數量,然后單獨訪問這些參數的值? 我想創建一個方法,它連接方法的所有參數的值,除了最后一個參數。 但是,參數的數量和參數的名稱取決於所訪問的方法。
是否可以執行類似於以下偽代碼的操作?
StringBuilder string = new StringBuilder();
for(int i = 0; i < Method.Parameters.Count - 1; i++)
{
string.Append(Method.Parameters[i].Value);
}
非常感謝你 :)
這樣做:
Type.GetType("MyClassType").GetMethod("foo").GetParameters().Length;
如果你有一個像這樣的方法
void Foo(string s, int x, int y, bool flag)
那么你不需要以編程方式確定參數的數量 - 你已經知道有4個參數。
{
StringBuilder sb = new StringBuilder().Append(s)
.Append(x)
.Append(y);
}
如果您希望該方法接受任意數量的參數,那么您可以使用params
關鍵字來定義您的方法,如下所示:
void Baz(params object[] args)
參數作為數組傳遞給您的方法,因此您可以從數組長度確定參數的數量:
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < args.Length - 1; i++)
{
sb.Append(args[i]);
}
}
用法:
Baz("xyzzy", 42, 0, false);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.