Contract.Call 方法
调用合约。
命名空间:Neo.SmartContract.Framework.Services
程序集:Neo.SmartContract.Framework
#
语法public static extern object Call(UInt160 scriptHash, string method, object[] arguments)
参数:
- scriptHash:合约脚本哈希;
- method:合约方法名;
- arguments:合约方法参数。
#
示例 public class Contract1 : SmartContract { delegate object Dyncall(string method, object[] args);
//0x230cf5ef1e1bd411c7733fa92bb6f9c39714f8f9 的小端序 //HexToBytes()、ToScriptHash() 只能对常量进行操作,不能写在 Main 方法里 //scriptHash 也可以改为从参数传入或从存储区中读取 static UInt160 ScriptHash = "NXsG3zwpwcfvBiA3bNMx6mWZGEro9ZqTqM".ToScriptHash();
public static object Test(string operation, object[] args) { if (operation == "name") { return Contract.Call(ScriptHash, "name", new object[0]); } if (operation == "totalSupply") { return Contract.Call(ScriptHash, "totalSupply", new object[0]); } return true; } }