링크 : http://kozmic.net/dynamic-proxy-tutorial/ 

링크 : http://docs.castleproject.org/Tools.DynamicProxy.ashx

 

저작자 표시 비영리 변경 금지
신고

'.Net > .Net' 카테고리의 다른 글

[.Net] RSA 암호화  (0) 2013.03.13
[.Net] EXE를 포함한 외부 DLL을 같이 배포하기  (0) 2013.02.19
[.Net] Castle DynamicProxy Tutorial  (0) 2013.01.23
[.Net] NuGet  (0) 2013.01.23
[.Net] AOP 프로그래밍  (0) 2013.01.23
[.Net] CodeDomProvider  (0) 2013.01.15
posted by 뚱2

링크 : http://evilimp.tistory.com/255 



저작자 표시 비영리 변경 금지
신고
posted by 뚱2
해당 오프젝트의 타입을 확인하고 메소드가 존재하고 파라미터가 일치한다면
호출해 준다.

// class
public class MyObject
{
    pub int Connect()
    {
        // 접속 ...
    }
    public void GetLastError(out int errorCode, out string errorMessage)
    {
        // 내부 코드들 ...
    }
}


    // ErrorUtil
    public class ErrorUtil
    {
        private static readonly string methodName = "GetLastError";
        private static int errorCode = 0;
        private static string errorMessage = "";

        public static int ErrorCode
        {
            get { return errorCode; }
        }

        public static string ErrorMessage
        {
            get { return errorMessage; }
        }

        public static bool GetLastError(object obj)
        {
            try
            {
                Type t = obj.GetType();
                MethodInfo info = t.GetMethod(
                    ErrorUtil.methodName,
                    BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance,
                    null,
                    new[] 
                    {
                        typeof(int).MakeByRefType(),
                        typeof(string).MakeByRefType()
                    },
                    null
                );

                if (info != null)
                {
                    object[] parameters = new object[2];
                    info.Invoke(obj, parameters);

                    errorCode = (int)parameters[0];
                    errorMessage = (string)parameters[1];
                    return true;
                }
                else
                {
                    errorMessage = String.Format("{0} 메소드를 찾을수 없거나, 파라미터가 정확하지 않습니다.", ErrorUtil.methodName);
                    return false;
                }
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
                return false;
            }
        }
    }


// 사용예
    MyObject oCommpany = new MyObject();
    int retCode = oCompany.Connect();
    if (retCode != 0)
    {
           ErrorUtil.GetLastError(oCompany);
           MessageBox.Show(ErrorUtil.ErrorMessage);
    }


저작자 표시 비영리 변경 금지
신고

'.Net > C#' 카테고리의 다른 글

[C#] log4net  (0) 2012.04.03
[C#] vshosting.exe 가 뭘까요?  (0) 2012.03.26
[C#] Dynamic Method Call With Out Parameter  (0) 2012.03.22
[즐겨찾기] C# TreeView MultiSelect  (0) 2012.03.15
[C#] internal 지정자  (0) 2012.03.12
[즐겨찾기] 무료서적 Inside C# 2nd  (0) 2012.03.10
posted by 뚱2

/**

 * obj  : url or json data

 * data : json data

 */

my.submitWithJson = function(obj, data, target, method) {

    try {

        var param = null;       

        // json object이라면

        if ( obj && Object.prototype.toString.call(obj) === '[object Object]' ) {

            param = {

                 'url'     : obj.url                 || ''

                ,'data'    : obj.data                || {}

                ,'target'  : obj.target              || '_self'

                ,'method'  : obj.method              || 'POST'

            };

        }

        else {

            param = {

                 'url'     : obj                     || ''

                ,'data'    : data                    || {}

                ,'target'  : target                  || '_self'

                ,'method'  : method                  || 'POST'

            }; 

        }

         

        //랜덤한 수를 출력

        var curDate   = new Date();

        var ranNumber = Math.floor(Math.random() * 10000) + 1;

        var strId = "";

            strId += param.target;

            strId += "_";           

            strId += curDate.getFullYear();

            strId += curDate.getMonth();

            strId += curDate.getDay();

            strId += curDate.getHours();

            strId += curDate.getMinutes();

            strId += curDate.getSeconds();

            strId += "_" + ranNumber;

             

        var $newForm = jQuery("<form></form>")

                        .attr("name"  , strId)

                        .attr("id"    , strId)

                        .attr("method", param.method);

        if ( $newForm ) {

            if ( Object.prototype.toString.call(param.data) === "[object Array]") {

                jQuery.each(param.data, function(index, val) {

                    var row = val;

                    jQuery.each(row, function(key, val) { 

                        jQuery("<input type='"hidden"'>")

                            .attr("name" , key)

                            .attr("value", val)

                            .appendTo($newForm);

                    });

                });

                $newForm.appendTo(document.body);

            }

            else {

                jQuery.each(param.data, function(key, val) { 

                    jQuery("<input type='"hidden"'>")

                        .attr("name" , key)

                        .attr("id"   , key)

                        .attr("value", val)

                        .appendTo($newForm);

                });

                $newForm.appendTo(document.body);               

            }

     

            var myForm = $newForm[0];

            myForm.action = param.url;

            myForm.method = param.method;

            myForm.target = param.target;

             

            myForm.submit();

            $newForm.remove();

        }//if ( $popForm ) {

    }

    catch (e) {alert(e.message);}

    finally   {}

}; 


저작자 표시
신고
posted by 뚱2

[Java] Java Dynamic method call

Java/Java 2012.02.09 14:03
링크 : http://www.okjsp.pe.kr/seq/66895


저작자 표시
신고

'Java > Java' 카테고리의 다른 글

[Java] DateFormat  (0) 2012.07.04
[Java] google-gson  (0) 2012.06.22
[Java] Java Dynamic method call  (0) 2012.02.09
[Java] map sort  (0) 2012.02.02
[Java] instanceof 연산자  (0) 2011.11.28
[Java] 날짜표시 YYMMDDHH24MI  (0) 2011.11.21
posted by 뚱2
프로그램을 개발하다보면은 중복되는 코드들이 생기게 됩니다.
그럴때 가장 쉽게 하는 방법은 기존 파일을 복사하는 방법입니다.
거기에 한단계 나아가면 자신만의 라이브러리를 만들게 됩니다.
iOS상에서 static library는 만들어 지는데 dynamic library를 어떻게 만들지 몰라서
찾아보니 보안상의 이유로 안된다는 군요.

출처 :http://stackoverflow.com/questions/4733847/can-create-dynamic-library-for-ios 
 
저작자 표시
신고
posted by 뚱2