2011-05-09 4 views
0

여러 보고서에 내 포함 된 코드를 사용자 지정 어셈블리로 통합하려고합니다. VS 2008에서 BalancingReportsLibrary라는 C# Library 프로젝트를 만들었습니다. 여기 내 라이브러리의 코드입니다 :SSRS 2008 사용자 지정 어셈블리

using System; using System.Collections.Generic; using System.Linq; using System.Text;

네임 스페이스 BalancingReportsLibrary { 공용 클래스 균형 { 공공 문자열 ComingledPounds (문자열 CoPounds) { 경우 (CoPounds == null이 || CoPounds == "") { 반환 ""; }

 //Column One 
     int index = CoPounds.IndexOf(";"); 
     int length = CoPounds.Length; 

     if (index > 0) 
     { 
      string CoPounds1 = CoPounds.Substring(0, index); 
      return CoPounds1; 
     } 

     //There was just one comingled pound, so just return the value that was passed in 
     return CoPounds; 

    } 

나는이 솔루션을 구축하고이 경로에서 DLL 배치했다 : 나는 함께 보고서 프로젝트를 만들어 \ 프로그램 파일 \의 Microsoft Visual Studio 9.0 \ Common7 \ IDE \ PrivateAssemblies

: C를 보고서. 보고서> 속성> 참조에서 어셈블리 아래에서 DLL을 선택했습니다. =의 BalancingReportsLibrary.Balancing.ComingledPounds (LAST (필드 ComingledGroup.Value)!)

내가 보고서를 미리 볼 때 다음과 같은 오류를 얻을 : 그래서 같은 클래스를 참조 폼의 텍스트 상자를 "표현에 실패했습니다. 비공유 회원에 대한 참조는 객체 참조가 필요합니다."

이 문제를 어떻게 해결할 수 있습니까?

답변

1

당신은 실제로 당신의 균형 클래스를 인스턴스화해야하지만 바로 다음 ComingledPounds 메소드를 호출 같은이 정적 만들고 싶어하지 않는 경우 :

namespace BalancingReportsLibrary 
{ 
    public class Balancing 
    { 
     public static string ComingledPounds(string CoPounds) 
     { 
      if (CoPounds == null || CoPounds == "") 
       return ""; 

      //Column One 
      int index = CoPounds.IndexOf(";"); 
      int length = CoPounds.Length; 

      if (index > 0) { 
       string CoPounds1 = CoPounds.Substring(0, index); 
       return CoPounds1; 
      } 

      //There was just one comingled pound, so just return the value that was passed in 
      return CoPounds; 
     } 
    } 
} 
+0

정적 내 문제를 해결하는 방법을 만들기. – Danielle