आप स्क्रिप्ट घटक (डेटा प्रवाह कार्य) बनाम स्क्रिप्ट कार्य (नियंत्रण प्रवाह) से त्रुटि बनाम सूचना ईवेंट फायरिंग के लिए समान लेकिन भिन्न सिंटैक्स को भ्रमित कर सकते हैं। घटक के लिए इंटेलिजेंस इंगित करता है कि पैरामीटर pbCancel है जबकि फ़ायरअगेन सूचना कार्य के पैरामीटर से मेल खाता है।
स्क्रिप्ट घटक
C# स्क्रिप्ट घटक उदाहरण
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
bool cancel = false;
bool fireAgain = false;
this.ComponentMetaData.FireInformation(0, "My sub", "info", string.Empty, 0, ref fireAgain);
this.ComponentMetaData.FireError(0, "My sub", "error", string.Empty, 0, out cancel);
}
वीबी घटक
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
Dim cancel As Boolean
Dim fireAgain As Boolean
Me.ComponentMetaData.FireInformation(0, "my sub", "info", String.Empty, 0, fireAgain)
Me.ComponentMetaData.FireError(0, "I hate vb", "Error", String.Empty, 0, cancel)
End Sub
स्पष्ट रूप से यह निर्दिष्ट करने की कोई आवश्यकता नहीं है कि एक पैरामीटर संदर्भ द्वारा है क्योंकि ऐसा लगता है कि परिभाषा बनाम सी # आवश्यकता में इसे आमंत्रण पर भी निर्दिष्ट करने के लिए किया गया है।ByRef बनाम ByVal Clarification
स्क्रिप्ट टास्क
सी#पी>
public void Main()
{
bool fireAgain = false;
this.Dts.Events.FireInformation(0, "my sub", "info", string.Empty, 0, ref fireAgain);
// Note, no cancel available
this.Dts.Events.FireError(0, "my sub", "error", string.Empty, 0);
}
वीबी
Public Sub Main()
Dim fireAgain As Boolean = False
Me.Dts.Events.FireInformation(0, "my sub", "info desc", String.Empty, 0, fireAgain)
Me.Dts.Events.FireError(0, "my sub", "error desc", String.Empty, 0)
Dts.TaskResult = ScriptResults.Success
End Sub
सारांश
- C# के लिए आपको
ref
निर्दिष्ट करने की आवश्यकता है औरout
खोजशब्द। वे समानार्थी नहीं हैं - VB आपको कुछ भी करने देता है
- घटकों में त्रुटि घटना एक रद्द पैरामीटर है