我想知道如何调用期望Object的类方法...(Object []) 作为参数。
我现在无法在编译时知道我需要传递给它的许多参数,
所以我不能像const { dialog, ipcMain, BrowserWindow} = require('electron');
const {url} = require('url');
var net = require('net');
var spawn = require('child_process').exec;
var cam;
class streamHandler {
constructor(){
this.sendAndReceiveMessageListener();
}
sendAndReceiveMessageListener(){
ipcMain.on('http-request', (event)=>{
let message = "Starting the video stream";
cam = spawn('"C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe" --qt-start-minimized rtsp://192.168.0.75/live --sout "#transcode{acodec=vorb, vcodec=theo}:standard{access=http, mux=ogg, dst=localhost:8090/}"', function(error, stdout, stderr){});
event.sender.send('http-response', (message));
});
ipcMain.on('http-end-stream-request', (event)=>{
let message = "Video stream ended.";
if (typeof cam !== 'undefined' && cam !== null){
cam.kill('');
}
event.sender.send('http-end-stream-response', (message));
});
}
spawnVLC(){
console.log()
}
}
module.exports = new streamHandler();
那样。
我正在进行大型建设,如:
somemethod(1,2,3,4,5)
我试图通过if (param.lengts()==5) {
somemethod(1,2,3,4,5);
} elseif (param.lengts()==4)
somemethod(1,2,3,4);
....
和List<>
,但没有成功。
有一个简单的方法如何将我的动态数组转换为方法?我不能改变方法构造函数。
调用方法的问题,而不是方法内的声明或读取参数。
答案 0 :(得分:1)
您可以使用变量参数:
private void PictureBox_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
//Handle mouse down logic here (press).
}
}
private void PictureBox_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
//Handle mouse move logic here (hold).
}
}
private void PictureBox_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
//Handle mouse up logic here (release).
}
}
并称之为:
private void somemethod(Integer.. array) {
}
如果你有一个arraylist作为输入,你可以这样传递:
somemethod()
somemethod(1)
somemethod(1,2)
答案 1 :(得分:1)
传递数组。
df.End += df.Start
答案 2 :(得分:0)
您可以使用var args:
方法声明:
void somemethod(Object ...){ }
并使用您需要的参数调用此方法。